Update a dialer campaign
Partially updates the campaign’s configuration and/or moves it through its lifecycle. Every key is optional and an omitted key is left unchanged; a supplied policy bundle replaces that bundle wholesale. Legal status transitions: initializing → active | archived; active ↔ inactive; active → archived; inactive → archived; archived → inactive. An illegal transition — including deleted, which only the delete call may set — returns 422. Status changes never conflict with running work: in-flight dialing sessions drain naturally once the status is no longer active.
Authorizations
HTTP Basic Authentication. Use your API Access Key ID as the username and your API Access Key Secret as the password. Generate keys in the CloudTalk Dashboard under Account -> Settings -> API Keys (https://dashboard.cloudtalk.io/menu/account/settings/API-keys).
Path Parameters
Dialer campaign ID.
^[1-9][0-9]*$Body
Body of the campaign update call. Every key is optional — an omitted key is left unchanged. status drives the lifecycle transition; deleted is never a valid target here (use the delete call).
Human-readable campaign name.
255"Q3 renewals — EMEA"
Dialing mode.
sequential, parallel "parallel"
Target lifecycle status. Legal transitions: initializing → active | archived; active ↔ inactive; active → archived; inactive → archived; archived → inactive. A patch that leaves the status unchanged is a no-op. deleted passes schema validation but is always rejected with 422 — only the delete call sets it.
initializing, active, inactive, archived, deleted "active"
Per-call behaviour bundle. Every knob is optional — an omitted knob keeps the service default. Stored verbatim, so a bundle read back may also carry knobs added by a newer release.
Allocation-batch and dynamic queue-sizing bundle. Every knob is optional.
Re-dial rules bundle. Every knob is optional.
Campaign start-window bundle. Every knob is optional.
Contact-eligibility expiry bundle — drives how long an allocated contact stays held. Every knob is optional.
Ordered, duplicate-free subset of the waterfall categories. Contacts are served tier by tier in this order.
favorite, rescheduled, retry, fresh Booleans gating what an agent may do to their queue. Deny by default — an omitted key is false.
Call script to link to the campaign; null clears the link, an omitted key leaves it unchanged. Sent as an integer in requests; responses return the id as a string.
x >= 1310
Survey to link to the campaign; null clears the link, an omitted key leaves it unchanged. Sent as an integer in requests; responses return the id as a string.
x >= 144
Response
The updated campaign.
A dialer campaign. Identifiers are returned as strings because they are 64-bit integers server-side.
Campaign ID.
"42"
Human-readable campaign name.
"Q3 renewals"
Dialing mode.
sequential, parallel "sequential"
Lifecycle status. initializing: created, membership backfill pending. active: the only dialable state. inactive: paused, fully reversible. archived: review/analytics state, not dialable, exits only back to inactive. deleted: soft-deleted, terminal.
initializing, active, inactive, archived, deleted "active"
Per-call behaviour bundle. Every knob is optional — an omitted knob keeps the service default. Stored verbatim, so a bundle read back may also carry knobs added by a newer release.
Allocation-batch and dynamic queue-sizing bundle. Every knob is optional.
Re-dial rules bundle. Every knob is optional.
Campaign start-window bundle. Every knob is optional.
Contact-eligibility expiry bundle — drives how long an allocated contact stays held. Every knob is optional.
Ordered, duplicate-free subset of the waterfall categories.
favorite, rescheduled, retry, fresh Booleans gating what an agent may do to their queue. Deny by default — an omitted key is false.
Linked call-script ID; null when none.
"310"
Linked survey ID; null when none.
"44"
Creation timestamp (ISO 8601, UTC).
"2026-08-01T09:15:00.000Z"
Last-update timestamp (ISO 8601, UTC).
"2026-08-04T11:42:07.000Z"
When the campaign entered archived; cleared on exit, so non-null only while the status is archived.
null
Soft-delete timestamp; null unless the campaign has been deleted.
null