Create agent
Persists a reusable voice persona — `systemPrompt`, optional `voice`, routing `intent`, and optional `llmOptions` — keyed by `name` within the authenticated organization. Pass the returned `id` as `agentId` on `POST /v1/sessions` to seed a session from this agent.
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
{
"id": "agent_01HW...",
"organizationId": "string",
"name": "string",
"systemPrompt": "string",
"voice": "string",
"intent": {
"language": "en-US",
"optimizeFor": "latency"
},
"llmOptions": {
"temperature": 0,
"maxTokens": 1,
"model": "string"
},
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"stackPreferences": {
"allowedProviders": {
"stt": [
"deepgram"
],
"llm": [
"openai"
],
"tts": [
"elevenlabs"
],
"s2s": [
"openai:gpt-realtime-2.1"
]
}
},
"turnHandling": {
"profile": "conversational",
"endpointing": {
"minDelay": 0,
"maxDelay": 0
},
"interruption": {
"mode": "adaptive",
"minDuration": 0,
"minWords": 0
},
"turnDetection": true,
"contextThreshold": true,
"dtmfToolDescription": "string",
"amdPrompt": "string",
"waitForCallee": true,
"onMachine": "hangup",
"voicemailMessage": "string"
}
}{
"error": "Invalid request body",
"code": "VALIDATION_ERROR"
}{
"error": "Unauthorized",
"code": "UNAUTHORIZED"
}