Skip to main content
Webhook endpoints let your application receive events from WhatsApp Use.

Create an endpoint

Use an API key with webhooks:manage.
cURL
curl -X POST \
  -H "Authorization: Bearer $WHATSAPP_USE_API_KEY" \
  -H "Content-Type: application/json" \
  "$WHATSAPP_USE_BASE_URL/v1/webhooks/endpoints" \
  -d '{
    "url": "https://example.com/webhooks/whatsapp-use",
    "description": "Production webhook",
    "event_types": ["*"],
    "enabled": true
  }'
The response includes a secret. Store it when you create the endpoint. Use it to verify webhook signatures.

Delivery format

Webhook requests use JSON:
{
  "id": "evt_20260606173000.000000000",
  "type": "whatsapp.connection.status_changed",
  "source": "whatsapp",
  "user_id": "org_...",
  "api_key_id": "key_...",
  "payload": {
    "status": "paired"
  },
  "occurred_at": "2026-06-06T17:30:00Z"
}

Signature headers

Each delivery includes:
HeaderDescription
X-Whatsapp-Use-Event-IdEvent ID.
X-Whatsapp-Use-Event-TypeEvent type.
X-Whatsapp-Use-TimestampUnix timestamp used for signing.
X-Whatsapp-Use-SignatureSignature in the form t=<timestamp>,v1=<signature>.

Test an endpoint

cURL
curl -X POST \
  -H "Authorization: Bearer $WHATSAPP_USE_API_KEY" \
  "$WHATSAPP_USE_BASE_URL/v1/webhooks/endpoints/we_123/test"