Phone numbers
List your phone numbers
List the phone numbers assigned to your organization, newest first.
Results are cursor paginated. The next-page token is returned in
meta.next_cursor, which is null on the last page. You can filter by
campaign_id or search; when a filter is applied, a page may contain
fewer than limit results while the cursor keeps advancing, so iterate
until the cursor is null.
Requires the numbers:read scope.
AuthorizationBearer <token>
Authenticate by sending your API key as a bearer token:
Authorization: Bearer am_live_.... Every request is automatically
scoped to the organization that owns the key and to the scopes granted
to that key.
In: header
Query Parameters
cursor?string
limit?integer
Default
20Range
1 <= value <= 100number_type?string
Value in
"local" | "toll_free" | "short_code"campaign_id?string
Format
uuidsearch?string
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/phone-numbers"{
"success": true,
"data": [
{
"id": "7c1f0a2d-9e8b-4c3a-9d2e-1f0a2b3c4d5e",
"number": "+15551112222",
"number_type": "local",
"inbound_url": "https://customer.example/inbound",
"status_url": "https://customer.example/status",
"label": "support-line",
"campaign_id": "b5d3c4e2-7f7e-44a1-8c12-2bcd9e3f0a01",
"sms_enabled": true,
"mms_enabled": true,
"created_at": "2026-04-20T10:30:00Z",
"updated_at": "2026-04-26T08:00:00Z"
}
],
"meta": {
"total": 0,
"limit": 20,
"offset": 0,
"next_cursor": null
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "authentication failed",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "missing required scope",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "validation failed",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM",
"details": {
"to": "must be E.164",
"body": "must be 1..1600 chars"
}
}
}