API
Email campaign results on the API
GET /email-campaigns returns the email campaigns you have sent, with how many people each one reached, opened and clicked, so you can build your own reporting without taking screenshots.
Last updated October 14, 2026
GET https://api.gorilladash.com/api/v1/email-campaigns lists the email campaigns your organisation or tribe has sent, newest first, with the same results the campaign's analytics panel shows: recipients, delivered, opened, clicked, unsubscribed, failed and bounced.
Only campaigns that have finished sending are listed. Drafts, scheduled campaigns and campaigns a tribe rejected never appear, and a Tribe Campaign's results include only the tribes that sent their copy.
Giving a key access
The endpoints are listed under Marketing > Email Campaigns in the key's Permissions. Keys with Full Access, and keys made before endpoint permissions existed, can already read them. A key limited to chosen endpoints needs Email Campaigns ticked, so create a new key with it ticked if yours does not have it.
Parameters
| Parameter | Notes |
|---|---|
page | Page number, from 1. |
results_per_page | Up to 25. Defaults to 25. |
sent_after | Campaigns sent at or after this moment. |
sent_before | Campaigns sent strictly before this moment. Must be later than sent_after. |
tribe_id | What one tribe sent. Organisation keys only; see below. |
Both dates take a full timestamp with its time zone, such as 2026-09-01T00:00:00+10:00. URL-encode it, because a + left as it is arrives as a space: send +10:00 as %2B10:00. To report on one month, set sent_after to the first moment of the month and sent_before to the first moment of the next one. A campaign sent exactly at midnight then belongs to one month only.
There is no updated_after filter, because a campaign's counts change every time someone opens or clicks it. To keep a report current, read its sent_after and sent_before window again.
Organisation and tribe campaigns
A tribe is one location, branch or business unit inside your organisation. Campaigns reach people in three ways, and type tells you which:
| type | What it is |
|---|---|
Organisation | Sent by the organisation to its own mailing list. |
Tribe Campaign | Written by the organisation and pushed to several tribes, each of which sends its own copy. Its results are the total across every tribe. |
Tribe | Sent by one tribe. Either the tribe's own campaign, or its copy of a Tribe Campaign, in which case parent_campaign_id names the Tribe Campaign. |
- An organisation key without
tribe_idlists the Organisation campaigns, the Tribe Campaigns (each once, with the total) and every tribe's own campaigns. - An organisation key with
tribe_idlists everything that tribe sent, including its copies of Tribe Campaigns, each with that tribe's own results. - A tribe key always lists its own tribe. Asking it for a different
tribe_idis refused with a 403.
What comes back
| Field | Notes |
|---|---|
id | The campaign id. |
name | The campaign's name in Gorilla Dash. |
subject | The subject line of the email it sent. |
type | Organisation, Tribe Campaign or Tribe, as above. |
status | Always Finished here. |
sent_at | When it was sent, in UTC. For a Tribe Campaign, this is when the organisation scheduled it, or for an older one saved without a date, when its first tribe sent it. Each tribe's own send time is in tribe_campaigns. |
parent_campaign_id | For a tribe's copy of a Tribe Campaign, the Tribe Campaign's id. Otherwise null. |
tribe_id, tribe | The tribe that sent it. Null for Organisation and Tribe Campaign campaigns. |
audience | Who it was sent to: tribes, mailing_lists, person_categories and tribe_types, each a list of id and name. |
preview_image_url | A picture of the email, for showing the design in a report. Null if none was captured. |
counts | The results, described below. |
created_at, updated_at | When the campaign record was created and last edited. |
What each count means
| Count | Meaning |
|---|---|
recipients | People the campaign was addressed to. |
delivered | Emails the receiving mail server accepted. |
opened | People who opened it, each counted once however often they opened it. |
clicked | People who clicked a link, each counted once. A click on the unsubscribe link is not counted here. |
unsubscribed | Unsubscribes from this campaign. |
failed | Emails that could not be delivered. |
bounced | Emails returned by the receiving mail server. |
The campaign's analytics panel shows delivered, failed and bounced as a percentage of recipients, opened as a percentage of delivered, and clicked and unsubscribed as a percentage of both opened and delivered. Work your percentages out the same way and they will read like the ones your team sees.
Getting one campaign
GET https://api.gorilladash.com/api/v1/email-campaigns/{id} returns one campaign with the same fields as the list. For a Tribe Campaign it also returns tribe_campaigns, one entry per tribe that has sent its copy, each with its own id, tribe, sent_at and counts. A campaign that has not finished sending, or that belongs to another organisation or tribe, returns 404.
This endpoint is not cached, because its numbers change as opens and clicks arrive.
