The evidence pack for one number
Every check, consent record, outcome and suppression we hold for a number — the document to hand an access provider when a complaint lands.
Requires the read scope. A key with less gets 403 insufficient_scope.
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
The number to assemble evidence for. Returns every check, consent record, suppression entry and reported outcome Tone holds about it.
^\+91\d{10,11}$Inclusive lower bound. Omit for everything on record.
Exclusive upper bound.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/compliance/evidence?e164=%2B919876543210"{ "data": { "checks": [ { "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" } ], "consents": [ { "active": true, "capturedAt": "2026-08-20T11:02:00Z", "createdAt": "2026-08-25T09:14:22Z", "e164": "+919876543210", "evidenceRef": "form-sub-88213", "expiresAt": "2026-11-23T09:14:22Z", "id": "8814", "kind": "explicit", "purpose": "promotional", "revokedAt": null, "revokedReason": null, "scope": "Order updates and delivery reminders.", "source": "api" } ], "e164": "+919876543210", "generatedAt": "2026-08-25T09:14:22Z", "outcomes": [ { "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" } ], "suppression": { "createdAt": "2026-08-25T09:14:22Z", "e164": "+919876543210", "expiresAt": "2026-11-23T09:14:22Z", "id": "8814", "reason": "Asked to be removed during a call on 2026-08-20.", "removedAt": null, "removedReason": null, "source": "manual", "sourceCallId": null }, "truncated": true, "window": { "from": "2026-08-01T00:00:00Z", "to": "2026-08-25T00:00:00Z" } }}Pre-flight up to 100 numbers in one call
Each number runs the full gate and is metered as its own verdict, so a batch of 100 costs 100 verdicts. A campaign-sized list belongs in a campaign, which has a pre-flight built for that scale.
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.