Update an extension

Updates an extension in place: only the keys you send are written, so anything you omit keeps its current value. Changing the caller-ID name propagates to the extension's own device line and to the BLF labels for it on other phones. Pass expect for a safe read-modify-write — if a guarded value has changed since you read it, nothing is written and the call returns 409. Voicemail, device and follow-me changes are applied after the extension itself is written. Identity fields are not settable here: the extension's account, its call-routing id, and the ids of its devices and follow-me record are always taken from the stored extension, so sending them has no effect. A device or device line that is not on this extension's account is rejected rather than silently skipped.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The extension's UUID.

Body Params
string

Caller-ID name shown on internal calls; non-empty when present. Renaming propagates to the extension's device line and to BLF labels on other phones.

string

Caller-ID number shown on internal calls; non-empty when present.

string | null

Caller-ID name presented on outbound calls. An empty string is stored as null.

string

Caller-ID number presented on outbound calls; non-empty when present.

string | null

Given name used in the dial-by-name directory.

string | null

Family name used in the dial-by-name directory.

boolean

Whether the extension appears in the dial-by-name directory.

boolean

Whether the extension's number is shown in the directory.

string | null

Missed-call notifier; setting it requires missed_call_data.

string | null

Where the missed-call notice goes, such as an email address.

string | null

Calling permissions. Requires an API key with the Admin role; it is ignored otherwise.

number | null

Seconds the extension rings before the call stops ringing.

string | null

Call group the extension belongs to.

boolean

Whether callers are screened before the extension rings.

string | null

Call recording mode. Requires an API key with the Admin role.

string | null

Hold music source used when this extension puts a caller on hold.

string | null

Account the message-waiting indicator follows.

boolean

Whether the extension is in do-not-disturb.

string

Whether every call is forwarded, and where it goes.

string

Whether calls are forwarded when the extension is busy, and where they go.

string

Whether calls are forwarded when nobody answers, and where they go.

string

Whether calls are forwarded when no device is registered, and where they go.

string

Follow-me configuration for the extension.

follow_me
object

Structured follow-me payload, written after the extension itself is updated.

boolean

Enables or disables the extension. Re-enabling a disabled extension consumes a licensed seat and is refused with 403 when none is left.

string | null

Free-text description.

string

Extension type; stored as ext_type.

voicemail
object

Voicemail changes, applied after the extension itself is updated: enabled: false force-disables the mailbox and enabled: true re-enables it.

string

Device and line changes. Requires an API key with the Admin role.

expect
object

Compare-and-set guard mapping updatable field names to the values you last read (scalars or null). The write happens only if they all still match, otherwise nothing is written and the call returns 409. Naming a field that cannot be patched, or guarding a body with no field changes, is 400 (code invalid_expect).

string

Not settable through this API; ignored if sent — rotating the SIP password would unregister the user's phones.

string

Not settable through this API; ignored if sent.

string

Not settable through this API; ignored if sent.

Responses

401

Missing or invalid API key.

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json