Server Events

Send Limit Approaching

Triggered when a server's send volume reaches 90% of its configured hourly limit.

This is a warning event to alert you before your emails start being rejected. Consider increasing your send limit or spreading out your sends.

Payload structure:

  • server: Information about the server approaching its limit
  • volume: Current number of emails sent in the last hour
  • limit: Configured hourly send limit
postWebhookSendLimitApproaching

Payload

status'Sent' | 'SoftFail' | 'HardFail' | 'Held'

Delivery status. Values correspond to event types:

  • Sent (MessageSent)
  • SoftFail (MessageDelayed)
  • HardFail (MessageDeliveryFailed)
  • Held (MessageHeld)
detailsstring

Human-readable details about the delivery attempt

outputstring

Raw SMTP response from the receiving server (truncated to 512 chars)

sent_with_sslboolean

Whether the message was delivered over a TLS connection

timenumber float

Time taken to deliver in seconds

timestampnumber float

Unix timestamp of the delivery attempt (with microsecond precision)

urlstring

The URL that was clicked (for MessageLinkClicked events)

tokenstring

Unique token for the clicked link (for MessageLinkClicked events)

ip_addressstring

IP address of the recipient (for MessageLoaded and MessageLinkClicked events)

user_agentstring

User agent of the recipient's email client (for MessageLoaded and MessageLinkClicked events)

domainstring

Domain name with DNS issues (for DomainDNSError events)

uuidstring

Unique identifier for the domain (for DomainDNSError events)

dns_checked_atnumber float

Unix timestamp when DNS was checked (for DomainDNSError events)

spf_status'OK' | 'Missing' | 'Invalid'

SPF record status (for DomainDNSError events)

spf_errorstring nullable

SPF error message if status is not OK

dkim_status'OK' | 'Missing' | 'Invalid'

DKIM record status (for DomainDNSError events)

dkim_errorstring nullable

DKIM error message if status is not OK

mx_status'OK' | 'Missing' | 'Invalid'

MX record status (for DomainDNSError events)

mx_errorstring nullable

MX error message if status is not OK

return_path_status'OK' | 'Missing' | 'Invalid'

Return path record status (for DomainDNSError events)

return_path_errorstring nullable

Return path error message if status is not OK

volumeinteger

Current send volume in the last hour (for SendLimit events)

limitinteger

Configured send limit per hour (for SendLimit events)

Example payload

{
  "message": {
    "id": 12345,
    "token": "abc123XYZ789",
    "direction": "outgoing",
    "message_id": "a1b2c3d4-e5f6-7890@rp.arkhq.io",
    "to": "user@example.com",
    "from": "hello@yourdomain.com",
    "subject": "Welcome to our service",
    "timestamp": 1704672000.123456,
    "spam_status": "NotChecked",
    "tag": "onboarding",
    "metadata": {
      "user_id": "usr_123456",
      "campaign_id": "camp_789012"
    }
  },
  "original_message": {
    "id": 12345,
    "token": "abc123XYZ789",
    "direction": "outgoing",
    "message_id": "a1b2c3d4-e5f6-7890@rp.arkhq.io",
    "to": "user@example.com",
    "from": "hello@yourdomain.com",
    "subject": "Welcome to our service",
    "timestamp": 1704672000.123456,
    "spam_status": "NotChecked",
    "tag": "onboarding",
    "metadata": {
      "user_id": "usr_123456",
      "campaign_id": "camp_789012"
    }
  },
  "bounce": {
    "id": 12345,
    "token": "abc123XYZ789",
    "direction": "outgoing",
    "message_id": "a1b2c3d4-e5f6-7890@rp.arkhq.io",
    "to": "user@example.com",
    "from": "hello@yourdomain.com",
    "subject": "Welcome to our service",
    "timestamp": 1704672000.123456,
    "spam_status": "NotChecked",
    "tag": "onboarding",
    "metadata": {
      "user_id": "usr_123456",
      "campaign_id": "camp_789012"
    }
  },
  "status": "Sent",
  "details": "Message for user@example.com accepted by 1.2.3.4:25 (mx.example.com)",
  "output": "250 2.0.0 OK",
  "sent_with_ssl": true,
  "time": 1.51,
  "timestamp": 1704672000.123456,
  "url": "https://yourdomain.com/welcome",
  "token": "abc123def456",
  "ip_address": "203.0.113.45",
  "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
  "server": {
    "uuid": "a1b2c3d4-e5f6-7890",
    "name": "Production",
    "permalink": "production",
    "organization": "acme-corp"
  },
  "domain": "yourdomain.com",
  "uuid": "a1b2c3d4-e5f6-7890",
  "dns_checked_at": 1704672000.123456,
  "spf_status": "Missing",
  "spf_error": "No SPF record exists for this domain",
  "dkim_status": "OK",
  "mx_status": "OK",
  "return_path_status": "Missing",
  "return_path_error": "There is no return path record at rp.yourdomain.com",
  "volume": 950,
  "limit": 1000
}

Response

Webhook received successfully

Changes