List your transfer destinations
Every destination in any state, oldest first. The verification code is never included.
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
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/transfer-destinations"{ "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" } ]}Get one transfer destination
The destination and where its verification stands: when the last call was placed, when its code expires and how many tries and calls are left. Useful for polling while the person reads out the code.
Update a transfer destination
Change the label, language, hours or number. The key is fixed. 🔴 A new number puts the destination back to pending: the person at the new number has not consented yet, so it must be verified again.