Skip to navigation

List campaigns

View as Markdown

Returns the workspace’s campaigns, newest first (created_at descending). Each item carries the agent’s name and live contact aggregates (total_contacts, pending_contacts, called_contacts, converted_contacts, conversion_rate). Use it for a dashboard or to find a campaign’s id. For the full row, including the product context and the WhatsApp or email content, call GET /api/campaigns/{campaignId}.

Pagination is by page number: page and limit are echoed back in meta, but there is no total count. Keep requesting the next page until you get fewer than limit items. Soft-deleted campaigns and the system-owned manual campaign (it holds ad-hoc conversations) are never listed.

Consistency. Pages are cached for up to 60 seconds. API mutations clear the cache at once. Changes the system makes by itself, like auto-completion or a system pause, can take up to 60 seconds to appear.

Access

  • Required scope: read (or write/full).
  • Rate limit: General API — 120 to 600 requests/min per workspace depending on plan. See Rate limits.
  • Plan: Available on every plan.

Authentication

AuthorizationBearer

Workspace API key: jl_ followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (Settings → API Keys) and sent as Authorization: Bearer jl_.... The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys.

ScopeGET / HEADPOST / PUT / PATCH / DELETEAdmin-only routes
readYesNoNo
writeYesYesNo
fullYesYesYes

Operations restricted to admins or owners reject keys without the full scope with 403, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See Authentication.

Query parameters

pageintegerOptional1-100000Defaults to 1

1-indexed page number. A value that is not an integer between 1 and 100000 is rejected with 400.

limitintegerOptional1-100Defaults to 20

Campaigns per page. A value that is not an integer between 1 and 100 is rejected with 400 (it is not clamped).

Response

One page of campaigns.
datalist of objects
metaobject
The pagination parameters that were applied. There is no total.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
429
Too Many Requests Error