Activity on a legacy email campaign
Sent to URLs registered with type: email (or without type).
SENT: right after a sequence email is sent (test sends excluded). Network errors retried up to 5 times; the send waits for your endpoint.OPENED: tracking pixel loaded, at most once per email and contact, delivered 30 to 60 seconds later. Needs open tracking.CLICKED: tracked link clicked, at most once per link and email, delivered 30 to 60 seconds later; two clicks of the same contact on the same step queued within that delay can be merged into the last one. With open tracking on, a click is ignored until an open was recorded.REPLIED: first reply of the contact detected in the mailbox (later replies are not sent), with reply text, AI classification, sending mailbox and Message-ID. Network errors retried up to 5 times.BOUNCED: bounce detected (non delivery report or refusal at send time). Nocampaignfield andstepalways 0. Network errors retried up to 5 times.UNSUBSCRIBED: the contact confirms on the unsubscribe page (or a one click unsubscribe POST is received); once per contact.INTERESTED: contact marked as interested by a user in the legacy web app (not through the REST API).CAMPAIGN_ENDING: accepted at registration, never sent for email campaigns.
Delivery. One POST per event and per registered URL, header Content-Type: application/json, JSON body, no signature or secret header, default User-Agent of the HTTP library. No timeout is set. Your response (status and body) is ignored: an HTTP error is never retried. Network errors are retried only for some events (see each list). No event ID, no ordering guarantee, no replay; a URL registered twice receives everything twice. Absent fields are omitted, never null.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Example Requests
/emailCampaignActivity