Hear your agent: one campaign-less call to a verified own number
const url = 'https://api.vocapable.com/v1/agents/example/test-call';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"to":"example","timezone":"example","jurisdictions":["example"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.vocapable.com/v1/agents/example/test-call \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "to": "example", "timezone": "example", "jurisdictions": [ "example" ] }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”POST /v1/agents/{id}/test-call (docs/04-api.md §3).
to must be a currently verified VerifiedNumber of the calling tenant - the
test-call precondition (CANON fact 120). The two optional gate facts exist because
the platform holds no NPA geodata: when no live Contact already carries them, the
body must supply the callee-local zone and jurisdictions or the gate fails closed
(contact_timezone_unresolved / jurisdiction_unresolved).
object
Examplegenerated
{ "to": "example", "timezone": "example", "jurisdictions": [ "example" ]}Responses
Section titled “Responses”Successful Response
A test call as the 202 answers it - the campaign-less ContactAttempt (att_…) IS
the test-call resource, so its lifecycle is read from the attempt feed’s vocabulary.
telephony says which plane carried it: mock (a vcp_test_ key - synchronous
full-pipeline dial, no PSTN) or platform (a live key - the attempt is scheduled
and the origination loop sweeps it). call_id is written at teardown and is always
null in the 202.
object
Example
{ "telephony": "mock"}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}