One sealed evidence record
The full evidence document plus its seal: the content hash, the previous record’s hash, and the chain position. Recompute sha256 over the canonical content to prove the document was not altered; walk the verify endpoint to prove the whole chain.
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
Path Parameters
The evidence record's id.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/compliance/evidence-records/string"{ "data": { "callId": "9f1c2d84-4e3a-4f6c-b902-7d1e8a33c451", "campaignId": null, "chainSeq": "4211", "content": {}, "contentHash": "a3f1…", "e164": "+919876543210", "id": "9f1c2d84-4e3a-4f6c-b902-7d1e8a33c451", "kind": "completed_call", "prevHash": "0000…", "recordHash": "b7e2…", "sealedAt": "2026-08-31T09:14:22Z" }}Deprecated — lifting a suppression now requires the dashboard
⚠️ Always refuses. Lifting a suppression is a deliberate, reasoned act: it now requires a dashboard session and a written justification (POST /v1/dnc/{id}/remove, session-only), and is recorded in the audit trail. API keys can ADD suppressions — an opt-out must land within seconds — but can no longer silently make an opted-out number callable again.
Sealed evidence records, newest first
One tamper-evident record per call attempt — completed calls AND refused dials. Each carries the full basis on which the attempt was allowed or refused, hashed and chained to its predecessor so any alteration, deletion or reordering is detectable.