Schedule campaign
curl --request POST \
--url https://prod-platform-core-api.20x.business/api/v1/campaigns/{id}/schedule \
--header 'Authorization: Bearer <token>'import requests
url = "https://prod-platform-core-api.20x.business/api/v1/campaigns/{id}/schedule"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://prod-platform-core-api.20x.business/api/v1/campaigns/{id}/schedule', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Voice Campaigns
Schedule campaign
Move a campaign to SCHEDULED status so it starts at its scheduledAt timestamp
POST
/
campaigns
/
{id}
/
schedule
Schedule campaign
curl --request POST \
--url https://prod-platform-core-api.20x.business/api/v1/campaigns/{id}/schedule \
--header 'Authorization: Bearer <token>'import requests
url = "https://prod-platform-core-api.20x.business/api/v1/campaigns/{id}/schedule"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://prod-platform-core-api.20x.business/api/v1/campaigns/{id}/schedule', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Transitions a campaign to
SCHEDULED status and registers the exact timer in the scheduler service. The campaign begins dialing automatically at its configured scheduledAt timestamp (or immediately if scheduledAt is null or in the past).
Path parameters
string
required
The unique UUID of the campaign to schedule.
curl -X POST https://prod-campaign-engine-api.20x.business/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/schedule \
-H "Authorization: Bearer $AGENTIC_OS_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
import requests
response = requests.post(
"https://prod-campaign-engine-api.20x.business/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/schedule",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json={},
)
print(response.json())
const response = await fetch(
"https://prod-campaign-engine-api.20x.business/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/schedule",
{
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({}),
},
);
const data = await response.json();
console.log(data);
Response
{
"id": "770e8400-e29b-41d4-a716-446655440000",
"name": "Q3 Renewal Outreach",
"status": "SCHEDULED",
"scheduledAt": "2026-06-10T09:00:00.000Z",
"updatedAt": "2026-06-01T10:20:00.000Z"
}

