extension_number scoped to its tenant, a SIP secret used for device registration, and an optional voicemail mailbox. All endpoints require an active admin session. The list endpoint accepts an optional search parameter that matches against extension_number, display_name, and email. List responses include the associated tenant and registered devices objects. The show endpoint additionally loads queueAgents and cdrs relations.
GET /api/extensions
Returns all extensions ordered by creation date descending. Query parametersOptional. Filters extensions whose
extension_number, display_name, or email contains the given string (case-insensitive).Value is
"Extensions fetched successfully.".Array of extension objects.
POST /api/extensions
Creates a new extension and returns201 Created with the record.
ID of the tenant to assign this extension to. Must reference an existing tenant.
The dialable extension number, e.g.
"1001". Maximum 20 characters.Human-readable label for the extension. Maximum 255 characters.
Optional. Valid email address for voicemail-to-email. Maximum 255 characters.
SIP registration password used by devices to authenticate. Maximum 255 characters.
Lifecycle status, e.g.
active or disabled. Maximum 50 characters.Optional. Whether voicemail is enabled. Coerced to a boolean; defaults to
false when omitted.Value is
"Extension created successfully.".The newly created extension record.
GET /api/extensions/
Fetches a single extension by its ID. The response includes thetenant, devices, queueAgents, and cdrs relations.
Path parameters
The numeric ID of the extension to retrieve.
Value is
"Extension loaded successfully.".The extension record with
tenant, devices, queueAgents, and cdrs arrays included.PUT /api/extensions/
Replaces all fields on an existing extension.PATCH /api/extensions/{extension} is also accepted and uses the same handler.
Path parameters
The numeric ID of the extension to update.
Must reference an existing tenant.
Maximum 20 characters.
Maximum 255 characters.
Optional. Valid email address. Maximum 255 characters.
Maximum 255 characters.
Maximum 50 characters.
Optional. Coerced to boolean.
Value is
"Extension updated successfully.".The updated extension record.
DELETE /api/extensions/
Permanently deletes the specified extension. Path parametersThe numeric ID of the extension to delete.
Value is
"Extension deleted successfully.".