Email Events

Email Held

Triggered when an email is held for review.

Emails may be held due to:

  • Suspicious content detected
  • High spam score
  • Policy violations
  • Manual review required

Held emails require manual action in the dashboard to release or delete.

postWebhookMessageHeld

Payload

event'MessageSent' | 'MessageDelayed' | 'MessageDeliveryFailed' | 'MessageBounced' | 'MessageHeld' | 'MessageLoaded' | 'MessageLinkClicked' | 'DomainDNSError' | 'SendLimitApproaching' | 'SendLimitExceeded' required

The type of event that occurred

timestampnumber float required

Unix timestamp when the event occurred (with microsecond precision)

uuidstring

Unique identifier for this webhook delivery (use for idempotency)

Example payload

{
  "event": "MessageSent",
  "timestamp": 1704672000.123456,
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "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