POST
Create Phone Number
Set inbound_workflow_id to bind incoming calls on this number to a specific agent โ€” EESI will register the inbound webhook with the provider and the response will include a provider_sync block reporting the result. Omit it to add the number for outbound use only. The (provider, account_id, address) tuple must be globally unique across all EESI organizations, since inbound dispatch keys on it. Attempting to add a number that another organization already owns returns 409.

Authorizations

Authorization
string
header
required

An EESI API key (sk-eesi-...) or a Clerk session token.

Headers

authorization
string | null
X-API-Key
string | null

Path Parameters

config_id
integer
required

Body

application/json

Create a new phone number under a telephony configuration.

address_normalized and address_type are computed server-side from address (and country_code if PSTN). address itself is stored verbatim for display.

address
string
required
Required string length: 1 - 255
country_code
string | null
Required string length: 2
label
string | null
Maximum string length: 64
inbound_workflow_id
integer | null
is_active
boolean
default:true
is_default_caller_id
boolean
default:false
extra_metadata
Extra Metadata ยท object

Response

Successful Response

id
integer
required
telephony_configuration_id
integer
required
address
string
required
address_normalized
string
required
address_type
string
required
is_active
boolean
required
is_default_caller_id
boolean
required
extra_metadata
Extra Metadata ยท object
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
country_code
string | null
label
string | null
inbound_workflow_id
integer | null
inbound_workflow_name
string | null
provider_sync
ProviderSyncStatus ยท object | null

Result of pushing a phone-number change to the upstream provider.

Returned alongside create/update responses when the route attempted to sync inbound webhook configuration. ok=False is a warning, not a fatal error โ€” the DB write succeeded.