Update Campaign
Update an existing campaign.
Endpoint
POST/update-campaign
Content-Type: application/json
Authentication: Required (workspace auth)
Request Body
To update a campaign, send itsid and any fields you want to change.
Notes
idis required — it identifies the campaign to update.- Only the fields you send are updated.
campaign_statusaccepts a string value:draft,inprogress,hold, orpause.max_delaymust be passed as a JSON string with keysd(days),h(hours), andm(minutes) as numbers.start_dateandend_datemust be inYYYY-MM-DDformat (e.g.,"2025-12-05").max_retrycannot be greater than 50.
Conditions Format
Theconditions field accepts an array of groups. Each group contains rules that are evaluated together.
Structure:
| Field | Type | Required | Description |
|---|---|---|---|
join | string | No | "OR" or "AND" — how this group connects with the previous group. Omit for the first group. |
rules | array | Yes | Array of condition rules within this group. Rules within a group are always joined with AND. |
| Field | Type | Required | Description |
|---|---|---|---|
field | string | Yes | The field name to evaluate (from agent’s metadata input fields) |
operator | string | Yes | One of the allowed operators (see table below) |
value | string | Yes | The value to match against |
| Operator | Description |
|---|---|
== | Equals (case-insensitive) |
!= | Not equals |
> | Greater than (numeric) |
>= | Greater than or equal (numeric) |
< | Less than (numeric) |
<= | Less than or equal (numeric) |
contains | Value contains the substring |
startsWith | Value starts with the string |
endsWith | Value ends with the string |
- Rules within the same group are joined with AND.
- Groups are joined with each other using the
joinfield ("OR"or"AND").
"conditions": null.
Example cURL
Headers
API token for authentication
Body
Campaign ID to update
Updated voice agent to use for this campaign
Updated campaign name (must remain unique within workspace)
Updated description
Updated start date in YYYY-MM-DD format (e.g. 2025-12-05)
Updated end date in YYYY-MM-DD format (e.g. 2026-01-05)
Updated maximum retry attempts (cannot be greater than 50)
x <= 50Delay between retries as a JSON string. Keys: d (days), h (hours), m (minutes) with numeric values. Example: {"d":1,"h":2,"m":30}
Updated campaign status.
draft, inprogress, hold, pause Condition groups with AND/OR logic. Each group contains rules joined by AND. Groups are joined by the 'join' field (OR or AND).
Response
Campaign updated successfully

