Get Campaign Email History
Retrieve a paginated list of individual email delivery records for a campaign, including per-recipient open/click events.
Endpoint
GET https://api.campaignlark.com/v1/campaigns/:id/email-history
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | required | The campaign ID. |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | integer | optional | 1 | Page number. |
limit | integer | optional | 50 | Items per page (1–100). |
Sample Request
GET https://api.campaignlark.com/v1/campaigns/64f1a2b3c4d5e6f7a8b9c0d1/email-history?page=1&limit=20
Response
Success — 200 OK
{
"error": null,
"data": {
"email_history": [
{
"contact_id": "64f1a2b3c4d5e6f7a8b9c0e1",
"first_name": "Jane",
"last_name": "Doe",
"email_address": "jane@example.com",
"status": "DELIVERED",
"first_opened": "2025-07-01T09:15:00Z",
"last_opened": "2025-07-01T14:30:00Z",
"first_clicked": "2025-07-01T09:16:00Z",
"last_clicked": "2025-07-01T09:16:00Z",
"bounce_reason": null,
"open_events": [
{
"timestamp": "2025-07-01T09:15:00Z",
"ip": "203.0.113.42",
"user_agent": "Mozilla/5.0...",
"country": "AU",
"device_type": "Mobile",
"os": "iOS"
}
],
"click_events": [
{
"timestamp": "2025-07-01T09:16:00Z",
"ip": "203.0.113.42",
"user_agent": "Mozilla/5.0...",
"country": "AU",
"device_type": "Mobile",
"os": "iOS",
"link_url": "https://example.com/sale"
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total_pages": 5,
"total_count": 98
}
}
}
Email History Item
| Field | Type | Description |
|---|---|---|
contact_id | string | The contact's ID. |
first_name | string | null | Contact's first name. |
last_name | string | null | Contact's last name. |
email_address | string | Contact's email address. |
status | string | Delivery status (e.g. DELIVERED, BOUNCED). |
first_opened | string | null | ISO 8601 timestamp of the first open. |
last_opened | string | null | ISO 8601 timestamp of the most recent open. |
first_clicked | string | null | ISO 8601 timestamp of the first click. |
last_clicked | string | null | ISO 8601 timestamp of the most recent click. |
bounce_reason | string | null | Bounce reason, if applicable. |
open_events | array | Individual open tracking events. |
click_events | array | Individual click tracking events, each including link_url. |
Tracking Event Object
| Field | Type | Description |
|---|---|---|
timestamp | string | ISO 8601 timestamp. |
ip | string | IP address of the event. |
user_agent | string | User agent string. |
country | string | Country code (if detected). |
device_type | string | Device type (if detected). |
os | string | Operating system (if detected). |
Click Event Object
Extends the Tracking Event with:
| Field | Type | Description |
|---|---|---|
link_url | string | The URL that was clicked. |
Errors
| Status | Message | Cause |
|---|---|---|
400 | Please provide a campaign ID. | id path param is missing. |
400 | We could not find the campaign you are looking for. | Campaign not found. |