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.
Payload della richiesta
event_type
string
Event type to simulate. Defaults to a generic test ping if omitted.
Payload di risposta
status
string
obbligatorio
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
obbligatorio
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
obbligatorio
Round-trip delivery latency in milliseconds.
event_payload
object
The event body Bird delivered to the endpoint. Set on successful test delivery only.
Mostra attributi secondari
event_payload.type
string
obbligatorio
Event type.
event_payload.timestamp
string
obbligatorio
Time the non-delivery was recorded.
event_payload.data
object
obbligatorio
Payload of the sms.undelivered event.
Mostra attributi secondari
event_payload.data.sms_id
string
obbligatorio
ID of the SMS message.
event_payload.data.workspace_id
string
obbligatorio
ID of the workspace.
event_payload.data.to
string
obbligatorio
Recipient phone number in E.164 format.
event_payload.data.from
string
obbligatorio
Sender the message was sent from — an E.164 number, an alphanumeric sender ID, or a short code.
event_payload.data.tags
nullable array
obbligatorio
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
obbligatorio
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
obbligatorio
Why the message was not delivered.
Mostra attributi secondari
event_payload.data.error.code
string
obbligatorio
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
obbligatorio
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
obbligatorio
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.