Skip to main content
Telephony endpoints live under the /core prefix and cover the phone-number directory, SIP trunks, the org-level inbound-routing config, and number purchasing through a managed account. Pass your credential in the Authorization header; user PATs (pat_) also need X-Anyreach-Org. See Authentication. Assigning an agent to a number is done through the agent publish endpoint, not here — see Agents API and Assigning agents to numbers.

Phone numbers

MethodPathScopeDescription
GET/core/phone-numbersphone_numbers:readList numbers. Filters: phone_number (substring), trunk_id, created_*/updated_*. Cursor pagination (limit, cursor).
GET/core/phone-numbers/{phone_number}phone_numbers:readGet one number.
POST/core/phone-numbersphone_numbers:manageRegister a number on a non-managed trunk (trunk_id required). Subject to the per-org number limit.
PATCH/core/phone-numbers/{phone_number}phone_numbers:manageToggle outbound_shareable only — no other field is editable.
DELETE/core/phone-numbers/{phone_number}phone_numbers:manageRemove a number.

Buying a number

Self-serve purchase goes through a managed account (the shared Anyreach Twilio account).
MethodPathScopeDescription
GET/core/managed-accounts/{managed_account_id}/search-numbersmanaged_accounts:readSearch available numbers. Filters: area_code, country_code (default US), phone_number_type (local/toll_free), voice_enabled, sms_enabled, mms_enabled, in_region, in_postal_code.
POST/core/managed-accounts/{managed_account_id}/purchase-numbermanaged_accounts:manageBuy a number (phone_number) and create its directory row.

SIP trunks

Trunk CRUD models SIP connectivity. Customer-owned (BYOC) trunks are fully editable; managed Twilio trunks cannot be created, updated, or deleted through the API.
MethodPathScopeDescription
GET/core/trunkstrunks:readList trunks.
GET/core/trunks/{id}trunks:readGet one trunk.
POST/core/trunkstrunks:manageCreate a customer-owned trunk with inbound_config and/or outbound_config.
PUT/core/trunks/{id}trunks:manageUpdate a customer-owned trunk.
DELETE/core/trunks/{id}trunks:manageDelete a customer-owned trunk.
See SIP trunking and BYOC for the inbound/outbound config fields and the deploy-as-sip endpoints (under Agents API).

Inbound routing

One config per organization runs a workflow at call time to choose the agent.
MethodPathScopeDescription
GET/core/inbound-routing-configinbound_routing_configs:readGet the org’s config, or null if none exists.
POST/core/inbound-routing-configinbound_routing_configs:manageCreate the config. Returns 409 if one already exists.
PUT/core/inbound-routing-configinbound_routing_configs:manageUpdate the config.
DELETE/core/inbound-routing-configinbound_routing_configs:manageRemove the config.
The workflow’s input and output contracts are documented in Inbound routing.

Example: list phone numbers

curl "https://api.anyreach.ai/core/phone-numbers?limit=50" \
  -H "Authorization: Bearer $ANYREACH_TOKEN" \
  -H "X-Anyreach-Org: $ANYREACH_ORG_ID"

Telephony

The product walkthrough for numbers, routing, and BYOC.

Agents API

Publish and assign agent versions to numbers.