Skip to main content
JSON Schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "email": {
        "type": "string",
        "format": "email",
        "description": "The sender's email address"
      },
      "customer_handle": {
        "type": "string",
        "description": "The MailChannels account ID that generated the webhook. If the message was sent by a sub-account, this field contains the sub-account handle."
      },
      "timestamp": {
        "type": "integer",
        "description": "The Unix timestamp (in seconds) when the event occurred; the timezone is always UTC"
      },
      "event": {
        "type": "string",
        "enum": ["processed", "delivered", "open", "click", "hard-bounced", "soft-bounced", "dropped", "complained", "unsubscribed"],
        "description": "The type of event that occurred"
      },
      "request_id": {
        "type": "string",
        "description": "A unique identifier generated to track the original HTTP request"
      },
      "status": {
        "type": "string",
        "description": "For hard-bounced, soft-bounced, and dropped events, the SMTP status code that caused the bounce"
      },
      "reason": {
        "type": "string",
        "description": "For hard-bounced, soft-bounced, and dropped events, a human-readable explanation of why the message hard-bounced"
      },
      "campaign_id": {
        "type": "string",
        "description": "The campaign identifier for the message that generated the event"
      },
      "url": {
        "type": "string",
        "description": "For click events, the URL that was clicked by the recipient"
      },
      "user_agent": {
        "type": "string",
        "description": "For click and open events, the User-Agent header given when the recipient clicked a link or opened a message"
      },
      "smtp_id": {
        "type": "string",
        "description": "For click and open events, the Message-Id of the message that generated the event"
      },
      "ip": {
        "type": "string",
        "description": "For click and open events, the IP address of the host that made the HTTP request"
      },
      "recipients": {
        "type": "array",
        "description": "The recipients of the message"
      }
    },
    "required": ["customer_handle", "timestamp", "event"],
    "additionalProperties": false
  },
  "minItems": 1,
  "maxItems": 1000
}