Overview
Avero sends aPOST request to your endpoint URL each time a subscribed event occurs. The request body is a JSON object; the event field identifies the type.
Registering a webhook
- Go to Settings → Developers → Webhooks in the Avero desktop app.
- Click Add endpoint, enter your URL, and select the events you want.
- Save — Avero stores the endpoint and generates a signing secret.
Events
Payload shape
data object is event-specific. For call.ended it includes call_id, phone_e164, duration_seconds, and technical_result.
Verifying the signature
Every delivery includes anX-Payfair-Signature header containing an HMAC-SHA256 digest of the raw request body, prefixed with sha256=.
Always verify the signature before processing the payload. This prevents spoofed requests.
Retry schedule
If your endpoint returns a non-2xx status or times out, Avero retries the delivery on this schedule:
After 5 failed retries the delivery is marked failed. You can manually replay individual deliveries from Settings → Developers → Webhook delivery log.
Best practices
- Respond quickly. Return
200 OKas soon as you receive the request, then process asynchronously. Avero times out after 10 seconds. - Make handlers idempotent. The same event can be delivered more than once; use
idto deduplicate. - Check
eventbefore acting. Subscribe only to the events you need; ignore unknown events gracefully.

