Skip to main content
curl -X GET https://api.thinnest.ai/v2/agents/{public_id} \
  -H "Authorization: Bearer $THINNESTAI_API_KEY"

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

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.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
model.maxTokens
int \
null
model.instructions
string
System prompt
transcriber.provider
string
STT provider (deepgram, openai, sarvam)
transcriber.model
string
STT model ID
transcriber.language
string
Language code
voice.provider
string
TTS provider (deepgram, aero, elevenlabs)
voice.voiceId
string
Voice identifier
voice.speed
number
Playback speed multiplier
tools[].name
string
Tool display name
tools[].type
string
Tool type identifier
tools[].enabled
boolean
Whether tool is active
knowledgeBase.sources[]
array
Attached knowledge sources
graphData
object \
null

Errors

CodeDescription
404Agent not found
403Not authorized to access this agent