curl "https://api.tracklysms.com/api/v1/voice/calling-numbers?limit=20" \
-H "X-Api-Key: trk_your_api_key_here"
{
"items": [
{
"id": "665f1e2a9c4b1a0012ab34cd",
"e164": "+18005551234"
}
],
"nextCursor": null
}
Voice Calls (v1)
List Calling Numbers
Discover your account’s owned caller IDs for programmable voice.
GET
/
v1
/
voice
/
calling-numbers
curl "https://api.tracklysms.com/api/v1/voice/calling-numbers?limit=20" \
-H "X-Api-Key: trk_your_api_key_here"
{
"items": [
{
"id": "665f1e2a9c4b1a0012ab34cd",
"e164": "+18005551234"
}
],
"nextCursor": null
}
Returns caller IDs owned by the authenticated account, including eligible assigned and managed calling numbers. Requires the
voice_calls.read scope and the Voice Calls product entitlement.
Inventory confirms ownership. Call placement still checks backend readiness, billing, compliance, and other admission requirements. Provision programmable voice numbers in Calling.
The /v1/voice/numbers route belongs to the separate SIP-trunking product. Who Am I links to this inventory through voice.calling_numbers_url; its api_key.send_policy.list_numbers field describes SMS sending-list restrictions, where an empty array means unrestricted by list policy.
Query Parameters
Onlylimit and cursor are accepted, each at most once.
integer
default:20
Maximum candidate numbers scanned for this page, from
1 to 100. Filtering can return fewer items, including an empty page with a continuation cursor.string
Pass the previous response’s
nextCursor unchanged. Cursors belong to the authenticated account. Continue until nextCursor is null, even when items is empty.Response Fields
array
string | null
Opaque continuation token, or
null when no candidate numbers remain.Examples
curl "https://api.tracklysms.com/api/v1/voice/calling-numbers?limit=20" \
-H "X-Api-Key: trk_your_api_key_here"
{
"items": [
{
"id": "665f1e2a9c4b1a0012ab34cd",
"e164": "+18005551234"
}
],
"nextCursor": null
}
Error Codes
| Status | Code | Meaning |
|---|---|---|
| 403 | insufficient_scope | The API key lacks voice_calls.read. |
| 403 | voice_not_entitled | Voice calling is not enabled for your account. |
| 422 | invalid_fields | A query parameter is unsupported or repeated. |
| 422 | invalid_limit | limit is not an integer from 1 to 100. |
| 422 | invalid_cursor | The cursor is invalid or its anchor is no longer present in your account. |
| 503 | number_inventory_unavailable | Registry authority needed to verify managed-number ownership is unavailable. Retry later; this error does not mean the account has no calling numbers. |