Webhooks
List webhook delivery attempts
Changed onReturns recent delivery attempts for one webhook subscription, ordered by created_at descending. Delivery metadata is retained for 7 days. Use the payload endpoint while payload_available is true to inspect the exact JSON request body that was delivered.
get/webhooks/{public_id}/deliveries
Request
- Base URL: https://app.sendmux.ai/api/v1
- URL: https://app.sendmux.ai/api/v1/webhooks/{public_id}/deliveries
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://app.sendmux.ai/oauth/authorize, token URL https://app.sendmux.ai/oauth/token, scopes: webhook.read)
Path parameters
public_idstring required
Webhook public ID
Query parameters
cursorstring
Pagination cursor — the next_cursor from the previous response.
limitinteger
Maximum results (default 25, max 100)
event_type'message.delivered' | 'message.bounced' | 'message.complained' | 'message.rejected' | 'message.delivery_delayed' | 'message.received' | 'message.received.spam' | 'sendmux.test'
Filter by event type.
Example:message.bounced
result'success' | 'retrying' | 'failed' | 'permanent_failure'
Filter by delivery result.
Response
Delivery-attempt list
Example response
{
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"data": [
{
"created_at": "2026-05-21T09:12:00Z",
"delivery_attempt": 1,
"event_id": "evt_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"event_type": "message.bounced",
"id": "whda_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"max_attempts": 8,
"payload_available": true,
"payload_expires_at": "2026-05-28T09:12:00Z",
"request_payload_bytes": 2048,
"request_payload_sha256": "b1946ac92492d2347c6235b4d2611184d4e4f8f2f43a5f2d8d5b7a4a6f0c1e2d",
"response_body": "ok",
"response_ms": 184,
"response_status": 200,
"result": "success"
}
]
}Changes
- info
the endpoint scheme security
oauth2was added to the API
- info