List phone numbers
https://api.norreach.app/v1/phone-numbersThe workspace's phone numbers: the number, label, country, what it can do (calls, texts), whether it's connected to AI calling and who answers incoming calls. Numbers connected from an account the workspace already had are voice only (source: connected). Removing a number is done in the app — never through the API.
curl -X GET "https://api.norreach.app/v1/phone-numbers" \
-H "Authorization: Bearer $NORREACH_API_KEY"{
"object": "list",
"data": [
{
"id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
"object": "phone_number",
"number": "+46812345678",
"label": "Stockholm office",
"country": "SE",
"status": "active",
"source": "bought",
"capabilities": {
"voice": true,
"sms": true,
"mms": false
},
"can_text": true,
"ai_calling": true,
"inbound_mode": "ai",
"created_at": "2026-10-01T08:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}Authorizations
Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope numbers:read. API keys and scopes
Response
200application/json— List phone numbers
Show child attributesHide child attributes
An id (UUID).
E.164.
active, or pending while a purchase settles.
bought through NorReach, or connected from an account the workspace already had (voice only).
boughtconnectedShow child attributesHide child attributes
Can send texts from NorReach (a bought number with SMS).
Connected to AI calling.
Who answers incoming calls: ai = the AI agent, menu = the call menu (see GET /inbound-routing). Null for numbers that can't be switched.
Errors
Errors are application/problem+json with a stable code.
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | The request couldn't be read. |
| 400 | unknown_field | The request has a field this operation doesn't know. |
| 401 | unauthorized | A valid API key is required. |
| 403 | insufficient_scope | This API key doesn't have the scope this operation needs. |
| 403 | feature_not_enabled | The API isn't switched on for this workspace. |
| 429 | rate_limited | Too many requests. Slow down and try again. |
| 500 | server_error | Something went wrong on our side. |
| 503 | unavailable | The API isn't available right now. Try again shortly. |