Endpoint Index
A complete list of the platform’s REST endpoints: 310 operations across 156 paths in 63 APIs. Every path below is prefixed with /api.
For request and response schemas, field descriptions, and a try-it console, use the interactive OpenAPI reference. For machine-readable ingestion, download the single merged specification at /apitest/openapi/thirdlane-api.yaml on your own server - that file is the authoritative contract and covers every endpoint listed here.
Authentication, tenant scoping, pagination, and error handling are covered in API Basics.
Naming notes
A few objects are named for what they are called in the configuration engine rather than in the user interface. If you are searching for an endpoint by its screen name, check here first:
| You may be looking for | The endpoint is |
|---|---|
| Ring groups | /api/huntlist |
| Auto attendants, voice menus | /api/ivr |
| Time conditions | /api/schedule |
| Extensions | /api/extensions |
| Administrator accounts | /api/admin |
| Contact centre agents | /api/agent |
| Tenants | /api/tenants |
Paths are singular (/api/queue, not /api/queues) except where noted below. A request to an unknown path returns 404 with an error naming the URL you sent, so a typo is distinguishable from a missing feature.
Platform administration
These endpoints act across the whole system. A tenant-scoped API key cannot call them.
Administrators
Administrator accounts
| Methods | Path |
|---|---|
| GET, POST | /api/admin |
| GET, PUT, DELETE | /api/admin/{name} |
API Keys
API key management for authentication
| Methods | Path |
|---|---|
| GET, POST | /api/key |
| GET, PUT, DELETE | /api/key/{id} |
DIDs
DID number management and assignment
| Methods | Path |
|---|---|
| GET, POST | /api/dids/{tenant} |
| GET, DELETE | /api/dids/{tenant}/{did} |
Email Templates
Welcome, invitation, account, and password-reset email templates
| Methods | Path |
|---|---|
| GET, POST | /api/email-templates |
| GET, PUT, DELETE | /api/email-templates/{template_id} |
| POST | /api/email-templates/preview |
| GET, POST | /api/tenants/{tenant}/email-templates |
| GET, PUT, DELETE | /api/tenants/{tenant}/email-templates/{template_id} |
Endpoints Discovery
Service-plane discovery: base URLs for management, reporting, messaging, media, and Connect websocket
| Methods | Path |
|---|---|
| GET | /api/endpoints |
Enterprises
Multi-site enterprise management, shared directory, and site listing
| Methods | Path |
|---|---|
| GET, POST | /api/organization |
| GET, PUT, DELETE | /api/organization/{code} |
| POST | /api/organization/{code}/assign-sites |
| GET, POST | /api/organization/{code}/directory |
| GET, POST | /api/organization/{code}/sites |
| PUT, DELETE | /api/organization/{code}/sites/{tenant} |
Notifications
Send a notification through a resolved template
| Methods | Path |
|---|---|
| POST | /api/notifications/send |
| POST | /api/tenants/{tenant}/notifications/send |
Organizations
Organization account management
| Methods | Path |
|---|---|
| GET, POST | /api/tenants |
| GET, PUT, DELETE | /api/tenants/{tenant} |
Resellers
Reseller management
| Methods | Path |
|---|---|
| GET, POST | /api/reseller |
| GET, PUT, DELETE | /api/reseller/{name} |
Server Health
This server’s own health: server figures, every service with expected and actual state, live checks, and redundancy role
| Methods | Path |
|---|---|
| GET | /api/health |
Servers
PBX cluster server management
| Methods | Path |
|---|---|
| GET, POST | /api/server |
| GET, PUT, DELETE | /api/server/{id} |
SIP Trunks
SIP/IAX trunk management
| Methods | Path |
|---|---|
| GET, POST | /api/trunk |
| GET, PUT, DELETE | /api/trunk/{name} |
System Device Models
Installed phone provisioning models for migration preflight
| Methods | Path |
|---|---|
| GET | /api/system/device-models |
System License
License capacity for provisioning and migration preflight
| Methods | Path |
|---|---|
| GET | /api/system/license |
System Webhooks
System-level (cross-tenant) outbound webhook management for provisioning automation
| Methods | Path |
|---|---|
| GET, POST | /api/system-outbound-webhooks |
| GET, PUT, DELETE | /api/system-outbound-webhooks/{id} |
Webhooks
Webhook integration for messaging channels
| Methods | Path |
|---|---|
| GET, POST | /api/integration/webhooks |
| GET, PUT, DELETE | /api/integration/webhooks/{id} |
Whoami
Session identity: user, tenant, feature_set, ACL map, and branding hints for Companion login landing
| Methods | Path |
|---|---|
| GET | /api/whoami |
Tenant configuration
These endpoints take a tenant in the path. A tenant-scoped API key is automatically restricted to its own tenant.
Actions
Imperative actions: place calls (click-to-call) and send SMS/WhatsApp messages
| Methods | Path |
|---|---|
| POST | /api/messaging/send |
| POST | /api/telephony/call |
| POST | /api/telephony/hangup |
| POST | /api/telephony/record |
| POST | /api/telephony/transfer |
Call Detail Records
Read-only Call Detail Records (CDR) with date/party/disposition filters and pagination
| Methods | Path |
|---|---|
| GET | /api/reports/cdr/{tenant} |
Call History
Per-user Thirdlane Connect call history
| Methods | Path |
|---|---|
| GET | /api/user/call_history |
Call Permissions
Outbound and inbound call permission rules, including caller-ID blocking
| Methods | Path |
|---|---|
| GET, POST | /api/dialing_permissions |
| GET, PUT, DELETE | /api/dialing_permissions/{id} |
| GET, POST | /api/tenants/{tenant}/dialing_permissions |
| GET, PUT, DELETE | /api/tenants/{tenant}/dialing_permissions/{id} |
Click-to-Call Widgets
Web-based click-to-call widgets for websites
| Methods | Path |
|---|---|
| GET, POST | /api/webcallwidget/{tenant} |
| GET, PUT, DELETE | /api/webcallwidget/{tenant}/{name} |
Company Directory
Shared company contact directory
| Methods | Path |
|---|---|
| GET, POST | /api/user/contacts/company/{tenant} |
| GET, PUT, DELETE | /api/user/contacts/company/{tenant}/{contactId} |
Conference Rooms
Conference room management
| Methods | Path |
|---|---|
| GET, POST | /api/conference/{tenant} |
| GET, PUT, DELETE | /api/conference/{tenant}/{conference} |
Connect
Thirdlane Connect: send channel/direct messages and provision AI-agent Connect users with credentials
| Methods | Path |
|---|---|
| POST | /api/connect/agent/{tenant} |
| POST | /api/connect/agent/{tenant}/{extension}/rotate |
| POST | /api/connect/message/{tenant} |
Connect Channels
Thirdlane Connect channels (group conversations): create, list, and delete
| Methods | Path |
|---|---|
| GET, POST | /api/connectchannel/{tenant} |
| GET, DELETE | /api/connectchannel/{tenant}/{name} |
CRM Accounts
CRM account (company) management
| Methods | Path |
|---|---|
| GET, POST | /api/crm-accounts/{tenant} |
| GET, PUT, DELETE | /api/crm-accounts/{tenant}/{id} |
CRM Activities
CRM activity and interaction tracking
| Methods | Path |
|---|---|
| GET, POST | /api/crm-activities/{tenant} |
| GET | /api/crm-activities/{tenant}/{id} |
CRM Campaigns
CRM campaign management for multi-channel outreach (WhatsApp, SMS, Voice)
| Methods | Path |
|---|---|
| GET, POST | /api/crm-campaigns/{tenant} |
| GET, PUT, DELETE | /api/crm-campaigns/{tenant}/{id} |
CRM Contacts
CRM contact management
| Methods | Path |
|---|---|
| GET, POST | /api/crm-contacts/{tenant} |
| GET, PUT, DELETE | /api/crm-contacts/{tenant}/{id} |
| POST | /api/crm-contacts/{tenant}/import |
| POST | /api/crm-contacts/{tenant}/import-preview |
| POST | /api/crm-contacts/{tenant}/lookup |
| GET | /api/crm-contacts/{tenant}/template-fill |
CRM Custom Fields
Tenant-specific custom field definitions for CRM entities
| Methods | Path |
|---|---|
| GET, POST | /api/crm-custom-fields/{tenant} |
| GET, PUT, DELETE | /api/crm-custom-fields/{tenant}/{id} |
CRM Deals
CRM deal and opportunity pipeline management
| Methods | Path |
|---|---|
| GET, POST | /api/crm-deals/{tenant} |
| GET, PUT, DELETE | /api/crm-deals/{tenant}/{id} |
CRM Import Maps
Reusable CSV-import mapping profiles for CRM contacts
| Methods | Path |
|---|---|
| GET, POST | /api/crm-import-maps/{tenant} |
| GET, PUT, DELETE | /api/crm-import-maps/{tenant}/{id} |
CRM Leads
CRM lead management and conversion
| Methods | Path |
|---|---|
| GET, POST | /api/crm-leads/{tenant} |
| GET, PUT, DELETE | /api/crm-leads/{tenant}/{id} |
CRM Lists
CRM contact list management
| Methods | Path |
|---|---|
| GET, POST | /api/crm-lists/{tenant} |
| GET, PUT, DELETE | /api/crm-lists/{tenant}/{id} |
CRM Tasks
CRM task management
| Methods | Path |
|---|---|
| GET, POST | /api/crm-tasks/{tenant} |
| GET, PUT, DELETE | /api/crm-tasks/{tenant}/{id} |
Departments
Organizational departments for user grouping
| Methods | Path |
|---|---|
| GET, POST | /api/department/{tenant} |
| GET, PUT, DELETE | /api/department/{tenant}/{id} |
Dynamic Agents
Agents that login and logout of queues
| Methods | Path |
|---|---|
| GET, POST | /api/agent/{tenant} |
| GET, PUT, DELETE | /api/agent/{tenant}/{name} |
Emergency Locations
Emergency locations with address and notification information
| Methods | Path |
|---|---|
| GET, POST | /api/emergency-location/{tenant} |
| GET, PUT, DELETE | /api/emergency-location/{tenant}/{id} |
Feature Extensions
Feature codes and special extensions
| Methods | Path |
|---|---|
| GET, POST | /api/feature_code/{tenant} |
| GET, PUT, DELETE | /api/feature_code/{tenant}/{name} |
Hunt Groups
Ring groups dialed in sequence
| Methods | Path |
|---|---|
| GET, POST | /api/huntlist/{tenant} |
| GET, PUT, DELETE | /api/huntlist/{tenant}/{name} |
Inbound Routes
Inbound call routing rules
| Methods | Path |
|---|---|
| GET, POST | /api/inbound_routes/{tenant} |
| GET, PUT, DELETE | /api/inbound_routes/{tenant}/{did} |
Managed Devices
Provisioned IP phones and device management
| Methods | Path |
|---|---|
| GET, POST | /api/device/{tenant} |
| GET, PUT, DELETE | /api/device/{tenant}/{macaddress} |
Message Detail Records
Read-only Message Detail Records (SMS/WhatsApp) with date/direction/status filters and pagination
| Methods | Path |
|---|---|
| GET | /api/reports/mdr/{tenant} |
Messaging Channels
Outbound messaging channel management (WhatsApp and SMS sender identities)
| Methods | Path |
|---|---|
| GET, POST | /api/messaging-channels/{tenant} |
| GET, PUT, DELETE | /api/messaging-channels/{tenant}/{id} |
Migration Import
Bulk migration import: Music on Hold audio, voicemail greetings and messages, call recordings, and CDR
| Methods | Path |
|---|---|
| GET, POST | /api/tenants/{tenant}/cdr/import |
| GET | /api/tenants/{tenant}/cdr/import/{job} |
| POST | /api/tenants/{tenant}/contacts/personal/import |
| POST | /api/tenants/{tenant}/extensions/{ext}/greetings |
| POST | /api/tenants/{tenant}/musiconhold |
| POST | /api/tenants/{tenant}/musiconhold/{class}/files |
| POST | /api/tenants/{tenant}/musiconhold/reload |
| POST | /api/tenants/{tenant}/recordedcalls |
| POST | /api/tenants/{tenant}/sounds/sync |
| POST | /api/tenants/{tenant}/voicemail/import |
| POST | /api/tenants/{tenant}/voicemail/mwi-refresh |
Office Mode Definitions
Office mode definitions (the catalog of modes a tenant can switch between)
| Methods | Path |
|---|---|
| GET, POST | /api/office_modes/{tenant} |
| GET, PUT, DELETE | /api/office_modes/{tenant}/{mode_id} |
Office Modes
Office hours mode management (after-hours, holiday, etc.)
| Methods | Path |
|---|---|
| GET, DELETE | /api/office_mode/{tenant} |
| POST | /api/office_mode/{tenant}/{action} |
Outbound Routes
Outbound call routing rules
| Methods | Path |
|---|---|
| GET, POST | /api/outbound_routes/{tenant} |
| GET, PUT, DELETE | /api/outbound_routes/{tenant}/{extension} |
Outbound Webhooks
Outbound webhook management for event notifications
| Methods | Path |
|---|---|
| GET, POST | /api/outbound-webhooks/{tenant} |
| GET, PUT, DELETE | /api/outbound-webhooks/{tenant}/{id} |
Queues
Contact center call queues
| Methods | Path |
|---|---|
| GET, POST | /api/queue/{tenant} |
| GET, PUT, DELETE | /api/queue/{tenant}/{name} |
Recorded Calls
Read-only call recordings list and per-call lookup with absolute download URLs
| Methods | Path |
|---|---|
| GET | /api/reports/recorded-calls/{tenant} |
| GET | /api/reports/recorded-calls/{tenant}/{uniqueid} |
Recordings
Voice prompts (OGM): generate from text via TTS, list, and delete; list available TTS voices
| Methods | Path |
|---|---|
| GET, POST | /api/recordings/{tenant} |
| GET, DELETE | /api/recordings/{tenant}/{name} |
| GET | /api/tts/voices/{tenant} |
Routing Conditions
Reusable call routing decision points based on schedules or modes
| Methods | Path |
|---|---|
| GET, POST | /api/routing-condition/{tenant} |
| GET, PUT, DELETE | /api/routing-condition/{tenant}/{name} |
Schedules
Hours of operation, time-based routing
| Methods | Path |
|---|---|
| GET, POST | /api/schedule/{tenant} |
| GET, PUT, DELETE | /api/schedule/{tenant}/{name} |
Special Endpoints
Devices and lines not associated with user extensions
| Methods | Path |
|---|---|
| GET, POST | /api/specialendpoint/{tenant} |
| GET, PUT, DELETE | /api/specialendpoint/{tenant}/{name} |
Special Mailboxes
Unattached voice mailboxes
| Methods | Path |
|---|---|
| GET, POST | /api/mailbox/{tenant} |
| GET, PUT, DELETE | /api/mailbox/{tenant}/{name} |
Tags
Tag definitions for categorizing entities
| Methods | Path |
|---|---|
| GET, POST | /api/tag/{tenant} |
| GET, PUT, DELETE | /api/tag/{tenant}/{id} |
Telemetry
Read-only live telemetry: extension presence, active calls, and live queue/agent state
| Methods | Path |
|---|---|
| GET | /api/telemetry/calls/{tenant} |
| GET | /api/telemetry/calls/{tenant}/{ext} |
| GET | /api/telemetry/presence/{tenant} |
| GET | /api/telemetry/presence/{tenant}/{ext} |
| GET | /api/telemetry/queues/{tenant} |
| GET | /api/telemetry/queues/{tenant}/{queue} |
Tenant Branding
Tenant white-label branding: read branding, set brand colors, upload/remove the tenant logo
| Methods | Path |
|---|---|
| GET, PUT | /api/tenant-branding/{tenant} |
| POST, DELETE | /api/tenant-branding/{tenant}/logo |
User Extensions
Extensions associated with users
| Methods | Path |
|---|---|
| GET, POST | /api/tenants/{tenant}/extensions |
| GET, PUT, DELETE | /api/tenants/{tenant}/extensions/{name} |
Voice Menus (IVR)
Multi-level interactive voice menus
| Methods | Path |
|---|---|
| GET, POST | /api/ivr/{tenant} |
| GET, PUT, DELETE | /api/ivr/{tenant}/{name} |
Voicemail Greetings
Voicemail greeting library and per-type activation, for a user’s own mailbox or any mailbox in the tenant
| Methods | Path |
|---|---|
| GET | /api/tenants/{tenant}/extensions/{ext}/greeting-active |
| PUT, DELETE | /api/tenants/{tenant}/extensions/{ext}/greeting-active/{type} |
| GET, POST | /api/tenants/{tenant}/extensions/{ext}/greeting-library |
| GET, PATCH, DELETE | /api/tenants/{tenant}/extensions/{ext}/greeting-library/{id} |
| POST | /api/tenants/{tenant}/greetings/deploy |
| GET | /api/user/voicemail/greeting-active |
| PUT, DELETE | /api/user/voicemail/greeting-active/{type} |
| GET, POST | /api/user/voicemail/greeting-library |
| GET, PATCH, DELETE | /api/user/voicemail/greeting-library/{id} |