Get Agent
Retrieve a specific agent by ID.
GET
/v2/agents/{public_id}Get a single agent with full unified configuration.
Path Parameters
The agent's public ID (format: ag_*)
Response
Returns the full agent object with nested configuration sections. Voice-related fields (transcriber, voice, interruptionConfig, etc.) are only populated when voiceEnabled is true.
{
"id": "ag_c47e7c97_b2f2",
"name": "Sales Agent",
"createdAt": "2026-03-07T10:00:00Z",
"updatedAt": null,
"model": {
"provider": "openai",
"model": "gpt-4o",
"temperature": null,
"maxTokens": null,
"instructions": "You are a helpful sales assistant."
},
"transcriber": null,
"voice": null,
"tools": [
{ "name": "duckduckgo", "type": "duckduckgo", "enabled": true },
{ "name": "email", "type": "email", "enabled": true }
],
"knowledgeBase": {
"sources": [
{ "id": "42", "name": "Product FAQ", "type": "text", "status": "ready" }
]
},
"voiceEnabled": false,
"agentType": "simple",
"firstMessage": null,
"endCallEnabled": true,
"interruptionConfig": null,
"recordingConfig": null,
"dtmfConfig": null,
"silenceConfig": null,
"multilingualConfig": null,
"callSummaryConfig": null,
"webhookConfig": null,
"maxDurationSeconds": 0,
"noiseCancellation": "none",
"publishConfig": null,
"graphData": null
}Voice-Enabled Agent Response
When voiceEnabled is true, voice configuration sections are populated:
{
"id": "ag_d58f8d08_c3g3",
"name": "Phone Support Agent",
"voiceEnabled": true,
"model": {
"provider": "openai",
"model": "gpt-4o",
"temperature": null,
"maxTokens": null,
"instructions": "You are a phone support agent."
},
"transcriber": {
"provider": "deepgram",
"model": "nova-2-conversationalai",
"language": "en"
},
"voice": {
"provider": "deepgram",
"model": null,
"voiceId": "aero-vayu",
"speed": 1.0
},
"firstMessage": "Hello! How can I help you today?",
"endCallEnabled": true,
"interruptionConfig": {
"enabled": true,
"threshold": 0.5,
"minSilenceDuration": 0.3,
"minSpeechDuration": 0.1
},
"recordingConfig": {
"enabled": false,
"downloadEnabled": true
},
"dtmfConfig": {
"enabled": false,
"ivrDetection": false,
"menuEnabled": false
},
"silenceConfig": {
"unresponsiveTimeoutSeconds": 30,
"unresponsiveFinalSeconds": 15,
"fillersEnabled": false,
"fillerPhrases": []
},
"multilingualConfig": {
"enabled": false,
"primaryLanguage": "en"
},
"callSummaryConfig": {
"enabled": false,
"prompt": ""
},
"webhookConfig": {
"url": "",
"events": [],
"retryCount": 3
},
"maxDurationSeconds": 600,
"noiseCancellation": "none"
}Response Fields
| Section | Field | Type | Description |
|---|---|---|---|
| Core | id | string | Public agent ID (ag_*) |
name | string | Agent display name | |
createdAt | string | ISO 8601 creation timestamp | |
agentType | string | simple, graph, or workflow | |
voiceEnabled | boolean | Whether voice/phone calls are enabled | |
| Model | model.provider | string | LLM provider (openai, anthropic, google, etc.) |
model.model | string | Model name (gpt-4o, claude-3-5-sonnet-20241022, etc.) | |
model.temperature | float | null | LLM temperature setting | |
model.maxTokens | int | null | Maximum response tokens | |
model.instructions | string | System prompt | |
| Transcriber | transcriber.provider | string | STT provider (deepgram, openai, sarvam) |
transcriber.model | string | STT model ID | |
transcriber.language | string | Language code | |
| Voice | voice.provider | string | TTS provider (deepgram, aero, elevenlabs) |
voice.voiceId | string | Voice identifier | |
voice.speed | float | Playback speed multiplier | |
| Tools | tools[].name | string | Tool display name |
tools[].type | string | Tool type identifier | |
tools[].enabled | boolean | Whether tool is active | |
| Knowledge | knowledgeBase.sources[] | array | Attached knowledge sources |
| Graph | graphData | object | null | Workflow graph (only for graph/workflow agents) |
Errors
| Code | Description |
|---|---|
404 | Agent not found |
403 | Not authorized to access this agent |