Get a campaign
Not archived-filtered (unlike listCampaigns' default): an archived campaign stays readable forever so a link that still references it, and its analytics, keep resolving to something the caller can see.
View as MarkdownAuthorization
bearer In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/campaigns/string"{ "campaign": { "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" }}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.
Update a campaign, or archive/unarchive it
Partial update — only provided fields change. Renaming re-checks the per-workspace uniqueness constraint (409 on conflict). Editing UTM values only affects links created (or re-pointed to this campaign) AFTER the change — every link created earlier keeps the immutable snapshot it was given at that time (EAS-73). archived=true stops the campaign from being selectable for new links without touching any link already using it; archived=false un-archives it.