Events
Delivery events for a cluster.
Delivery events for the team or a cluster. Optional filters apply first. Newest first by default, 200 at a time, max 1000. Page newer-to-older with before. Catch up in ingest order with after; rows settle for 5 seconds before they appear so a late commit is not skipped. The next cursor is the last id in the array. Same filters as the Events page. Unique args you set at send time live in the stored payload as a JSON object. Bounce, deferred, dropped, and spamreport rows include bounce_classification, bounce_reason, smtp_code, enhanced_code, and a pasteable explanation. Delivered rows return those fields as null. When the receiving server never answered, payload.response.content and payload.reason carry a plain sentence about the connection. A Support key, or a token for someone who is not a Team Administrator, gets no payload, and runs of four or more digits in subject-like fields are masked. Use explanation when you tell a customer what happened.
GET /api/v1/teams/:obfuscated_team_id/message_events
List team events. Filters apply first. Newest first, or page with before / after.
cluster_id: Public cluster id. Uses the same window as the cluster Events page.message_id: Exact message idrecipient: Case-insensitive exact recipientmx_provider: Case-insensitive exact MX providersending_ip: Exact sending IPtenant_id: Public tenant idsending_domain_id: Public sending domain idevent_type: Exact event typesince: Occurred at on or afteruntil: Occurred at on or beforequery: JSON and/or group of rules. Fields: message_id, recipient, mx_provider, sending_ip, tenant_id, sending_domain_id, cluster_id, event_type, occurred_at. cmp: eq, neq, contains, gte, ltelimit: Optional. Page size. Default 200. Max 1000.before: Optional. Public event id. Next newest-first page strictly older than this row.after: Optional. Public event id. Next ingest-order page after this id. Rows settle for 5 seconds before they appear.
GET /api/v1/teams/:obfuscated_team_id/clusters/:obfuscated_cluster_id/message_events
List events. Filters apply first. Newest first, or page with before / after.
obfuscated_cluster_id: Public cluster idmessage_id: Exact message idrecipient: Case-insensitive exact recipientmx_provider: Case-insensitive exact MX providersending_ip: Exact sending IPtenant_id: Public tenant idsending_domain_id: Public sending domain idcluster_id: Public cluster idevent_type: Exact event typesince: Occurred at on or afteruntil: Occurred at on or beforequery: JSON and/or group of rules. Fields: message_id, recipient, mx_provider, sending_ip, tenant_id, sending_domain_id, cluster_id, event_type, occurred_at. cmp: eq, neq, contains, gte, ltelimit: Optional. Page size. Default 200. Max 1000.before: Optional. Public event id. Next newest-first page strictly older than this row.after: Optional. Public event id. Next ingest-order page after this id. Rows settle for 5 seconds before they appear.
GET /api/v1/message_events/:id
Get one event and its payload. A Support key, or a token for someone who is not a Team Administrator, omits payload.
id: Public event id