MCP

campaign/get

Tool: read

List campaigns with optional status filter and pagination.

Returns a paginated list of campaigns ordered by name (descending). Archived campaigns are excluded by default unless pageQuery.status=archived or pageQuery.includeArchived=true.

The only filters are status and includeArchived — there is no text search here. Unlike sender/get, this operation has no search (and no name) argument: to find a campaign by name, page through and match client-side. And status is scheduler state, not sending history — Running means the campaign is currently set to send, which says nothing about how much it has sent, so the campaigns with real send and reply history are frequently Paused or Completed. For a performance question, list without a status filter and pick by each item's sentCount / replyCount rather than pre-filtering on Running. Sweeping every campaign — compliance checks, "has this contact ever been mailed?" — needs pageQuery.includeArchived: true; archived campaigns are hidden by default and their past sends still count.

Set your own page size. pageQuery.limit (flat alias limit) takes 1–30 and defaults to 10; pageQuery.page walks the pages. Each item carries the campaign's HTML body, which is what makes wide pages expensive — pair fullBodies: true with a small limit (see the Response note below).

Argument names are literal keys, dots included — pass "pageQuery.status", not a nested pageQuery object.

Arguments

name type req notes
pageQuery.page integer Page number, 1-indexed (default 1)
pageQuery.limit integer limit default 10, max 30; see schemas/pagination
pageQuery.startingAfter integer Cursor for next page (int64)
pageQuery.status string Exact status filter (case-insensitive), unvalidated — an unrecognized value returns an empty 200, not an error (call-contract). Observed: Draft, Running, Paused, Completed, Archived
pageQuery.includeArchived boolean Include archived campaigns (default false)
fullBodies boolean return every body in full instead of a preview — see schemas/pagination

Flat page/limit/startingAfter/includeArchived/status are accepted as aliases for the pageQuery.* names above.

Response

200 — Paginated list; object: {items: Campaign[], pagination}; each item: see schemas/campaign. Pagination: see schemas/pagination. Deltas: none.

Each item includes the campaign's HTML body. Over 1,500 characters it arrives as a truncated plain-text preview; pass fullBodies: true for the full HTML, and never write a preview back — see schemas/pagination.

Errors: 400, 401, 406, 422, 429, 500 — shared schema: schemas/errors.

Invoke

Call read with name: "campaign/get".