---
title: "Join the team's live reception switchboard over WebSocket"
method: GET
path: "/api/telephony/live"
tags: ["Service workspaces"]
---

# Join the team's live reception switchboard over WebSocket

`GET /api/telephony/live`

## Request

- Base URL: `https://sim.animahealth.com`
- URL: `https://sim.animahealth.com/api/telephony/live`
- Auth: none required

Upgrade to WebSocket on the same origin. Within five seconds send TelephonyClientMessage kind authenticate with a GP-scoped team API key and receptionist name. Credentials never belong in the URL. The server assigns a memberId and broadcasts TelephonyServerMessage snapshots scoped to that world. Send command messages with unique requestId values; use the current call version for claims, hold, transfer, callback, end and end-and-next. Acknowledgements include requestId. Reuse a requestId only for the same command. Reconnect by authenticating again; calls held by a disconnected member return to the queue. Phone timestamps use wall-clock milliseconds, independent of simulation speed. HTTP clients without a WebSocket upgrade receive 426.

## Other responses

- `101`: WebSocket connection established. Authentication required in first frame.
- `403`: Scope, origin or operator restriction
- `426`: WebSocket upgrade required

---

[API](https://skmtc.dev/animahealth/apis/nhs-sim-api.md) - [All operations](https://skmtc.dev/animahealth/apis/nhs-sim-api/llms.txt) - [OpenAPI document](https://skmtc.dev/animahealth/apis/nhs-sim-api/revisions/c7803d7a3e58?raw)
