campaigns.update
Change a campaign that has not started.
You can update name, concurrency, time slots, and retry config. Updates are only allowed on campaigns in draft or paused status — pause the campaign first if it is currently running.
Reference
PATCH/api/v1/campaigns/{campaign_id}
- Auth
- API key in
X-API-Key - Content
- application/json
- Returns
- 200 · CampaignResponse
Update campaign settings (name, retry config, max concurrency, schedule)
Arguments
| Argument | In | Type | Required | Description |
|---|---|---|---|---|
campaign_id | path | integer | required | |
name | body | string | optional | |
retry_config | body | RetryConfigRequest | optional | |
max_concurrency | body | integer | optional | |
schedule_config | body | ScheduleConfigRequest | optional | |
circuit_breaker | body | CircuitBreakerConfigRequest | optional |
Example request
curl -X PATCH "https://api.decibyl.ai/api/v1/campaigns/<campaign_id>" \
-H "X-API-Key: dcb_your_key" \
-H "Content-Type: application/json" \
-d '{"name":"string","retry_config":{"enabled":true,"max_retries":2,"retry_delay_seconds":120,"retry_on_busy":true,"retry_on_no_answer":true,"retry_on_voicemail":true},"max_concurrency":1,"schedule_config":{"enabled":true,"timezone":"UTC","slots":[{"day_of_week":1,"start_time":"string","end_time":"string"}]},"circuit_breaker":{"enabled":true,"failure_threshold":0.5,"window_seconds":120,"min_calls_in_window":5}}'Response
{
"id": 1,
"name": "string",
"workflow_id": 1,
"workflow_name": "string",
"state": "string",
"source_type": "string",
"source_id": "string",
"total_rows": 1,
"processed_rows": 1,
"failed_rows": 1,
"created_at": "2026-09-14T09:30:00Z",
"started_at": "2026-09-14T09:30:00Z",
"completed_at": "2026-09-14T09:30:00Z",
"retry_config": {
"enabled": true,
"max_retries": 1,
"retry_delay_seconds": 1,
"retry_on_busy": true,
"retry_on_no_answer": true,
"retry_on_voicemail": true
},
"max_concurrency": 1,
"schedule_config": {
"enabled": true,
"timezone": "string",
"slots": [
{
"day_of_week": 1,
"start_time": "string",
"end_time": "string"
}
]
},
"circuit_breaker": {
"enabled": false,
"failure_threshold": 0.5,
"window_seconds": 120,
"min_calls_in_window": 5
},
"executed_count": 0,
"total_queued_count": 0,
"parent_campaign_id": 1,
"redialed_campaign_id": 1,
"telephony_configuration_id": 1,
"telephony_configuration_name": "string",
"consent_attested_at": "2026-09-14T09:30:00Z",
"consent_attested_by": 1,
"logs": [
{
"ts": "string",
"level": "string",
"event": "string",
"message": "string",
"details": {}
}
]
}Errors
| Status | When |
|---|---|
404 | Not found |
422 | Validation Error |