Emails
Get All Emails
Returns a list of all email analytics from your ContactMonkey organization.
Endpoint
GET /data_api/v1/emails
Query Parameters
All query parameters are optional. They can be combined freely; multiple filters are applied with AND semantics.
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number to retrieve. Defaults to 1. See Pagination. |
per_page | integer | Items per page. Defaults to 10. Maximum is 100. |
sent_after | string | ISO-8601 timestamp. Only return campaigns sent at or after this time. Examples: 2026-01-01, 2026-01-01T00:00:00Z, 2026-01-01T00:00:00-05:00. |
sent_before | string | ISO-8601 timestamp. Only return campaigns sent at or before this time. |
tag_ids | array of integers | Filter campaigns by tag IDs. Matches campaigns that have any of the listed tags (OR). Pass as a comma-separated list (tag_ids=1,2,3) or array brackets (tag_ids[]=1&tag_ids[]=2). Tag IDs that do not belong to your organization are ignored. Tag IDs can be retrieved from the ContactMonkey web app under Settings > Tags. |
Example: filter by date window
GET /data_api/v1/emails?sent_after=2026-04-01&sent_before=2026-04-30Example: filter by tag
GET /data_api/v1/emails?tag_ids=1,2Example: combine filters with pagination
GET /data_api/v1/emails?sent_after=2026-01-01&tag_ids=1&page=1&per_page=25Error responses
400 Bad Request—sent_afterorsent_beforeis not a valid ISO-8601 timestamp.{ "error": "bad_request", "error_message": "Invalid sent_after: \"not-a-date\". Use ISO-8601 (e.g. '2026-01-01' or '2026-01-01T00:00:00Z')." }401 Unauthorized— missing, malformed, or revoked bearer token.
Response
{
"emails": [
{
"id": 1,
"subject": "Test Campaign 1",
"sent_at": "Jan 1, 2024 9:00 AM",
"sent_from": "[email protected]",
"organization_team": "Default Team",
"sending_type": "Timezone",
"tracking_type": "Individual",
"open_rate": 0.25,
"click_rate": 0.5,
"unique_opens": 25,
"multiple_opens": 15,
"unopened": 110,
"total_opens": 40,
"unique_clicks": 10,
"multiple_clicks": 5,
"total_clicks": 15,
"click_per_unique_open_rate": 40,
"desktop_open_rate": 60,
"mobile_open_rate": 40,
"tags": [
{
"name": "Important",
"color": "#FF5733"
},
{
"name": "Marketing",
"color": "#33FF57"
}
],
"recipient_count": 150,
"recipients": "Marketing Team, Sales Team",
"read_time_glanced": 20,
"read_time_skimmed": 30,
"read_time_read": 50,
"surveys_count": 3,
"enps_score_average": 7,
"enps_reactions_count": 45,
"enps_comments_count": 12,
"survey_reactions_count": 68,
"survey_reactions_comments_count": 23
},
{
"id": 2,
"subject": "Test Campaign 2",
"sent_at": "Feb 1, 2024 10:23 AM",
"sent_from": "[email protected]",
"organization_team": "Default Team",
"sending_type": "Scheduled",
"tracking_type": "Anonymous",
"open_rate": 0.5,
"click_rate": 0.75,
"unique_opens": 88,
"multiple_opens": 45,
"unopened": 88,
"total_opens": 133,
"unique_clicks": 22,
"multiple_clicks": 12,
"total_clicks": 34,
"click_per_unique_open_rate": 25,
"desktop_open_rate": 55,
"mobile_open_rate": 45,
"tags": [
{
"name": "Newsletter",
"color": "#3357FF"
}
],
"recipient_count": 176,
"recipients": "All Staff",
"read_time_glanced": 15,
"read_time_skimmed": 25,
"read_time_read": 60,
"surveys_count": 5,
"enps_score_average": 8,
"enps_reactions_count": 62,
"enps_comments_count": 18,
"survey_reactions_count": 95,
"survey_reactions_comments_count": 31
},
{
"id": 3,
"subject": "Test Campaign 3",
"sent_at": "Mar 1, 2024 2:45 PM",
"sent_from": "[email protected]",
"organization_team": "Marketing",
"sending_type": "Immediate",
"tracking_type": "Overall",
"open_rate": 0.75,
"click_rate": 0.6,
"unique_opens": 175,
"multiple_opens": 100,
"unopened": 59,
"total_opens": 275,
"unique_clicks": 44,
"multiple_clicks": 25,
"total_clicks": 69,
"click_per_unique_open_rate": 25,
"desktop_open_rate": 70,
"mobile_open_rate": 30,
"tags": [],
"recipient_count": 234,
"recipients": "Executive Team, Board Members",
"read_time_glanced": 10,
"read_time_skimmed": 20,
"read_time_read": 70,
"surveys_count": 8,
"enps_score_average": 9,
"enps_reactions_count": 80,
"enps_comments_count": 25,
"survey_reactions_count": 120,
"survey_reactions_comments_count": 40
}
],
"meta": {
"page": 1,
"total_pages": 1,
"total_entries": 3,
"per_page": 100
}
}