Skip to navigation

API reference

PolyAI Platform · API Reference

Build voice agents from code.

Three REST API families cover the full lifecycle — ship agents, run conversations, and observe everything in production. No SDK required.

3
API families
< 300ms
Median agent latency
24+
Languages
3
Regions: US · UK · EU

The three API families

Pick the family that matches your job. Each has its own base URL, key, and audience.

I want to…

Task-oriented entry points. Jump straight to a working example.

Pick your region

Your key is provisioned to a region. The host differs by API family — the platform.polyai.app host carries a -1 suffix, the poly.ai host doesn’t.

🇺🇸US
Runtime · data
api.us-1.platform.polyai.app
Build · monitoring
api.us.poly.ai
🇬🇧UK
Runtime · data
api.uk-1.platform.polyai.app
Build · monitoring
api.uk.poly.ai
🇪🇺EU
Runtime · data
api.euw-1.platform.polyai.app
Build · monitoring
api.eu.poly.ai

Do not use https://api.poly.ai without a region prefix — it returns an error. Always include the region.

Finding your account_id and project_id

Your account_id and project_id are the first two path segments of your Agent Studio URL:

https://studio.<region>.poly.ai/<account_id>/<project_id>/...

Agent Studio is region-specific. Each Studio host serves one region and is paired with the matching API host. Replace <region> with the subdomain for your tenant:

Studio URLAPI host
https://studio.us.poly.aihttps://api.us-1.platform.polyai.app
https://studio.uk.poly.aihttps://api.uk-1.platform.polyai.app
https://studio.eu.poly.aihttps://api.euw-1.platform.polyai.app
https://studio.poly.aihttps://api.studio.poly.ai (self-serve / Studio region)

A workspace lives in exactly one region — use the Studio host you log in to, and the matching API host for calls.

For example, if your Studio URL is https://studio.uk.poly.ai/acme-uk/acme-team-4/agent, then account_id is acme-uk and project_id is acme-team-4.

Both the slug form (visible in the URL) and the prefixed form are accepted in API paths:

Path parameterSlug form (from URL)Prefixed form
account_idacme-ukws-xxxxxxxx
project_idacme-team-4PROJECT-xxxxxxxx

The account_id path parameter corresponds to the workspace in Agent Studio. Its prefixed form starts with ws- (for example ws-fd112d8f) — not ACCOUNT-. Older docs may still refer to the prefixed form as ACCOUNT-xxxxxxx; the value you see in Agent Studio (prefixed with ws-) is the correct one to use.

Authenticate

Every PolyAI API uses an API key sent in the x-api-key header. Keys are provisioned by PolyAI — runtime and build keys are separate.

curl -X GET \
"https://api.<region>.platform.polyai.app/v3/ws-xxxxxxxx/PROJECT-xxx/conversations" \
-H "x-api-key: YOUR_API_KEY"

Key hygiene. Treat keys as secrets. Never commit or embed in client-side code. If a key leaks, contact PolyAI to rotate immediately.

Agents API vs. Conversations API

These two get confused most often. Use this table to pick the right one.

Agents APIConversations API
PurposeBuild and deploy agentsRead call data and transcripts
DirectionWrite (create, update, deploy)Read (query, retrieve)
Base URLapi.{region}.poly.ai/v1/agents/…api.{region}.platform.polyai.app/v3/…
AuthAPI key (workspace-scoped)API key (project-scoped)
Who uses itDevelopers automating agent buildsAnalysts, integrations pulling call data

In short: Agents API creates and ships agents. Conversations API tells you what those agents did on calls.

Versioning

Only the Conversations API is versioned today. Everything else is unversioned.

v3Recommended

Event-sourced, scalable, full schema with latency and translation fields. Use for all new integrations.

v2

Same schema as v3, legacy auth model. Continue if already integrated.

v1Sunsetting

Best-effort from 2 Mar 2026 · unsupported from 31 Aug 2026. Migrate to v3.

Browse the catalog

Every endpoint, grouped by API.