curl --request POST \
--url https://cloudapi.mailercloud.com/v1/campaign/{id}/opens \
--header 'Authorization: <api-key>' \
--header 'Content-Type: <content-type>' \
--data '
{
"page": 1,
"limit": 25
}
'{
"campaign": {
"name": "May newsletter",
"subject_line": "Big update inside",
"created_date": "2026-05-10 11:30:00"
},
"data": [
{
"contact_id": "SuwESEuwZZ",
"email": "alice@example.com",
"first_name": "Alice",
"last_name": "Anderson",
"tags": [
"VIP",
"Newsletter"
],
"lists": "SuSwZS,KkfHZw",
"list_name": "Newsletter Subscribers, Beta Testers",
"created_date": "2026-05-15 08:42:11"
},
{
"contact_id": "SuwESEuwZf",
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "",
"tags": [],
"lists": "no lists",
"list_name": "no lists",
"created_date": "2026-05-15 09:14:02"
}
],
"total": 1234
}List Campaign Opens
Get a paginated list of contacts who opened a specific campaign.
Each row carries the contact’s encrypted id, email, name, the tags currently assigned to the contact, the lists the contact currently belongs to (with their ids and names), and the time of the open in your account timezone.
Each contact appears at most once in the response. If a contact opened the campaign multiple times, the time shown is the most recent open.
Anonymised events are excluded from this list. Opens and clicks from recipients who have denied open-tracking consent, and events on campaigns with track_opens / track_clicks disabled, are counted in the campaign totals but are not attributed to a contact. The total shown on the campaign report can therefore be higher than the number of rows returned here.
curl --request POST \
--url https://cloudapi.mailercloud.com/v1/campaign/{id}/opens \
--header 'Authorization: <api-key>' \
--header 'Content-Type: <content-type>' \
--data '
{
"page": 1,
"limit": 25
}
'{
"campaign": {
"name": "May newsletter",
"subject_line": "Big update inside",
"created_date": "2026-05-10 11:30:00"
},
"data": [
{
"contact_id": "SuwESEuwZZ",
"email": "alice@example.com",
"first_name": "Alice",
"last_name": "Anderson",
"tags": [
"VIP",
"Newsletter"
],
"lists": "SuSwZS,KkfHZw",
"list_name": "Newsletter Subscribers, Beta Testers",
"created_date": "2026-05-15 08:42:11"
},
{
"contact_id": "SuwESEuwZf",
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "",
"tags": [],
"lists": "no lists",
"list_name": "no lists",
"created_date": "2026-05-15 09:14:02"
}
],
"total": 1234
}Authorizations
Your Mailercloud API key (plain text, no Bearer prefix). Create keys in Settings → API.
Headers
Request body type
Path Parameters
Encrypted campaign id
Body
Page number (1-indexed).
Minimum: 1
x >= 1Maximum rows per page.
Minimum: 1 Maximum: 100
1 <= x <= 100Optional. Only return opens on or after this date. Format YYYY-MM-DD, interpreted in your account timezone.
Optional. Only return opens on or before this date. Format YYYY-MM-DD, interpreted in your account timezone. Must be on or after date_from.