API by router
Whatsapp webhook
Whatsapp Webhook Verify
Meta webhook verification (GET). Returns challenge if verify_token matches.
Meta sends this when you register the webhook URL. We look up the verify_token across all WhatsApp channel_endpoints to find a match.
Query Parameters
hub.mode?Hub.Mode
hub.verify_token?Hub.Verify Token
hub.challenge?Hub.Challenge
Response Body
curl -X GET "https://loading/hooks/whatsapp?hub.mode=string&hub.verify_token=string&hub.challenge=string"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Whatsapp Webhook Inbound
Receive inbound WhatsApp messages from Meta.
Flow:
- Verify signature (X-Hub-Signature-256)
- Parse message
- Route via channel_endpoints (phone_number_id → instance)
- Forward to agent runtime over WireGuard
- Return 200 immediately (async processing)
Response Body
curl -X POST "https://loading/hooks/whatsapp"{}