Tone docs
API referenceCompliance

Revoke one consent record

⚠️ Revoking consent does NOT stop calls on its own: the ledger passes or warns, it never blocks. Only the suppression list blocks. If the recipient asked not to be called, use the opt-out endpoint, which revokes and suppresses in one transaction.

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

POST
/v1/consent/{id}/revoke
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

Path Parameters

id*string

The consent record's id.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/consent/string/revoke" \  -H "Content-Type: application/json" \  -d '{    "reason": "Recipient asked to be removed by email."  }'
{  "data": {    "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"  }}
Was this page helpful?