Tone docs
API referenceCompliance

Pre-dial compliance checks, newest first

Every check ever recorded, from dials and from standalone verdicts alike. Append-only at the database level — this is the audit trail, so nothing here can be edited or deleted after the fact.

Requires the read scope. A key with less gets 403 insufficient_scope.

GET
/v1/compliance/checks
AuthorizationBearer <token>

Authorization: Bearer tone_live_… or tone_test_…. The prefix IS the environment: a test key reaches only the sandbox, and no request field bridges the two.

In: header

Query Parameters

limit?integer

How many results to return. 1-100, defaulting to 25.

Range1 <= value <= 100
Default25
cursor?string

Opaque page cursor from the previous response.

Match^\d+$
check_type?string

Only checks of this kind. The six that run before a dial are dlt, a2p, time_window, dnc, carrier_dnd and consent; the rest record changes you made. Open set — handle an unrecognised value rather than throwing. Today: dlt, a2p, time_window, dnc, scrub, carrier_dnd, consent, enforcement_change, profile_change, call_outcome, suppression_change.

Value in

  • "dlt"
  • "a2p"
  • "time_window"
  • "dnc"
  • "scrub"
  • "carrier_dnd"
  • "consent"
  • "enforcement_change"
  • "profile_change"
  • "call_outcome"
  • "suppression_change"
outcome?string

Only checks that ended this way. Note that carrier_dnd can only ever warn — the authoritative register is not exposed to senders, so it is advisory by design. Open set — handle an unrecognised value rather than throwing. Today: pass, warn, block, error.

Value in

  • "pass"
  • "warn"
  • "block"
  • "error"
e164?string

Only checks about this number.

Match^\+91\d{10,11}$
call_id?string

Only checks recorded for this call. A standalone verdict has no call id.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
from?string

Inclusive lower bound on when the check ran.

to?string

Exclusive upper bound on when the check ran.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/compliance/checks"
{  "data": [    {      "callId": "9f1c2d84-4e3a-4f6c-b902-7d1e8a33c451",      "checkType": "dnc",      "createdAt": "2026-08-25T09:14:22Z",      "detail": {},      "e164": "+919876543210",      "enforced": true,      "id": "8814",      "outcome": "pass",      "reason": "Asked to be removed during a call on 2026-08-20.",      "source": "internal"    }  ]}
Was this page helpful?