Generated from Postwind commit a19b2e4 OpenAPI 0.1.0 synced

GET/api/v1/projects/{project_id}/campaigns

Needs scope: readMCP tool: list_campaigns operationId list_campaigns

List a project's campaigns

The project’s campaigns in creation order, a page at a time, optionally of one status. Needs scope read; an admin key may list any project’s.

Parameters

NameInTypeDescription
project_idrequired path string · uuid The project’s id
status query string Only campaigns in this status: draft, scheduled, launching, sending, paused, completed, cancelled, failed
limit query integer · int64

1–500

Page size, 1 to 500; default 50
cursor query string next_cursor of the previous page

Request body

None.

Responses

200

One page

  • CampaignList object · all fields required
  • itemsarray of Campaign

    In creation order.

    23 fields
    • Campaign object · all fields required
    • completed_atstring · date-time | null
    • created_atstring · date-time
    • from_emailstring · email | null

      null: the project’s settings.from_email.

    • from_namestring | null

      null: the project’s settings.from_name.

    • idstring · uuid

      example 01900000-0000-7000-8000-000000000001

    • last_errorstring | null

      Why the launch failed; null unless failed.

    • launched_atstring · date-time | null
    • list_idsarray of string

      In the order given.

    • namestring

      example Spring sale

    • partial_versionsmap of string → integer · int32

      The versions of the partials fixed at launch, by name; {} before.

    • project_idstring · uuid
    • reply_tostring · email | null

      null: the project’s settings.reply_to.

    • scheduled_atstring · date-time | null

      When a scheduled campaign launches; null unless scheduled.

    • shard_countinteger · int32 | null

      Fixed at launch; null before.

      ≥ 0

    • statusstring

      draft, scheduled, launching, sending, paused, completed, cancelled or failed.

      example draft

    • subject_overridestring | null

      null: the template’s subject.

    • template_idstring · uuid
    • template_versioninteger · int32 | null

      The template’s version fixed at launch; null before.

      ≥ 0

    • throttle_per_hourinteger · int32 | null

      null: the project’s default_throttle_per_hour, or no limit.

      ≥ 0

    • total_recipientsinteger · int64 | null

      Recipients of the launch’s snapshot; null before.

      ≥ 0

    • tracking_overrideTrackingOverride | null

      null: the project’s settings.tracking.

      2 fields
    • transport_overridestring | null

      null: the project’s transport, then the node’s default.

    • updated_atstring · date-time

      The latest change: creation, fields, status.

  • next_cursorstring | null

    Pass as cursor for the next page; null on the last page.

403

A project key without scope read (forbidden)

Problem (application/problem+json)

404

No such project, or another project’s (not_found)

Problem (application/problem+json)

429

The key is over its rate limit, api.rate_limit_per_minute requests a minute on this node (rate_limited)

HeaderTypeDescription
Retry-AfterintegerSeconds until the key’s next request passes; rounded up.

Problem (application/problem+json)

504

Postwind’s storage did not answer within its time limit (storage_timeout). A change the request makes may still take effect: check before repeating it. A repeat with the same Idempotency-Key never runs it twice: it is 409 idempotency_key_in_progress until the key’s 24 h end

Problem (application/problem+json)