Tonedocs
API referencetransfer-destinations

Add a transfer destination

Creates a destination in pending. It cannot receive a transfer until it is verified: place a verification call with POST /v1/transfer-destinations/{id}/verify, then send the code it speaks to POST /v1/transfer-destinations/{id}/confirm. 409 conflict when the key is already taken.

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

POST
/v1/transfer-destinations
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/transfer-destinations" \  -H "Content-Type: application/json" \  -d '{    "e164": "+919876543210",    "hours": [      {        "days": "mon-sat",        "from": "09:30",        "to": "19:00"      }    ],    "key": "delivery_team",    "label": "Delivery team",    "language": "hi-IN"  }'
{  "data": {    "createdAt": "2026-10-13T09:20:00.000Z",    "e164": "+919876543210",    "hours": [      {        "days": "mon-sat",        "from": "09:30",        "to": "19:00"      }    ],    "id": "7d1f5c9e-2b3a-4c8d-9e0f-1a2b3c4d5e6f",    "key": "delivery_team",    "label": "Delivery team",    "language": "hi-IN",    "status": "verified",    "updatedAt": "2026-10-13T09:30:00.000Z",    "verification": {      "attemptsLeft": 5,      "callsLeftToday": 2,      "codeExpiresAt": "2026-10-13T09:43:10.000Z",      "lastCallAt": "2026-10-13T09:28:10.000Z"    },    "verifiedAt": "2026-10-13T09:30:00.000Z"  }}
Was this page helpful?