Create an agent
Creates a new voice agent. Only name and systemPrompt are required - how to write a good prompt is covered on the Voice agent page. If you send numberE164, the agent is attached to that number right away. POST returns only the id; use a follow-up GET /v1/agents/{id} to read the actual provider. transferTo triggers a post-save attempt to move an ElevenLabs agent to the engine, but a paused attempt, unavailable engine or failure can leave it on ElevenLabs, where handoff does not work. voiceId picks the voice: explicit useForOutboundTasks: true replaces a recognized catalog voice unavailable on the engine, including katty, with the engine default. Outside this fallback, the engine accepts catalog voices except the ElevenLabs voices (katty, the older anet); a raw ElevenLabs ID or another incompatible voice returns 400. With false, the initial voice must be valid for ElevenLabs (katty or a raw ElevenLabs ID; ElevenLabs no longer assigns anet to new agents and volai rejects it with a 400); a successful later switch for transferTo may map it to the engine default. Without voiceId, the engine uses Milena and ElevenLabs uses the template's voice (Katty). The optional fields (toolIds, transferTo, transferCondition, dataFields, recordCalls, goal, knowledge, notifyEmail, useForOutboundTasks, voicemail) are described below.
Request
- Base URL: https://volai.cz
- URL: https://volai.cz/v1/agents
- Auth: HTTP bearer
Headers
Optional key for one logical request. Its scope is global to this API key, independent of the HTTP method, path, or body: use a new value for every distinct logical action across all endpoints and request bodies, and reuse it only to retry the exact same logical request. Reusing a non-blank key within 24 hours returns the stored response; a concurrent request with the same key returns 409 idempotency_in_progress. A missing or whitespace-only value disables idempotency.
Request body
Response
Created agent id
Changes
No recorded changes to this operation across all 1 revision of this API.