Documentation
Sign inGet started

Send a test event

POST
/v1/webhooks/{webhook_id}/test
curl -X POST "https://us1.platform.bird.com/v1/webhooks/{webhook_id}/test" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "email.delivered"
  }'
Sends a synthetic, fully-signed test event directly to the endpoint and returns the outcome synchronously. Use this to verify your endpoint is reachable and your signature verification is correct. The response reports whether your endpoint accepted the event, the HTTP status it returned, and the round-trip latency — an unreachable endpoint is reported in the response body, not as a request error.
Corps de la requête
event_type
string
Event type to simulate. Defaults to a generic test ping if omitted.
Contenu de la réponse
status
string
obligatoire
Whether your endpoint accepted the test event. delivered means it returned a 2xx status; failed means it returned a non-2xx status or could not be reached.
response_status_code
nullable integer
obligatoire
HTTP status returned by your endpoint. Null when no response was received (timeout, connection error, DNS failure).
response_body
string
Response body returned by your endpoint, truncated when oversized. Empty when no body was returned.
response_duration_ms
integer
obligatoire
Round-trip delivery latency in milliseconds.
event_payload
object
The event body Bird delivered to the endpoint. Set on successful test delivery only.
Afficher les attributs enfants
event_payload.type
string
obligatoire
Event type.
event_payload.timestamp
string
obligatoire
Time the non-delivery was recorded.
event_payload.data
object
obligatoire
Payload of the sms.undelivered event.
Afficher les attributs enfants
event_payload.data.sms_id
string
obligatoire
ID of the SMS message.
event_payload.data.workspace_id
string
obligatoire
ID of the workspace.
event_payload.data.to
string
obligatoire
Recipient phone number in E.164 format.
event_payload.data.from
string
obligatoire
Sender the message was sent from — an E.164 number, an alphanumeric sender ID, or a short code.
event_payload.data.tags
nullable array
obligatoire
Tags provided on the send request, echoed on every event for the message so you can route and correlate without an extra lookup. Null when the message carried no tags.
event_payload.data.metadata
nullable object
obligatoire
The metadata object provided on the send request, echoed on every event for the message so you can correlate events with your own records. Null when the message carried no metadata.
event_payload.data.error
nullable object
obligatoire
Why the message was not delivered.
Afficher les attributs enfants
event_payload.data.error.code
string
obligatoire
Bird-stable failure reason. invalid_destination — the number is not assigned, ported out, or malformed. unreachable — handset off or out of coverage. blocked_by_carrier — the carrier filtered the message. blocked_by_recipient — the recipient device blocked the sender. landline_unreachable — the destination is a landline that does not accept SMS. content_rejected — the carrier rejected the content. sender_unregistered — the sender is not registered for the destination. recipient_opted_out — the recipient is on a suppression list. provider_unavailable — an upstream failure after retries. unknown — an unmapped failure.
event_payload.data.error.description
string
obligatoire
Human-readable explanation of the failure.
event_payload.data.error.carrier_error_code
nullable string
Raw carrier-supplied error code, when available, for low-level debugging.
event_payload.data.error.occurred_at
string
obligatoire
When the failure occurred.
error
string
A short explanation of why the event could not be delivered. Present only when your endpoint could not be reached.