If you only want to configure agents and read call logs, you need the REST API and nothing else. The two media surfaces exist to carry audio.
Three ways in
The runtime is not a second control plane. It reads agent configuration and provider credentials from the API using a bot JWT, and writes call artifacts back the same way. A client never talks to both for the same purpose.
Choosing an agent category
An agent’sagent_category decides which media surface applies to it. It is fixed at create time and changing it on a PATCH tears down or provisions the telephony attachment.
Both categories run the same Pipecat pipeline. The difference is the frame serializer, the sample rate, and how the
CallLog is created — a telephony call is registered from the provider webhook, a browser session through POST /api/v1/calls/web.
- Building a phone agent? Use
telephonyand read Telephony agents. - Building an in-page voice widget or a demo? Use
websocketand read Browser WebSocket agents.
The dashboard
The bundled Next.js dashboard is a client like any other: it drives the REST API for configuration and opens the runtime WebSocket for browser test calls. It is still the most complete worked example of a VoicEra client, and Browser WebSocket agents quotes its audio implementation.Building your own console
Everything the dashboard does is available to you:POST /api/v1/users/signupcreates the first user, an organisation, and asuper_adminmembership.POST /api/v1/users/loginreturns the JWT every other call needs.POST /api/v1/authstores provider credentials for the organisation, encrypted at rest.GET /api/v1/configuration/{stt,tts,llm,telephony}returns the provider catalogue and per-provider setting schemas — enough to render a form without hard-coding a vendor list.POST /api/v1/agentscreates the agent. Fortelephonyagents the API provisions the provider application and stores the answer URL on the agent document.- From there, place calls, run campaigns, or open the media WebSocket.
http://localhost:8000/docs, generated from the same routers, so it never drifts.