Create an AI voice agent
Changed onRegister a new AI voice agent. Required fields: name, description, project, inbound. Provider credentials are nested under provider.{type, agent_id, credentials} instead of flat fields. transcript_provider defaults to provider.type when omitted.
provider.credentials keys by type (voice providers only):
- vapi: api_key + config.{public_key, trigger_url}
- retell: api_key + agent_id + optional chat_agent_details.config.agent_id
- elevenlabs: api_key + config.{trigger_url}
- bland: api_key + agent_id (pathway_id) + config.{encrypted_key} for Twilio
- livekit: api_key + config.{api_secret (required), url (required)}
- pipecat: api_key + config.{webhook_url}
- cisco: no credentials needed to dial; connect Webex Contact Center from the dashboard for transcripts
- gemini_cx: no api_key; agent_id (CX agent id) + config.{service_account_email, location}; config.project_id defaults from the email
- self-hosted chat: provider.type=custom + chat_agent_details.{type: self_hosted, config.{url (wss://), headers}} Note: agentforce goes in chat_agent_details; koreai/genesys/synthflow use the v1 API.
Auto-import from a cloud provider — set provider.configure_from_provider: true (vapi/retell/elevenlabs/synthflow/bland) with provider.agent_id + provider.credentials.api_key, or agentforce with chat_agent_details.config.{agent_id, client_id, client_secret, domain} (omit the key to use the project's saved provider key; list importable ids with GET /v2/aiagents/provider-assistants/). An assistant already imported into the project is refused with 409. Cekura fetches the prompt, name, language, who-speaks-first, phone number, tool calls, dynamic variables and knowledge base and configures the agent automatically — name and description become optional (auto-fetched). The response is 202 with the created agent plus a progress_id; poll auto-fetch-progress/ to follow the staged import.
See examples below for full per-provider payloads.
Request
- Base URLhttps://api.cekura.ai
- URLhttps://api.cekura.ai/test_framework/v2/aiagents/
- Auth
- API key in header X-CEKURA-API-KEY
- or HTTP bearer
- or HTTP bearer
Request body
Response
Changes
- info
endpoint added
- info