Domain dns error
Triggered when there’s a DNS configuration issue with your sending domain.
This event indicates that your domain’s DNS records (SPF, DKIM, MX, or Return Path) may be misconfigured or have become invalid. This can affect email deliverability.
Payload structure: This event has a different structure than message events:
server: Information about the server that owns this domaindomain: The domain name with DNS issuesuuid: Unique identifier for the domaindns_checked_at: Timestamp when DNS was checked- Individual status and error fields for SPF, DKIM, MX, and Return Path
Action required: Check your domain’s DNS settings in the dashboard and verify all records are correctly configured.
Documentation Index
Fetch the complete documentation index at: https://arkhq.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Use your API key from arkhq.io/org/credentials
Authorization: Bearer YOUR_API_KEYBody
Webhook event payload sent to your configured endpoint.
The payload structure varies by event type:
- Delivery events (MessageSent, MessageDelayed, MessageDeliveryFailed, MessageHeld): Include
message,status,details,output,sent_with_ssl,timestamp,time - MessageBounced: Includes
original_messageandbounce(both are message objects) - Engagement events (MessageLoaded, MessageLinkClicked): Include
message,ip_address,user_agent - DomainDNSError: Includes
server,domain,uuid,dns_checked_at, and DNS status fields - SendLimit events: Include
server,volume,limit
Bounce Classification: For MessageDelayed and MessageDeliveryFailed events, additional classification
fields are included to help you understand why delivery failed:
classification- Category likeinvalid_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 error
Note: 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:
- Sent:
Message for {recipient} accepted by {ip}:{port} ({hostname}) - SoftFail/HardFail:
{code} {classification}: Delivery to {recipient} failed at {ip}:{port} ({hostname}) - Connection errors:
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 problems
Reputation/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 failure
Other:
unclassified- Could not classify the bounce
invalid_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:
- 10-19: Recipient issues
- 20-29: Domain issues
- 30-39: Reputation/policy issues
- 40-49: Technical issues
- 99: Unclassified
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
Response
Webhook received successfully
