Menu

List campaigns

GET/v1/campaigns

Requires an API key with the campaigns:read scope. About keys and scopes

Returns campaigns in this organization, newest first by default. Pass status to list only campaigns in that state. Results are cursor-paginated: pass meta.pagination.nextCursor back as cursor until it comes back null. The cursor is opaque — do not construct or parse one.

Query parameters

limitintegeroptional

min > 0 · max 100 · default 20

cursorstringoptional

1–2048 characters

qstringoptional

1–200 characters

statusstringoptional

Only campaigns in this status.

one of draft, scheduled, sending, sent, cancelled

archivedstringoptional

true lists archived campaigns only; unset or false leaves them out.

one of true, false · default "false"

Returns

Returns 200 OK with a list of CampaignListItem objects in data, and the next page's cursor in meta (see pagination). Otherwise returns an error; Errors lists every code and which to retry.

idstringrequired

uuid

namestringrequired
channelsstring[]required

The channels it sends on.

groupIdstring | nullrequired

The group it goes to, if any.

uuid

segmentIdstring | nullrequired

The segment it goes to, if any.

uuid

audienceRulesobject | nullrequired

Inline rules choosing the audience, if any. At most one audience is set.

One of 2 shapes
Match all
1 child attribute
allobject[]required

Every rule or nested group must match.

at least 1 item · at most 20 items

Match any
1 child attribute
anyobject[]required

At least one rule or nested group must match.

at least 1 item · at most 20 items

topicIdstring | nullrequired

Sends only to contacts the topic reaches; null sends to everyone with consent.

uuid

statusstringrequired

Where the campaign is in its lifecycle.

one of draft, scheduled, sending, sent, cancelled

sendAtstring | nullrequired

When it is scheduled to send, if at all.

date-time

localSendAtstring | nullrequired

Set for a local-time send: the wall-clock time each contact receives it at.

archivedAtstring | nullrequired

When it was archived; archived campaigns are left out of the list by default.

date-time

createdAtstringrequired

date-time

updatedAtstringrequired

date-time