Docs
Phone numbers

List phone numbers

GEThttps://api.norreach.app/v1/phone-numbers

The 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.

numbers:readOperation id: list_phone_numbers
GET/phone-numbers
curl -X GET "https://api.norreach.app/v1/phone-numbers" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
List phone numbers
{
  "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

Authorizationstringheaderrequired

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

object"list"required
dataobject[]required
Show child attributes
data[].idstring (uuid)required

An id (UUID).

data[].object"phone_number"required
data[].numberstringrequired

E.164.

data[].labelstring | nullrequired
data[].countrystring | nullrequired
data[].statusstringrequired

active, or pending while a purchase settles.

data[].sourceenumrequired

bought through NorReach, or connected from an account the workspace already had (voice only).

One of:boughtconnected
data[].capabilitiesobjectrequired
Show child attributes
data[].capabilities.voicebooleanrequired
data[].capabilities.smsbooleanrequired
data[].capabilities.mmsbooleanrequired
data[].can_textbooleanrequired

Can send texts from NorReach (a bought number with SMS).

data[].ai_callingbooleanrequired

Connected to AI calling.

data[].inbound_modeenum | nullrequired

Who answers incoming calls: ai = the AI agent, menu = the call menu (see GET /inbound-routing). Null for numbers that can't be switched.

data[].created_atstring | nullrequired
has_morebooleanrequired
next_cursorstring | nullrequired

Errors

Errors are application/problem+json with a stable code.

StatusCodeMeaning
400bad_requestThe request couldn't be read.
400unknown_fieldThe request has a field this operation doesn't know.
401unauthorizedA valid API key is required.
403insufficient_scopeThis API key doesn't have the scope this operation needs.
403feature_not_enabledThe API isn't switched on for this workspace.
429rate_limitedToo many requests. Slow down and try again.
500server_errorSomething went wrong on our side.
503unavailableThe API isn't available right now. Try again shortly.