Telemetry
Telemetry endpoints are live and read-only. Where Reporting tells you what happened, Telemetry tells you what is happening right now, so dashboards, wallboards, and AI agents can check reachability and activity before placing a call or routing an interaction.
All telemetry is tenant-scoped. Examples use https://your-server.thirdlane.com and tenant acme; authenticate with an X-API-Key header.
Extension presence
Return live registration and presence state for a tenant’s extensions: which devices are registered and online, their user agent and source IP, and voicemail counts.
curl -H "X-API-Key: YOUR_KEY" \ "https://your-server.thirdlane.com/api/telemetry/presence/acme"Each entry looks like:
{ "extension": "104", "peer": "104-acme", "registered": true, "session_count": 1, "sessions": [ { "online": true, "reachable": true, "useragent": "tl_web-15.1.6", "ip": "198.51.100.20", "usertype": "connect", "expires": 60 } ], "last_conntime": 1785128462, "voicemail": { "new": 1, "old": 11, "waiting": true }}Narrow to a single extension by appending it to the path:
curl -H "X-API-Key: YOUR_KEY" \ "https://your-server.thirdlane.com/api/telemetry/presence/acme/104"Use registered for a quick “is this extension reachable” check; inspect sessions for per-device detail (a user may be registered from a desk phone and a Connect client at once).
Active calls
Return a live snapshot of active call legs (channels) for a tenant: who is on a call, the other party, channel state, and duration. Each entry is one channel leg; group entries by linkedid to reconstruct a full call.
curl -H "X-API-Key: YOUR_KEY" \ "https://your-server.thirdlane.com/api/telemetry/calls/acme"Each entry looks like:
{ "channel": "SIP/104-acme-0000004a", "extension": "104", "tenant": "acme", "state": "Up", "caller_id_num": "104", "connected_num": "+14155550123", "duration": "00:01:37", "application": "Dial", "linkedid": "1785128500.42", "bridged": true}Narrow to a single extension by appending it to the path:
curl -H "X-API-Key: YOUR_KEY" \ "https://your-server.thirdlane.com/api/telemetry/calls/acme/104"Tenant-scoped keys only see legs belonging to their own extensions.
Live queue state
Return live state for a tenant’s call queues: parameters (strategy, depth), logged-in members with paused / in-call / status, and waiting callers.
curl -H "X-API-Key: YOUR_KEY" \ "https://your-server.thirdlane.com/api/telemetry/queues/acme"Each entry looks like:
{ "queue": "sales", "full_name": "sales-acme", "tenant": "acme", "strategy": "ringall", "max": 10, "calls_waiting": 1, "member_count": 2, "caller_count": 1, "members": [ { "extension": "104", "status": 2, "status_label": "in_use", "paused": false, "in_call": true, "calls_taken": 7 } ], "callers": [ { "position": 1, "caller_id_num": "+14155550123", "wait": 24 } ]}Narrow to a single queue (bare or full name) by appending it to the path:
curl -H "X-API-Key: YOUR_KEY" \ "https://your-server.thirdlane.com/api/telemetry/queues/acme/sales"Roadmap
Active-call and live queue/agent telemetry are sourced live from Asterisk. A future phase may add richer aggregates (per-agent session summaries, historical roll-ups) and push/subscribe delivery under /api/events.
Related documentation
- Reporting - historical CDR, MDR, and recordings
- Actions - place and control calls
- API Basics - authentication and pagination
- OpenAPI REST - interactive reference