List campaign attempts
curl --request GET \
--url https://prod-platform-core-api.20x.business/api/v1/campaigns/{campaignId}/attempts \
--header 'Authorization: Bearer <token>'import requests
url = "https://prod-platform-core-api.20x.business/api/v1/campaigns/{campaignId}/attempts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://prod-platform-core-api.20x.business/api/v1/campaigns/{campaignId}/attempts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Voice Campaigns
List campaign attempts
Retrieve individual contact call attempt records for a campaign
GET
/
campaigns
/
{campaignId}
/
attempts
List campaign attempts
curl --request GET \
--url https://prod-platform-core-api.20x.business/api/v1/campaigns/{campaignId}/attempts \
--header 'Authorization: Bearer <token>'import requests
url = "https://prod-platform-core-api.20x.business/api/v1/campaigns/{campaignId}/attempts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://prod-platform-core-api.20x.business/api/v1/campaigns/{campaignId}/attempts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Returns the chronological list of call attempts for a campaign, with contact phone numbers, call durations, dispositions, and timestamps.
Path parameters
string
required
The unique UUID of the campaign.
Query parameters
string
Filter attempts by status — one of
PENDING, DIALING, ANSWERED, COMPLETED, FAILED, NO_ANSWER, BUSY, CANCELLED.curl -X GET "https://prod-campaign-engine-api.20x.business/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/attempts?status=COMPLETED" \
-H "Authorization: Bearer $AGENTIC_OS_API_KEY"
import requests
response = requests.get(
"https://prod-campaign-engine-api.20x.business/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/attempts",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"status": "COMPLETED"},
)
print(response.json())
const response = await fetch(
"https://prod-campaign-engine-api.20x.business/api/v1/campaigns/770e8400-e29b-41d4-a716-446655440000/attempts?status=COMPLETED",
{
method: "GET",
headers: { Authorization: `Bearer ${API_KEY}` },
},
);
const data = await response.json();
console.log(data);
Response
[
{
"id": "11111111-2222-3333-4444-555555555555",
"campaignId": "770e8400-e29b-41d4-a716-446655440000",
"contactId": "99999999-8888-7777-6666-555555555555",
"attemptNo": 1,
"status": "COMPLETED",
"disposition": "ANSWERED",
"dialedAt": "2026-06-01T10:10:00.000Z",
"answeredAt": "2026-06-01T10:10:15.000Z",
"endedAt": "2026-06-01T10:12:45.000Z",
"durationSec": 150,
"createdAt": "2026-06-01T10:05:00.000Z",
"contact": {
"phoneNumber": "+919876543210",
"name": "Asha Patel"
}
}
]

