Tone docs
API referenceCompliance

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.

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

POST
/v1/compliance/check/batch
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

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

curl -X POST "https://example.com/v1/compliance/check/batch" \  -H "Content-Type: application/json" \  -d '{    "e164s": [      "+919876543210",      "+919812345678"    ],    "purpose": "promotional"  }'
{  "data": [    {      "allowed": true,      "blockedBy": null,      "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"        }      ],      "e164": "+919876543210",      "purpose": "promotional"    }  ]}
Was this page helpful?