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.