Agents
Get Agent
Retrieves details of a specific agent by ID
GET
Path Parameters
The unique identifier of the agent (UUID format)
Response Fields
Core Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique agent identifier (UUID) |
organization_id | string | Organization the agent belongs to |
name | string | Display name of the agent |
description | string | What the agent does |
status | string | active, inactive, cancelled, or pending |
is_active | boolean | Computed from status (true if status is active) |
Conversation Configuration
| Field | Type | Description |
|---|---|---|
greeting_message | string | First message spoken when call connects |
system_prompt | string | AI instructions defining behavior |
agent_type | string | simple, advanced, custom, or appointment_scheduler |
AI/Voice Models
| Field | Type | Description |
|---|---|---|
model | string | LLM model: gpt-4o, gpt-4o-mini |
voice_model | string | Voice model for realtime speech |
stt_model | string | Speech-to-text: deepgram |
tts_model | string | Text-to-speech: cartesia, minimax, deepgram |
voice_settings | object | TTS-specific voice configuration |
Configuration Objects
| Field | Type | Description |
|---|---|---|
config | object | General settings (enable_recording, user_timezone, etc.) |
extensions | object | Webhook tools (tools) and MCP connections (mcp_servers) — see below |
integrations | object | Third-party integrations keyed by provider (modmed, googleCalendar, outlookCalendar, twilio, netsapiens). Secret fields are never returned — see below |
Secrets are redacted from all agent responses. Integration secret fields — passwords,
twilio.authToken, netsapiens.client_secret, and calendar access/refresh tokens — and the SIP password inside sip_registration_data are omitted (not masked) from this and every other agent endpoint. Non-secret metadata (provider keys, usernames, accountSid, connected_at, calendar names) is still returned. Secrets are write-only: set them via Update Agent, whose field-level merge means a GET → modify → PUT round-trip won’t wipe stored secrets.Stored MCP Connection Shape
Each item inextensions.mcp_servers is returned exactly as stored — no field remapping occurs on GET. After saving via the Dashboard or the API, each entry uses the snake_case shape documented below.
Both "sse" and "http" transports use the same field set. transport_type is always stored lowercase. For "http", provide your streamable HTTP MCP endpoint in mcp_endpoint_url; for "sse" provide your SSE endpoint URL. The mcp_endpoint_url field accepts https:// (production) or http:// (e.g. local dev) as the URL scheme.
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Present once the connection has been saved |
connection_name | string | Human-readable connection label |
mcp_endpoint_url | string | Full MCP endpoint URL. Use your SSE endpoint when transport_type is "sse", or your streamable HTTP endpoint when transport_type is "http". Accepts https:// or http:// scheme |
transport_type | string | "sse" or "http", lowercase only |
auth_headers | object | Optional. Object of header names to string values, sent to the MCP server |
initialization_options | object | Optional. Arbitrary JSON passed at MCP client initialization |
fingerprint | string | Present only after the connection has been tested (via Dashboard or API test). Absent for connections created via the API that have never been tested from the Portal. |
tools | array | Cached list of tools discovered during the last connection test. Each item has name and description only — full JSON schemas are not stored. Empty for API-created connections that have not yet been tested. |
extensions on POST or PUT, the API validates a different request shape. See Create Agent — MCP Servers Request Body for the accepted fields. Do not paste a GET mcp_servers array into a create or update body without transforming the entries.
Call Features
| Field | Type | Description |
|---|---|---|
transfer_enabled | boolean | Whether call transfer function is available |
transfer_rules | string | Rules/conditions for call transfers |
enable_recording | boolean | Whether call recording is enabled |
echo_detection | boolean | Whether echo detection is enabled |
call_detection | boolean | Whether answering machine detection is enabled |
email_tool_enabled | boolean | Whether the email tool is enabled |
email_tool_instructions | string | Instructions for email tool usage |
email | array | Email addresses for notifications and email tool |
sip_registration_data | object | SIP registration configuration (if set) |
Localization
| Field | Type | Description |
|---|---|---|
language | string | Agent language (en-US, es-US, or multi) |
timezone | string | Agent timezone in IANA format (e.g., America/New_York) |
Knowledge Base
| Field | Type | Description |
|---|---|---|
knowledgebase_links | array | URLs the agent references for knowledge |
Business (Google Place)
| Field | Type | Description |
|---|---|---|
google_place_id | string | Linked Google Business Profile listing. Set via googlePlaceId on Create / Update |
google_place_data | object | Raw listing details from Google (service-managed, read-only) |
google_place_context | string | Curated business facts the agent uses on calls (service-managed, read-only) |
google_place_fetched_at | string | When the listing was last fetched. Data older than 30 days is never used on calls |
Timestamps
| Field | Type | Description |
|---|---|---|
created_at | datetime | When the agent was created |
updated_at | datetime | When the agent was last modified |
