Skip to main content
Attach the hangUp built-in tool. Without it the agent finishes speaking and waits indefinitely. This is the most common first-agent problem.
Almost always the description. It is the only thing the model uses to decide. Name the phrasings callers actually use — “asks where their order is”, “gives an order number” — rather than describing the endpoint. See Tools.If it is a client tool on a phone agent, it cannot fire at all — there is no client on a phone call.
Check firstSpeaker. A greeting on a firstSpeaker: user agent is silently unused, and outbound calls always wait regardless. See Writing agent prompts.
PATCH /agents/{id}. There is no PUT handler — send only the fields you are changing.
PATCH /numbers/{id} with {"agentId": "..."}. GET /agents/{id}/numbers is read-only; there is no POST on it. Unassign with {"agentId": null}.
Balance, usage, and subscription endpoints are dashboard-only — they authenticate with a session, not an API key. Track spend by aggregating GET /calls instead. See Credits.
No. Call lifecycle events flow inbound from the voice provider to Omnia for billing; they are not forwarded on. Poll GET /calls with a cursor — a call is finished once endTime is populated.
/calls uses cursor pagination (cursor, pageSize) to match the underlying voice provider. Everything else uses page and limit.
Not currently. Corpus creation and source management authenticate with a dashboard session. Linking a corpus to an agent is available via the API — the corpora field on the agent payload.
baseUrlPattern refuses internal addresses — private ranges, loopback, and link-local including the cloud metadata endpoint. A tool is a URL the model can cause your infrastructure to call, so it cannot point inward.
OmniaSession sends your key with X-API-Key from wherever it runs — in a browser, that key is visible in devtools. Create calls server-side and hand the client only the websocketUrl, or point baseUrl at your own proxy.
The person who created the workspace, for everything that happens in it — not the member who made the call, and not the API key holder. See Workspaces.
No. Snapshots capture personality fields, language, and voice — not tool assignments, corpora, or call settings. Restoring brings back the older wording with today’s everything-else.
50+, with particular depth in English and the Nordic languages. Language is auto-detected and an agent can switch mid-conversation. Fetch what your account has with GET /languages.

Still stuck?

How to get a useful answer quickly.