List the workspace's campaigns
Campaigns in the caller's workspace, newest first, paginated — shared by everyone in the workspace, not just their creator (EAS-73). Archived campaigns are hidden unless archived=1. q searches name server-side.
View as MarkdownAuthorization
bearer In: header
Query Parameters
"1" lists archived campaigns instead of live ones
Value in
- "1"
Defaults to newest-updated. clicks/links order by a LEFT JOIN aggregate over each campaign's links, not a campaigns column, so they're still fully paginated (not a re-sort of one page).
"updated"Value in
- "updated"
- "name"
- "clicks"
- "links"
value <= 100500Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/campaigns"{ "campaigns": [ { "id": "string", "name": "string", "utmSource": "string", "utmMedium": "string", "utmCampaign": "string", "utmTerm": "string", "utmContent": "string", "archived": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ], "total": 0, "limit": 0, "offset": 0}Replay a dead delivery
Requeues a dead delivery for another attempt, reusing the same delivery record and its existing id — never a new one — so the X-Easerix-Delivery header the receiving endpoint already saw stays identical across the replay. Only a delivery currently in the dead state can be replayed; every other status is rejected. Delivery itself happens the normal way afterward (the usual claim/lease/ retry machinery), not synchronously from this call.
Create a campaign
Creates a reusable UTM configuration. name must be unique within the caller's workspace (409 on conflict). Every UTM field is optional and defaults to '' — omitted fields never block creation, they're simply left blank in the snapshot links copy from this campaign.