curl --request POST \
--url https://api.telleo.ai/v1/calls/{id}/cancel \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.telleo.ai/v1/calls/{id}/cancel"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.telleo.ai/v1/calls/{id}/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "call_6f1d2c9a8b7e4f3a2d1c0b9a",
"object": "call",
"status": "queued",
"status_reason": "<string>",
"scheduled_for": "2023-11-07T05:31:56Z",
"agent_id": "<string>",
"phone_number": "<string>",
"contact": {
"name": "<string>",
"email": "[email protected]",
"external_id": "<string>"
},
"variables": {},
"metadata": {},
"batch_id": "<string>",
"test": true,
"duration_seconds": 123,
"created_at": "2023-11-07T05:31:56Z",
"dialed_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"recording_url": "<string>",
"recording_expires_at": "2023-11-07T05:31:56Z",
"outcome": {
"disposition": "<string>",
"summary": "<string>",
"answers": {},
"lead_rating": 5,
"callback_requested": true,
"callback_time_text": "<string>",
"follow_up": "CALL",
"follow_up_note": "<string>",
"meeting": {
"requested": true,
"at": "<string>",
"time_text": "<string>",
"type": "<string>"
},
"transcript": [
{
"speaker": "agent",
"text": "<string>"
}
]
},
"idempotent_replay": true
}Cancel a call
Cancels a call that is still queued. A call that is already dialling or finished cannot be canceled.
Scope: calls:write.
curl --request POST \
--url https://api.telleo.ai/v1/calls/{id}/cancel \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.telleo.ai/v1/calls/{id}/cancel"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.telleo.ai/v1/calls/{id}/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "call_6f1d2c9a8b7e4f3a2d1c0b9a",
"object": "call",
"status": "queued",
"status_reason": "<string>",
"scheduled_for": "2023-11-07T05:31:56Z",
"agent_id": "<string>",
"phone_number": "<string>",
"contact": {
"name": "<string>",
"email": "[email protected]",
"external_id": "<string>"
},
"variables": {},
"metadata": {},
"batch_id": "<string>",
"test": true,
"duration_seconds": 123,
"created_at": "2023-11-07T05:31:56Z",
"dialed_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"recording_url": "<string>",
"recording_expires_at": "2023-11-07T05:31:56Z",
"outcome": {
"disposition": "<string>",
"summary": "<string>",
"answers": {},
"lead_rating": 5,
"callback_requested": true,
"callback_time_text": "<string>",
"follow_up": "CALL",
"follow_up_note": "<string>",
"meeting": {
"requested": true,
"at": "<string>",
"time_text": "<string>",
"type": "<string>"
},
"transcript": [
{
"speaker": "agent",
"text": "<string>"
}
]
},
"idempotent_replay": true
}Authorizations
Your AI calling API key (vak_call_…). Authorization: Bearer <key> also works.
Path Parameters
Response
The canceled call.
"call_6f1d2c9a8b7e4f3a2d1c0b9a"
"call"queued, dialing, in_progress, completed, no_answer, busy, failed, canceled, expired Why a call is waiting or did not happen, in plain words. Present only when there is one.
Present while a queued call is held until a later time (outside calling hours, a recall gap, the daily limit).
Show child attributes
Show child attributes
A temporary link to the recording. Fetch the call again for a fresh link after recording_expires_at.
What the AI took from the conversation. null until it has been processed (usually within a minute of the call ending), and for calls that did not connect.
Show child attributes
Show child attributes
Only on POST /calls: true when this is the call created by an earlier request with the same Idempotency-Key.