Triggered when an email is successfully delivered to the recipient’s mail server.
This event indicates the email was accepted by the receiving server, but does not guarantee inbox placement (the recipient’s server may still filter it to spam).
Use your API key from arkhq.io/org/credentials
Authorization: Bearer YOUR_API_KEYWebhook event payload sent to your configured endpoint.
The payload structure varies by event type:
message, status, details, output, sent_with_ssl, timestamp, timeoriginal_message and bounce (both are message objects)message, ip_address, user_agentserver, domain, uuid, dns_checked_at, and DNS status fieldsserver, volume, limitBounce Classification: For MessageDelayed and MessageDeliveryFailed events, additional classification
fields are included to help you understand why delivery failed:
classification - Category like invalid_recipient, mailbox_full, spam_blockclassification_code - Numeric code (10-49, 99) for grouping related classificationssmtp_enhanced_code - RFC 3463 enhanced status code (e.g., "5.1.1")remote_host - Hostname of the server that returned the errorNote: The event type is determined by which webhook events you subscribe to, not by a field in the payload.
Use the status field to identify delivery event types: Sent, SoftFail, HardFail, Held.
Email message information included in webhook payloads
The original message that bounced (for MessageBounced events)
The bounce notification message (for MessageBounced events)
Delivery status. Values correspond to event types:
Sent (MessageSent)SoftFail (MessageDelayed)HardFail (MessageDeliveryFailed)Held (MessageHeld)Sent, SoftFail, HardFail, Held "Sent"
Human-readable summary of the delivery attempt. Format varies by status:
Message for {recipient} accepted by {ip}:{port} ({hostname}){code} {classification}: Delivery to {recipient} failed at {ip}:{port} ({hostname})Connection error: Could not connect to any mail server for {domain}"Message for user@example.com accepted by 1.2.3.4:25 (mx.example.com)"
Raw SMTP response from the receiving server. Contains the full error message for failures.
"250 2.0.0 OK"
Whether the message was delivered over a TLS connection
true
Time taken to deliver in seconds
1.51
Unix timestamp of the delivery attempt (with microsecond precision)
1704672000.123456
Bounce classification category explaining why delivery failed.
Only present for MessageDelayed and MessageDeliveryFailed events.
Recipient Issues (10-19):
invalid_recipient - Mailbox doesn't exist (5.1.1)inactive_mailbox - Account disabled or suspendedmailbox_full - Over quota (5.2.2)Domain Issues (20-29):
invalid_domain - Domain doesn't existdns_failure - Temporary DNS resolution failurerouting_error - Relay denied or routing problemsReputation/Policy (30-39):
spam_block - IP or domain blocklistedspam_content - Content flagged as spampolicy_rejection - Rejected by policy (DMARC, etc.)Technical (40-49):
connection_error - Connection timeout or refusedprotocol_error - SMTP protocol issuestransient_failure - General temporary failureOther:
unclassified - Could not classify the bounceinvalid_recipient, inactive_mailbox, mailbox_full, invalid_domain, dns_failure, routing_error, spam_block, spam_content, policy_rejection, connection_error, protocol_error, transient_failure, unclassified "invalid_recipient"
Numeric code for the bounce classification. Useful for grouping related classifications:
Only present when classification is present.
10, 11, 12, 20, 21, 22, 30, 31, 32, 40, 41, 42, 99 10
RFC 3463 enhanced SMTP status code from the receiving server (e.g., "5.1.1", "4.2.2"). Provides standardized bounce reason codes. Only present for delivery failures where the remote server provided an enhanced code.
^[245]\.[0-9]+\.[0-9]+$"5.1.1"
Hostname of the remote SMTP server that returned the error. Only present for delivery failures.
"mx1.gmail.com"
The URL that was clicked (for MessageLinkClicked events)
"https://yourdomain.com/welcome"
Unique token for the clicked link (for MessageLinkClicked events)
"abc123def456"
IP address of the recipient (for MessageLoaded and MessageLinkClicked events)
"203.0.113.45"
User agent of the recipient's email client (for MessageLoaded and MessageLinkClicked events)
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
Server information (for DomainDNSError and SendLimit events)
Domain name with DNS issues (for DomainDNSError events)
"yourdomain.com"
Unique identifier for the domain (for DomainDNSError events)
"a1b2c3d4-e5f6-7890"
Unix timestamp when DNS was checked (for DomainDNSError events)
1704672000.123456
SPF record status (for DomainDNSError events)
OK, Missing, Invalid "Missing"
SPF error message if status is not OK
"No SPF record exists for this domain"
DKIM record status (for DomainDNSError events)
OK, Missing, Invalid "OK"
DKIM error message if status is not OK
MX record status (for DomainDNSError events)
OK, Missing, Invalid "OK"
MX error message if status is not OK
Return path record status (for DomainDNSError events)
OK, Missing, Invalid "Missing"
Return path error message if status is not OK
"There is no return path record at rp.yourdomain.com"
Current send volume in the last hour (for SendLimit events)
950
Configured send limit per hour (for SendLimit events)
1000
Webhook received successfully