Check whether this contact may be dialed right now
const url = 'https://api.vocapable.com/v1/contacts/example/dialability?purpose=marketing';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.vocapable.com/v1/contacts/example/dialability?purpose=marketing' \ --header 'Authorization: Bearer <token>'Evaluate the canonical dialability gate over this contact’s record.
The same evaluator every dial passes, given the facts a contact row holds: the
denormalized internal-DNC flag, the consent class, the jurisdictions, and the callee’s
local clock. Bureau scrub stages are billed per query and belong to a ScrubRun, so
none of them run here and policy_snapshot.stages is empty.
The same resolution, too - outbound_effective_policy, at this request’s clock. A
preview that answered “dialable” for a state whose pack is not yet in force would be
reporting a permission the dial path itself refuses, which is the one direction a
preview must never be wrong in.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”Successful Response
The pre-dial verdict for one contact.
Evaluated over the contact’s own record - the denormalized DNC flag, the consent class,
the jurisdictions, and the callee-local clock. Bureau scrub stages are not run here:
they are billed per query and belong to a ScrubRun, so policy_snapshot.stages is
empty and a dial still passes the full gate.
object
object
Example
{ "purpose": "marketing"}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}