List Emails
The per-recipient send log for one campaign: who it went to, current status, and delivery timestamps. Paginated, and returns total alongside the rows so you can page without a second call. Filter by status to answer questions like "who bounced", or by messageId / sendPhase to isolate one side of an A/B test.
Authorization
Authorization In: header
Path Parameters
ID of the project that owns the campaign.
ID of the campaign whose emails to list.
Query Parameters
Only include emails sent on or after this YYYY-MM-DD date.
Only include emails sent on or before this YYYY-MM-DD date.
Only include emails sent from this campaign message, one A/B variant, for example.
For A/B campaigns, restrict to one phase: sample for the initial test split, rollout for the winning variant sent to the remaining audience.
Number of emails to skip before collecting results.
Field to sort by, e.g. sentAt or lastEventAt.
Sort direction.
Only include emails currently in this delivery state, e.g. bounced or opened.
Maximum number of emails to return.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/email-campaigns/string/emails"{ "emails": [ { "id": "string", "createdAt": "string", "updatedAt": "string", "projectId": "string", "emailCampaignId": "string", "messageId": "string", "distinctId": "string", "to": "string", "contactDistinctId": "string", "subject": "string", "lastEventAt": "string", "sent": true, "sentAt": "string", "delivered": true, "deliveredAt": "string", "opened": true, "openedAt": "string", "clicked": true, "clickedAt": "string", "bounced": true, "bouncedAt": "string", "complained": true, "complainedAt": "string", "suppressed": true, "suppressedAt": "string", "sendPhase": "sample", "status": "pending" } ], "total": 0}Update Campaign Message
Updates one campaign message's sender or content. Read Get Email Campaign for messages[].id, then pass campaignId, messageId, and changes. Supports STANDARD, AUTOMATION, and AB_TEST campaigns while DRAFT or PAUSED; omitted fields are unchanged. Use this endpoint to set fromEmailUsername, fromName, and fromDomain on workflow emails. Use Update Email Campaign for workflowId and workflowStepId links.
Get Email
Fetches one sent email (its recipient, status, and delivery timestamps) together with the rendered subject and body as that recipient actually received it, personalisation included. The content is fetched from the email provider, so this is heavier than the row returned by List Emails.