Who answers incoming calls
https://api.norreach.app/v1/inbound-routingThe workspace's routing rules (per number, or for every number without its own: an AI agent, your team, the call menu or voicemail; by priority, optionally in business hours only) and the numbers whose answering can be switched between the AI agent and the call menu.
curl -X GET "https://api.norreach.app/v1/inbound-routing" \
-H "Authorization: Bearer $NORREACH_API_KEY"{
"object": "inbound_routing",
"rules": [
{
"id": "0d1e2f3a-4b5c-4d6e-8f7a-8b9c0d1e2f3a",
"object": "routing_rule",
"phone_number_id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
"route_type": "ai_agent",
"ai_agent_id": "9c0d1e2f-3a4b-4c5d-8e6f-7a8b9c0d1e2f",
"assigned_user_id": null,
"priority": 10,
"business_hours_only": false,
"greeting": null,
"active": true,
"created_at": "2026-10-01T08:00:00.000Z"
}
],
"numbers": [
{
"id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
"object": "routing_number",
"number": "+46812345678",
"label": "Stockholm office",
"inbound_mode": "ai"
}
]
}Authorizations
Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope calls:read. API keys and scopes
Response
200application/json— Who answers incoming calls
Show child attributesHide child attributes
An id (UUID).
Null = every number of the workspace without a rule of its own.
ai_agent = an AI agent answers; human = your team (the hold queue, or one person); ivr = the call menu; voicemail.
ai_agenthumanivrvoicemailThe numbers whose answering can be switched (PUT /phone-numbers/{id}/inbound-mode).
Show child attributesHide child attributes
An id (UUID).
aimenuErrors
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. |