{
"type": "message.bounced",
"webhook_id": "abe11757-2886-4b55-96f1-0e0afc95795a",
"timestamp": "2024-05-06T10:05:16.687031577Z",
"data": {
"account_id": "4cdd7bdd-294e-4762-892f-83d40abf5a87",
"event": "on_bounced",
"from": "sender@example.com",
"recipient": "recipient@example.com",
"subject": "Welcome to our service",
"message_id_header": "<message-id-12345@localhost>",
"id": "407926766d2711f09b30960002cafe7c",
"delivery_attempt": {
"classification": "InvalidRecipient",
"smtp_code": 550,
"enhanced_status_code": "5.1.1",
"response": "The email account that you tried to reach does not exist",
"command": "RCPT TO"
}
}
}Message Events
message.bounced Webhook Event
The message.bounced webhook fires when a recipient server permanently rejects an AhaSend email or a later bounce notice arrives. Payload and SMTP codes.
WEBHOOK
message.bounced
{
"type": "message.bounced",
"webhook_id": "abe11757-2886-4b55-96f1-0e0afc95795a",
"timestamp": "2024-05-06T10:05:16.687031577Z",
"data": {
"account_id": "4cdd7bdd-294e-4762-892f-83d40abf5a87",
"event": "on_bounced",
"from": "sender@example.com",
"recipient": "recipient@example.com",
"subject": "Welcome to our service",
"message_id_header": "<message-id-12345@localhost>",
"id": "407926766d2711f09b30960002cafe7c",
"delivery_attempt": {
"classification": "InvalidRecipient",
"smtp_code": 550,
"enhanced_status_code": "5.1.1",
"response": "The email account that you tried to reach does not exist",
"command": "RCPT TO"
}
}
}AhaSend sends this event when a message reaches a bounced outcome. This includes an immediate permanent SMTP rejection or an out-of-band delivery status notification received after the message was accepted.
A direct SMTP rejection normally includes
data.delivery_attempt. An out-of-band bounce does not describe one SMTP attempt, so the object is omitted in that case.
When it’s sent: When a recipient server permanently rejects the message or AhaSend receives a later bounce notification.
Related Guides
- API authentication, Permission scopes, Webhook setup.
- Event reference, Webhook CLI, Local webhook testing.
- Signature verification, Retry policy, API errors.
- API rate limits.
Body
application/json
The event type
Available options:
message.bounced The webhook ID (the same ID as returned by the Create Webhook API)
When the event occurred (ISO 8601 format)
Show child attributes
Show child attributes
Response
Webhook received successfully

