The three API families
Pick the family that matches your job. Each has its own base URL, key, and audience.
Agents API
Programmatically create agents, edit behavior and knowledge, branch, and ship through environments.
api..poly.aiConversations, Chat, Handoff…
Interact with running agents and read post-call data. Transcripts, audio, metrics, sessions.
api.-1.platform.polyai.appAlerts & Webhooks
Receive real-time events when calls complete, alerts fire, or handoffs happen. Stop polling.
api..poly.aiI want to…
Task-oriented entry points. Jump straight to a working example.
Make my first API call
Pull conversation data
Build & deploy an agent
Get notified on events
Send a chat message
Trigger an outbound call
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.
Finding your account_id and project_id
Your account_id and project_id are the first two path segments of your Agent Studio URL:
<region> with the subdomain for your tenant:| Studio URL | API host |
|---|---|
https://studio.us.poly.ai | https://api.us-1.platform.polyai.app |
https://studio.uk.poly.ai | https://api.uk-1.platform.polyai.app |
https://studio.eu.poly.ai | https://api.euw-1.platform.polyai.app |
https://studio.poly.ai | https://api.studio.poly.ai (self-serve / Studio region) |
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 parameter | Slug form (from URL) | Prefixed form |
|---|---|---|
account_id | acme-uk | ws-xxxxxxxx |
project_id | acme-team-4 | PROJECT-xxxxxxxx |
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.
Agents API vs. Conversations API
These two get confused most often. Use this table to pick the right one.
| Agents API | Conversations API | |
|---|---|---|
| Purpose | Build and deploy agents | Read call data and transcripts |
| Direction | Write (create, update, deploy) | Read (query, retrieve) |
| Base URL | api.{region}.poly.ai/v1/agents/… | api.{region}.platform.polyai.app/v3/… |
| Auth | API key (workspace-scoped) | API key (project-scoped) |
| Who uses it | Developers automating agent builds | Analysts, integrations pulling call data |
Versioning
Only the Conversations API is versioned today. Everything else is unversioned.Event-sourced, scalable, full schema with latency and translation fields. Use for all new integrations.
Same schema as v3, legacy auth model. Continue if already integrated.
Best-effort from 2 Mar 2026 · unsupported from 31 Aug 2026. Migrate to v3.
Browse the catalog
Every endpoint, grouped by API.

