Skip to content

Get Campaign Lead Emails

The emails and replies for one lead in a campaign.

GET/api/v1/campaigns/{campaign_id}/leads/{lead_id}/emails

Requires an API key with the read scope.

The sent emails and the replies for one lead in this campaign, merged and sorted newest first. At most 20 items are returned and there is no next page. A lead that is not in this campaign, or an id from another workspace, returns an empty list.

Path Parameters#

campaign_idstringpathrequired
The campaign.
lead_idstringpathrequired
The lead.

Response#

dataobject[]
Show Item
idstring
The email or reply.
typestring
sent or reply.
subjectstring | null
Subject.
bodyPreviewstring | null
Start of the body.
statusstring | null
Send status, or the reply category.
sequenceStepinteger | null
Step number for sent emails.
openedAtstring | null
When it was opened.
createdAtstring
When it was sent or received.
variantIdstring | null
A/B variant used.
variantLabelstring | null
That variant's label.

Errors#

StatusDescription
401Missing, invalid, revoked or expired API key
403API key does not have the required scope: read
404Campaign not found in this workspace

Rate Limit#

  • 300 requests per minute, shared by every read call in your workspace. Fixed 60-second window.
  • Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (unix epoch seconds) and X-RateLimit-Bucket (read).
  • A 429 response includes a Retry-After header (seconds until the bucket resets).

For client-side patterns (Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.

Was this page helpful?
View as MarkdownLast updated November 4, 2026