List campaigns
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/campaigns \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/campaigns"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"campaigns": [
{
"id": "3f1c2a8e-6b0d-4f6e-9a51-0d2b7c9e4a10",
"project_id": "8d2e4b1a-1c3f-4e5a-9b7d-6f0a2c4e8b13",
"name": "March renewals",
"agent_id": "5b7e9c1d-2a4f-4c6e-8d0b-1f3a5c7e9b24",
"from_number": "+14155550100",
"start_time": "2026-03-02T09:00:00.000Z",
"callback": false,
"retries": 2,
"retry_delay_seconds": 3600,
"max_concurrency": 5,
"calling_window": {
"start": "09:00",
"end": "18:00",
"days": [
1,
2,
3,
4,
5
],
"timezone": "America/New_York"
},
"status": "running",
"started_at": "2026-03-02T09:00:04.000Z",
"canceled_at": null,
"ended_at": null,
"created_at": "2026-02-27T15:12:40.000Z",
"updated_at": "2026-03-02T09:00:04.000Z",
"item_counts": {
"draft": 0,
"scheduled": 118,
"ongoing": 5,
"failed": 3,
"ended": 71,
"rescheduled": 2,
"invalid": 1
}
}
]
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Project not found"
}Campaigns
List campaigns
Returns every outbound calling campaign in the project, newest first, each with a count of its contacts per status. Filter by campaign status with status.
GET
/
v1
/
projects
/
{projectId}
/
campaigns
List campaigns
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/campaigns \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/campaigns"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"campaigns": [
{
"id": "3f1c2a8e-6b0d-4f6e-9a51-0d2b7c9e4a10",
"project_id": "8d2e4b1a-1c3f-4e5a-9b7d-6f0a2c4e8b13",
"name": "March renewals",
"agent_id": "5b7e9c1d-2a4f-4c6e-8d0b-1f3a5c7e9b24",
"from_number": "+14155550100",
"start_time": "2026-03-02T09:00:00.000Z",
"callback": false,
"retries": 2,
"retry_delay_seconds": 3600,
"max_concurrency": 5,
"calling_window": {
"start": "09:00",
"end": "18:00",
"days": [
1,
2,
3,
4,
5
],
"timezone": "America/New_York"
},
"status": "running",
"started_at": "2026-03-02T09:00:04.000Z",
"canceled_at": null,
"ended_at": null,
"created_at": "2026-02-27T15:12:40.000Z",
"updated_at": "2026-03-02T09:00:04.000Z",
"item_counts": {
"draft": 0,
"scheduled": 118,
"ongoing": 5,
"failed": 3,
"ended": 71,
"rescheduled": 2,
"invalid": 1
}
}
]
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Project not found"
}Authorizations
Your organization API key (it starts with anek_org_). The same key works on the Voice API and the Support API. See Authentication.
Path Parameters
Project id
Query Parameters
Comma-separated campaign statuses to return (draft, scheduled, running, canceled, ended). Omit to return all campaigns.
Response
The project's campaigns
Show child attributes
Show child attributes