curl -X GET "https://api.foxreach.io/api/v1/leads/cld_xyz789/activity" \
-H "X-API-Key: otr_your_key"
{
"data": {
"activities": [
{
"id": "rpl_abc123",
"type": "reply_received",
"subject": "Re: Quick question",
"bodyPreview": "Thanks for reaching out! I'd love to learn more...",
"status": null,
"campaignName": "Q1 Outreach",
"sequenceStep": null,
"emailType": null,
"openedAt": null,
"clickedAt": null,
"category": "interested",
"timestamp": "2025-01-20T14:30:00"
},
{
"id": "eml_001",
"type": "email_sent",
"subject": "Quick question, John",
"bodyPreview": "Hi John, I noticed Acme recently expanded...",
"status": "sent",
"campaignName": "Q1 Outreach",
"sequenceStep": 1,
"emailType": "campaign",
"openedAt": "2025-01-19T10:15:00",
"clickedAt": null,
"category": null,
"timestamp": "2025-01-18T09:00:00"
}
],
"campaigns": [
{
"campaignId": "cmp_def456",
"campaignName": "Q1 Outreach",
"status": "sent",
"currentStep": 1,
"totalSent": 1,
"totalOpened": 1,
"lastSentAt": "2025-01-18T09:00:00",
"nextSendAt": null,
"repliedAt": "2025-01-20T14:30:00"
}
]
}
}
Leads
Get Lead Activity
Retrieve the activity timeline and campaign memberships for a lead.
GET
/
api
/
v1
/
leads
/
{lead_id}
/
activity
curl -X GET "https://api.foxreach.io/api/v1/leads/cld_xyz789/activity" \
-H "X-API-Key: otr_your_key"
{
"data": {
"activities": [
{
"id": "rpl_abc123",
"type": "reply_received",
"subject": "Re: Quick question",
"bodyPreview": "Thanks for reaching out! I'd love to learn more...",
"status": null,
"campaignName": "Q1 Outreach",
"sequenceStep": null,
"emailType": null,
"openedAt": null,
"clickedAt": null,
"category": "interested",
"timestamp": "2025-01-20T14:30:00"
},
{
"id": "eml_001",
"type": "email_sent",
"subject": "Quick question, John",
"bodyPreview": "Hi John, I noticed Acme recently expanded...",
"status": "sent",
"campaignName": "Q1 Outreach",
"sequenceStep": 1,
"emailType": "campaign",
"openedAt": "2025-01-19T10:15:00",
"clickedAt": null,
"category": null,
"timestamp": "2025-01-18T09:00:00"
}
],
"campaigns": [
{
"campaignId": "cmp_def456",
"campaignName": "Q1 Outreach",
"status": "sent",
"currentStep": 1,
"totalSent": 1,
"totalOpened": 1,
"lastSentAt": "2025-01-18T09:00:00",
"nextSendAt": null,
"repliedAt": "2025-01-20T14:30:00"
}
]
}
}
Path Parameters
The unique identifier of the lead.
Response
Show Activity data
Show Activity data
Chronological list of activities (most recent first, up to 100).
Show Activity object
Show Activity object
Activity identifier.
email_sent or reply_received.Email subject line.
First 200 characters of the body.
For
email_sent: sent, failed, or bounced.Name of the associated campaign.
Sequence step number (for
email_sent).For
email_sent: campaign, reply, or warmup.ISO 8601 timestamp if email was opened.
ISO 8601 timestamp if a link was clicked.
AI category (for
reply_received).ISO 8601 timestamp of the activity.
All campaign memberships for this lead.
Show Campaign membership
Show Campaign membership
Campaign ID.
Campaign name.
pending, sent, paused, or completed.Current sequence step.
Emails sent in this campaign.
Emails opened.
ISO 8601 timestamp of last email sent.
ISO 8601 timestamp of next scheduled email.
ISO 8601 timestamp if lead replied.
curl -X GET "https://api.foxreach.io/api/v1/leads/cld_xyz789/activity" \
-H "X-API-Key: otr_your_key"
{
"data": {
"activities": [
{
"id": "rpl_abc123",
"type": "reply_received",
"subject": "Re: Quick question",
"bodyPreview": "Thanks for reaching out! I'd love to learn more...",
"status": null,
"campaignName": "Q1 Outreach",
"sequenceStep": null,
"emailType": null,
"openedAt": null,
"clickedAt": null,
"category": "interested",
"timestamp": "2025-01-20T14:30:00"
},
{
"id": "eml_001",
"type": "email_sent",
"subject": "Quick question, John",
"bodyPreview": "Hi John, I noticed Acme recently expanded...",
"status": "sent",
"campaignName": "Q1 Outreach",
"sequenceStep": 1,
"emailType": "campaign",
"openedAt": "2025-01-19T10:15:00",
"clickedAt": null,
"category": null,
"timestamp": "2025-01-18T09:00:00"
}
],
"campaigns": [
{
"campaignId": "cmp_def456",
"campaignName": "Q1 Outreach",
"status": "sent",
"currentStep": 1,
"totalSent": 1,
"totalOpened": 1,
"lastSentAt": "2025-01-18T09:00:00",
"nextSendAt": null,
"repliedAt": "2025-01-20T14:30:00"
}
]
}
}
Errors
| Status | Description |
|---|---|
404 | Lead not found |
Rate Limit
- 100 requests per minute, per API key. Fixed 60-second window.
- Every response includes
X-RateLimit-Limit,X-RateLimit-Remaining, andX-RateLimit-Reset(unix epoch seconds). - A
429response includes aRetry-Afterheader (seconds until the bucket resets).
Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.⌘I