Developer Documentation

API Documentation

Integrate with our platform using webhooks and public APIs. Full documentation for WhatsApp, Stripe, and Clerk integrations.

Quick Start

Get up and running in minutes with our step-by-step guide.

1

Test the Health Endpoint

Verify the API is accessible and all services are running.

Requestbash
curl https://your-domain.com/api/health
2

Configure Webhooks

Set up webhook URLs in your third-party dashboards.

Webhook URLstext
# WhatsApp (Meta Developer Dashboard)
https://<your-convex-deployment>.convex.site/whatsapp-webhook

# Stripe (Stripe Dashboard)
https://your-domain.com/api/webhooks/stripe

# Clerk (Clerk Dashboard)
https://your-domain.com/api/webhooks/clerk
3

Set Environment Variables

Configure your secrets for signature verification.

.envenv
# WhatsApp
# Configure these in Convex env vars (not Vercel app server)
WHATSAPP_WEBHOOK_VERIFY_TOKEN=your_token
META_APP_SECRET=your_secret

# Stripe
STRIPE_WEBHOOK_SECRET=whsec_xxx

# Clerk
CLERK_WEBHOOK_SECRET=svix_xxx
4

Verify Integration

Expected response when all services are healthy.

Responsejson
{
  "status": "healthy",
  "timestamp": "2026-01-15T10:30:00.000Z",
  "services": {
    "convex": { "status": "healthy" },
    "whatsapp": { "status": "healthy" },
    "openrouter": { "status": "healthy" },
    "stripe": { "status": "healthy" }
  }
}
Webhooks

Webhook Endpoints

Stripe and Clerk webhooks on the app server. WhatsApp webhook is hosted directly on Convex.

WhatsApp (Meta) endpoint: https://<your-convex-deployment>.convex.site/whatsapp-webhook

Stripe Webhook

POST/api/webhooks/stripe

Handle subscription lifecycle and payment events

stripe-signature

Clerk Webhook

POST/api/webhooks/clerk

User lifecycle events (created, updated, deleted)

svix-signature
Public API

Public Endpoints

Health checks, checkout sessions, and data exports.

Health Check

GET/api/health

Monitor system health and service availability

None

Create Checkout Session

POST/api/checkout/create-session

Create Stripe checkout session for subscription purchases

Clerk Session

Export User Data

GET/api/export/data

LGPD-compliant user data export

Clerk Session

Export Guest Contacts

GET/api/export/guests

Export guest contacts for marketing campaigns

Clerk Session
Security

Authentication

Secure your integrations with proper authentication.

Meta signs all webhook payloads using HMAC-SHA256 with your App Secret.

Verificationjavascript
const crypto = require('crypto');

function verifySignature(payload, signature, appSecret) {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', appSecret)
    .update(payload)
    .digest('hex');

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Rate Limits

Understand our rate limiting policies to build reliable integrations.

EndpointLimitPeriodAuth
/api/healthUnlimited-None
/api/checkout/create-session10 requestsPer minuteSession
/api/export/data10 requestsPer hourSession
/api/export/guests50 requestsPer hourSession
/api/webhooks/{stripe,clerk}Unlimited-Signature

Full Documentation

Access the complete API documentation in our repository.

Ready to integrate?

Start building with our API today. Free trial includes full API access.

Medimos o tráfego de forma anônima, sem cookies e sem gravação de sessão, para entender quais conteúdos e CTAs ajudam anfitriões a chegar ao produto. Ao permitir, usamos cookies e o pixel de anúncios para medições mais precisas. Você pode recusar sem perder nenhuma função.