API Reference
Get agent
Fetch a single agent by id. Scoped to the authenticated organization — agents owned by another org always return 404.
Authorization
bearerAuth AuthorizationBearer <token>
In: header
Path Parameters
id*string
Agent id, prefixed agent_.
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"
]
}
}
}{
"error": "Unauthorized",
"code": "UNAUTHORIZED"
}{
"error": "not found",
"code": "NOT_FOUND"
}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.
Update agent
Partial update — every field on the body is optional and only supplied keys are written. Updating `name` to one already used by another agent in the org returns 409.