Create a redial campaign
curl --request POST \
--url https://agents.labs.bandwidth.com/api/v1/campaign/{campaign_id}/redial \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"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
},
"retry_on_busy": true,
"retry_on_no_answer": true,
"retry_on_voicemail": true
}
'import requests
url = "https://agents.labs.bandwidth.com/api/v1/campaign/{campaign_id}/redial"
payload = {
"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
},
"retry_on_busy": True,
"retry_on_no_answer": True,
"retry_on_voicemail": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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
},
retry_on_busy: true,
retry_on_no_answer: true,
retry_on_voicemail: true
})
};
fetch('https://agents.labs.bandwidth.com/api/v1/campaign/{campaign_id}/redial', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"failed_rows": 123,
"id": 123,
"name": "<string>",
"processed_rows": 123,
"retry_config": {
"enabled": true,
"max_retries": 123,
"retry_delay_seconds": 123,
"retry_on_busy": true,
"retry_on_no_answer": true,
"retry_on_voicemail": true
},
"source_id": "<string>",
"source_type": "<string>",
"started_at": "2023-11-07T05:31:56Z",
"state": "<string>",
"total_rows": 123,
"workflow_id": 123,
"workflow_name": "<string>",
"circuit_breaker": {
"enabled": false,
"failure_threshold": 0.5,
"min_calls_in_window": 5,
"window_seconds": 120
},
"executed_count": 0,
"logs": [
{
"event": "<string>",
"level": "<string>",
"message": "<string>",
"ts": "<string>",
"details": {}
}
],
"max_concurrency": 123,
"parent_campaign_id": 123,
"redialed_campaign_id": 123,
"schedule_config": {
"enabled": true,
"slots": [
{
"day_of_week": 123,
"end_time": "<string>",
"start_time": "<string>"
}
],
"timezone": "<string>"
},
"telephony_configuration_id": 123,
"telephony_configuration_name": "<string>",
"total_queued_count": 0
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Campaigns
Create a redial campaign
Create a new campaign from selected unsuccessful outcomes.
POST
/
api
/
v1
/
campaign
/
{campaign_id}
/
redial
Create a redial campaign
curl --request POST \
--url https://agents.labs.bandwidth.com/api/v1/campaign/{campaign_id}/redial \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"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
},
"retry_on_busy": true,
"retry_on_no_answer": true,
"retry_on_voicemail": true
}
'import requests
url = "https://agents.labs.bandwidth.com/api/v1/campaign/{campaign_id}/redial"
payload = {
"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
},
"retry_on_busy": True,
"retry_on_no_answer": True,
"retry_on_voicemail": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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
},
retry_on_busy: true,
retry_on_no_answer: true,
retry_on_voicemail: true
})
};
fetch('https://agents.labs.bandwidth.com/api/v1/campaign/{campaign_id}/redial', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"failed_rows": 123,
"id": 123,
"name": "<string>",
"processed_rows": 123,
"retry_config": {
"enabled": true,
"max_retries": 123,
"retry_delay_seconds": 123,
"retry_on_busy": true,
"retry_on_no_answer": true,
"retry_on_voicemail": true
},
"source_id": "<string>",
"source_type": "<string>",
"started_at": "2023-11-07T05:31:56Z",
"state": "<string>",
"total_rows": 123,
"workflow_id": 123,
"workflow_name": "<string>",
"circuit_breaker": {
"enabled": false,
"failure_threshold": 0.5,
"min_calls_in_window": 5,
"window_seconds": 120
},
"executed_count": 0,
"logs": [
{
"event": "<string>",
"level": "<string>",
"message": "<string>",
"ts": "<string>",
"details": {}
}
],
"max_concurrency": 123,
"parent_campaign_id": 123,
"redialed_campaign_id": 123,
"schedule_config": {
"enabled": true,
"slots": [
{
"day_of_week": 123,
"end_time": "<string>",
"start_time": "<string>"
}
],
"timezone": "<string>"
},
"telephony_configuration_id": 123,
"telephony_configuration_name": "<string>",
"total_queued_count": 0
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Requires a Labs
super_user OAuth bearer token plus Editor, Admin, or Owner. The source campaign must be completed and can be redialed at most once. Choose at least one of voicemail, no answer, or busy.
The new campaign starts in created state and preserves the selected contacts’ original context. It does not start dialing until explicitly started. Ineligible source state, previous redial, or no matching contacts returns 400; an unknown campaign returns 404.Authorizations
Bandwidth Labs OAuth access token. Uses the user's selected workspace; the workspace header is not required. Do not also send an API key. Bearer-only operations may additionally require the Labs super_user role.
Path Parameters
Body
application/json
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes