Skip to content

Read one agent definition

GET
/v1/agents/{agent_id}
curl --request GET \
--url https://api.vocapable.com/v1/agents/example \
--header 'Authorization: Bearer <token>'
agent_id
required
Agent Id
string

Successful Response

Media typeapplication/json
AgentResource

A definition in full.

object
id
required
Id
string
name
required
Name
string
use_case
required
Use Case
string
Allowed values: sdr staffing survey reminder custom receptionist recruiting
status
required
Status
string
Allowed values: draft active archived
latest_version
Any of:
integer
stock_voice_id
Any of:
string
voice_profile_id
Any of:
string
knowledge_pack_id
Any of:
string
seeded_from_template_id
Any of:
string
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
persona
required
Persona
object
key
additional properties
any
conversation_settings
ConversationSettings

Versioned dialogue policy; language availability is qualified by the speech service.

object
default_language
Default Language
string
default: en
Allowed values: en es
supported_languages
Supported Languages
Array<string>
Allowed values: en es
allow_language_switch
Allow Language Switch
boolean
default: true
objectives
required
Objectives
Array<object>
object
key
additional properties
any
guardrails
required
Guardrails

Conversation-level controls frozen into the published version.

object
disallowed_topics
Disallowed Topics
Array<string>
blocklist_patterns
Blocklist Patterns
Array<string>
judge
Judge
object
key
additional properties
any
max_call_seconds
Any of:
integer
>= 30 <= 900
max_turns
Any of:
integer
>= 1
tools
required
Tools
Array<string>
Allowed values: check_calendar book_meeting send_sms send_verification_code verify_identity record_sms_consent take_message open_ticket update_lead record_survey_answer confirm_shift record_shift_response record_qualification schedule_callback transfer_to_human record_optout end_call custom_webhook
sms_template_ids
Sms Template Ids
Array<string>
handoff_targets
Handoff Targets
Array<object>
DirectRepHandoffTarget

One server-resolved, immutable direct-rep target in an agent snapshot.

A write request names only rep_id values. Control-api resolves those ids against active, transfer-enabled tenant reps and persists this compact snapshot so an AgentVersion never follows a later mutable Settings record. A raw destination is deliberately not part of this customer/model/runtime representation.

object
rep_id
required
Rep Id
string
>= 1 characters <= 128 characters
display_name
required
Display Name
string
>= 1 characters <= 200 characters
llm_route
Any of:
LlmRoute

Provider routing chain with health-checked failover (CANON fact 24).

LLM chain only. STT and TTS chains are platform-defaulted at P1 and are not API-settable (CANON fact 80), which is what extra="forbid" refuses here.

object
primary
required
Primary
string
>= 1 characters
fallbacks
Fallbacks
Array<string>
knowledge_pack_version
Any of:
integer
disclosure_config
required
Disclosure Config
object
key
additional properties
string
voicemail_config
VoicemailConfig

The tenant’s two slots in a platform-composed voicemail drop (ADR-0023).

This is the DisclosureSlots doctrine applied to voicemail: the customer supplies a body and a callback number, and nothing else. The AI-disclosure opener, the order of the elements, and the identification/opt-out closing are composed by the platform from the same pinned version the live conversation discloses from, so a voicemail and a conversation can never disagree about who is calling or that it is artificial.

body is keyed by language tag exactly as disclosure_config is, and the drop resolves the same tag for both: a message whose opener and body were in different languages would be a disclosure in name only. An empty model is the ordinary state - it means this agent leaves no messages.

object
body
Body
object
key
additional properties
string
callback_e164
Any of:
string
/^\+[1-9]\d{6,14}$/
compliance_profile_id
Any of:
string
seeded_from_template_version
Any of:
integer
Example
{
"use_case": "sdr",
"status": "draft",
"conversation_settings": {
"default_language": "en",
"supported_languages": [
"en"
],
"allow_language_switch": true
},
"tools": [
"check_calendar"
]
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}