provider, an optional human-readable description, and a status indicating whether it is active and accepting inbound calls. All endpoints require an active admin session. The list endpoint supports an optional search parameter that filters across number, provider, and description. List and show responses include the parent tenant object and any configured routes.
GET /api/dids
Returns all DID numbers ordered by creation date descending, withtenant and routes relations included.
Query parameters
Optional. Filters DIDs whose
number, provider, or description contains the given string (case-insensitive).Value is
"DIDs fetched successfully.".Array of DID objects.
POST /api/dids
Creates a new DID number and returns201 Created with the record.
ID of the tenant to assign this DID to. Must reference an existing tenant.
The phone number string, e.g.
"+12125551234". Maximum 50 characters.The carrier or SIP trunk name, e.g.
"Twilio" or "Bandwidth". Maximum 255 characters.Optional. Free-text description of the DID’s purpose. No length limit enforced at the API layer.
Lifecycle status, e.g.
active or inactive. Maximum 50 characters.Value is
"DID created successfully.".The newly created DID record.
GET /api/dids/
Fetches a single DID by its ID. Includes the parenttenant and any configured routes.
Path parameters
The numeric ID of the DID to retrieve.
Value is
"DID loaded successfully.".The DID record with
tenant and routes relations included.PUT /api/dids/
Replaces all fields on an existing DID.PATCH /api/dids/{did} is also accepted and uses the same handler.
Path parameters
The numeric ID of the DID to update.
Must reference an existing tenant.
Maximum 50 characters.
Maximum 255 characters.
Optional. Free-text description.
Maximum 50 characters.
Value is
"DID updated successfully.".The updated DID record.
DELETE /api/dids/
Permanently deletes the specified DID number. Path parametersThe numeric ID of the DID to delete.
Value is
"DID deleted successfully.".