curl --request GET \
--url https://app.sendmux.ai/api/v1/webhooks/{public_id}/deliveries/{delivery_id}/payload \
--header 'Authorization: Bearer <token>'{
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"data": {
"id": "whda_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"event_id": "evt_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"event_type": "message.bounced",
"delivery_attempt": 1,
"created_at": "2026-05-21T09:12:00Z",
"expires_at": "2026-05-28T09:12:00Z",
"payload": {
"id": "evt_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"type": "message.received",
"team_public_id": "team_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"occurred_at": "2026-05-21T09:12:00Z",
"data": {
"message_id": "ME3P282MB076951B3AAD3255D686EA8EDCA0F2@example.com",
"message_id_kind": "rfc5322",
"sendmux_message_id": null,
"sender": "sender@example.com",
"recipients": [
"inbox@example.com"
],
"mailbox_id": "mbx_123",
"bounce_type": null,
"bounce_subtype": null,
"complaint_type": null,
"complaint_subtype": null,
"reject_reason": null,
"delay_type": null,
"delay_expires_at": null,
"is_spam": false,
"webhook_id": null
}
}
}
}Get a webhook delivery payload
Returns the retained JSON request body for one delivery attempt. Payloads are retained for 7 days and may no longer be available after payload_expires_at.
curl --request GET \
--url https://app.sendmux.ai/api/v1/webhooks/{public_id}/deliveries/{delivery_id}/payload \
--header 'Authorization: Bearer <token>'{
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"data": {
"id": "whda_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"event_id": "evt_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"event_type": "message.bounced",
"delivery_attempt": 1,
"created_at": "2026-05-21T09:12:00Z",
"expires_at": "2026-05-28T09:12:00Z",
"payload": {
"id": "evt_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"type": "message.received",
"team_public_id": "team_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"occurred_at": "2026-05-21T09:12:00Z",
"data": {
"message_id": "ME3P282MB076951B3AAD3255D686EA8EDCA0F2@example.com",
"message_id_kind": "rfc5322",
"sendmux_message_id": null,
"sender": "sender@example.com",
"recipients": [
"inbox@example.com"
],
"mailbox_id": "mbx_123",
"bounce_type": null,
"bounce_subtype": null,
"complaint_type": null,
"complaint_subtype": null,
"reject_reason": null,
"delay_type": null,
"delay_expires_at": null,
"is_spam": false,
"webhook_id": null
}
}
}
}Documentation Index
Fetch the complete documentation index at: https://docs.sendmux.ai/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Sendmux API key. Use a root API key for Management API routes, or a mailbox credential for Mailbox API routes. Obtain keys from the dashboard under API Keys.
Path Parameters
Webhook public ID
Delivery-attempt public ID
Response
Delivery payload
true Hide child attributes
Hide child attributes
Delivery-attempt public ID
"whda_clxxxxxxxxxxxxxxxxxxxxxxxxx"
Webhook event ID
"evt_clxxxxxxxxxxxxxxxxxxxxxxxxx"
Event types a webhook may subscribe to. sendmux.test is accepted so you can verify end-to-end delivery via POST /webhooks/{id}/test.
message.delivered, message.bounced, message.complained, message.rejected, message.delivery_delayed, message.received, message.received.spam, sendmux.test "message.bounced"
1-based retry attempt number.
1
ISO 8601 attempt timestamp
"2026-05-21T09:12:00Z"
Timestamp when this retained payload expires.
"2026-05-28T09:12:00Z"
The JSON request body delivered to the webhook endpoint.
Hide child attributes
Hide child attributes
Stable per-event identifier. Also sent in the X-Sendmux-Event-Id header.
"evt_clxxxxxxxxxxxxxxxxxxxxxxxxx"
Dotted event type. Same value as the X-Sendmux-Event-Type header.
message.delivered, message.bounced, message.complained, message.rejected, message.delivery_delayed, message.received, message.received.spam, sendmux.test "message.received"
Team that owns the event.
"team_clxxxxxxxxxxxxxxxxxxxxxxxxx"
When the event occurred.
"2026-05-21T09:12:00Z"
Hide child attributes
Hide child attributes
Message identifier from the event source.
"ME3P282MB076951B3AAD3255D686EA8EDCA0F2@example.com"
provider for sending feedback IDs; rfc5322 for inbound email Message-ID header values.
provider, rfc5322 "rfc5322"
Sendmux message correlation ID for outbound sending feedback when available.
null
Sender/envelope-from address when available.
"sender@example.com"
All affected recipients. Empty for synthetic test events.
["inbox@example.com"]Mailbox public ID for inbound mailbox events when resolved.
"mbx_123"
Bounce category for message.bounced events.
Permanent, Transient, Undetermined null
More specific bounce category when available.
null
Complaint category for message.complained events.
null
More specific complaint category when available.
null
Reject reason for message.rejected events.
null
Delay category for message.delivery_delayed events.
null
When delivery retries are expected to stop, when provided.
null
Only populated for inbound mailbox events.
false
Target webhook ID for synthetic sendmux.test payloads.
null
{
"id": "evt_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"type": "message.received",
"team_public_id": "team_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"occurred_at": "2026-05-21T09:12:00Z",
"data": {
"message_id": "ME3P282MB076951B3AAD3255D686EA8EDCA0F2@example.com",
"message_id_kind": "rfc5322",
"sendmux_message_id": null,
"sender": "sender@example.com",
"recipients": ["inbox@example.com"],
"mailbox_id": "mbx_123",
"bounce_type": null,
"bounce_subtype": null,
"complaint_type": null,
"complaint_subtype": null,
"reject_reason": null,
"delay_type": null,
"delay_expires_at": null,
"is_spam": false,
"webhook_id": null
}
}Was this page helpful?