PUT
Update Campaign Status
Triggers an explicit status transition on a campaign by sending an action. ended and cancelled are terminal — once reached, no further transitions are possible. A campaign reaches ended automatically when its end_timestamp passes.

Transitions

Actions

  • pause — Temporarily stops call dispatch. The campaign retains its queue; calls resume when you send resume. Use this before editing a campaign via PATCH /campaigns/{id}.
  • resume — Restarts dispatch from where it left off. Status returns to scheduled and activates automatically if within the campaign window.
  • cancel — Permanently stops the campaign. All pending calls are dropped. This cannot be undone.
To make changes to an active campaign: pause → update → resume. Pausing is instant and does not lose any queue state.

Authorizations

X-API-Key
string
header
required

Path Parameters

org_id
string
required
workspace_id
string
required
campaign_id
string
required

Body

application/json
action
enum<string>
required

The new status to set for the campaign

Available options:
pause,
resume,
cancel
Example:

"pause"

Response

Successful Response

Summary metadata for a campaign, returned in list responses.

name
string
required

Name of the resource

Example:

"Q1 Payment Reminders"

campaign_id
string
required

Unique identifier for the campaign

Example:

"camp-a1b2c3d4"

status
enum<string>
required

Current status

Available options:
ended,
active,
paused,
scheduled,
cancelled
Example:

"scheduled"

app_id
string
required

ID of the agent

Example:

"payment-reminder-agent"

created_by
string
required

User who created this resource

Example:

"user@company.com"

created_at
string<date-time>
required

Timestamp when the resource was created (ISO 8601)

Example:

"2026-03-28T10:00:00Z"

updated_at
string<date-time>
required

Timestamp when the resource was last updated (ISO 8601)

Example:

"2026-03-28T10:00:00Z"

description
string | null

Optional description

Example:

"Outbound reminder calls for Q1 overdue accounts"

app_type
enum<string>
default:agent

Type of agent

Available options:
agent
Example:

"agent"

app_version
integer | null

Version of the agent to use

Example:

1

updated_by
string | null

User who last updated this resource

Example:

"user@example.com"