Create, configure, and manage AI voice agents. Agents handle voice conversations with customizable LLM, TTS, and STT settings.
List Agents
List all agents for your organization.
Supports filtering with both snake_case and camelCase query parameters.
Date Filters
createdAtGt/created_at_gt: After this datetimecreatedAtLt/created_at_lt: Before this datetimecreatedAtGe/created_at_ge: On or after this datetimecreatedAtLe/created_at_le: On or before this datetime- Same patterns for
updatedAt*/updated_at_*
Pagination
limit: Max records (default 100, max 1000)skip: Offset for paginationsortOrder: ASC or DESC (default DESC)
Example Request (cURL)
Code
JavaScript Example
Code
Python Example
Code
query Parameters
skipNumber of records to skip for pagination. Defaults to 0.
limitMaximum number of records to return. Defaults to 100. Max 1000.
sortOrderSort order: ASC (oldest first) or DESC (newest first). Defaults to DESC.
Sort order for list endpoints
createdAtGtFilter records created after this datetime (ISO 8601). Example: 2024-01-01T00:00:00Z
createdAtLtFilter records created before this datetime (ISO 8601). Example: 2024-12-31T23:59:59Z
createdAtGeFilter records created on or after this datetime (ISO 8601). Example: 2024-01-01T00:00:00Z
createdAtLeFilter records created on or before this datetime (ISO 8601). Example: 2024-12-31T23:59:59Z
updatedAtGtFilter records updated after this datetime (ISO 8601). Example: 2024-01-01T00:00:00Z
updatedAtLtFilter records updated before this datetime (ISO 8601). Example: 2024-12-31T23:59:59Z
updatedAtGeFilter records updated on or after this datetime (ISO 8601). Example: 2024-01-01T00:00:00Z
updatedAtLeFilter records updated on or before this datetime (ISO 8601). Example: 2024-12-31T23:59:59Z
List Agents › Responses
Successful Response
List of agents
Pagination metadata
Create Agent
Create a new AI agent with nested V3 configuration.
Only name is required - all other fields have production-ready defaults.
Example Request
Code
JavaScript Example
Code
Python Example
Code
Create Agent › Request Body
nameAgent display name (required)
agent_typeAgent type: advanced (form-based) or workflow (graph-based)
Template ID to apply preset instructions and config. See GET /v1/templates for available templates.
tagsTags for organization
Agent description
LLM configuration. Default: OpenAI GPT-4.1
TTS configuration. Default: ElevenLabs Flash v2.5
STT configuration. Default: ElevenLabs Scribe v2
Vocal backchanneling config
Enable ultra-low latency word-by-word streaming
Tool and capability settings
Call transfer settings
Analytics and monitoring settings
Create Agent › Responses
Successful Response
idUnique agent identifier
nameAgent display name
organization_idOwning organization ID
statusAgent status
is_activeWhether agent is active
LLM/Brain configuration
TTS configuration
STT configuration
Vocal backchanneling config
stream_responseEnable ultra-low latency word-by-word streaming
min_consecutive_speech_delayTools configuration
Transfer settings
Analytics settings
tagsTags
Description
agent_typeAgent type
Linked workflow summary for workflow agents: {id, name, is_active, current_version}
versionConfig version number
call_countTotal number of calls for this agent
Creation timestamp
Last update timestamp
Configured per-call inbound webhook URL
inbound_webhook_secret_setTrue when an HMAC secret is configured. The secret value itself is never returned — operator re-enters it to change.
Get Agent
Get agent details with V3 nested configuration.
path Parameters
agent_idThe unique identifier of the agent.
Get Agent › Responses
Successful Response
idUnique agent identifier
nameAgent display name
organization_idOwning organization ID
statusAgent status
is_activeWhether agent is active
LLM/Brain configuration
TTS configuration
STT configuration
Vocal backchanneling config
stream_responseEnable ultra-low latency word-by-word streaming
min_consecutive_speech_delayTools configuration
Transfer settings
Analytics settings
tagsTags
Description
agent_typeAgent type
Linked workflow summary for workflow agents: {id, name, is_active, current_version}
versionConfig version number
call_countTotal number of calls for this agent
Creation timestamp
Last update timestamp
Configured per-call inbound webhook URL
inbound_webhook_secret_setTrue when an HMAC secret is configured. The secret value itself is never returned — operator re-enters it to change.
Update Agent
Update agent. PATCH semantics: only fields the client sends are changed. null clears a field.
path Parameters
agent_idThe unique identifier of the agent to update.
Update Agent › Request Body
Agent display name
Tags for organization
Agent description
Whether agent is active
LLM configuration (brain - what thinks)
TTS configuration
STT configuration
Vocal backchanneling config
Enable ultra-low latency word-by-word streaming
Tool and capability settings
Call transfer settings
Analytics and monitoring settings
If provided, the update will fail with 409 if the agent's current version does not match. Prevents concurrent overwrites.
HTTPS URL invoked at call/message connect to fetch per-call dynamic_variables and (optional) prompt overrides. Empty/null disables the fetch. Phone-number-level URLs (when configured) take precedence for inbound voice — agent URL is the fallback.
Shared secret used to sign every webhook request with HMAC-SHA256 in the X-Neuratel-Signature header. Optional — null means no signature is sent (acceptable for internal/dev endpoints only).
Update Agent › Responses
Successful Response
idUnique agent identifier
nameAgent display name
organization_idOwning organization ID
statusAgent status
is_activeWhether agent is active
LLM/Brain configuration
TTS configuration
STT configuration
Vocal backchanneling config
stream_responseEnable ultra-low latency word-by-word streaming
min_consecutive_speech_delayTools configuration
Transfer settings
Analytics settings
tagsTags
Description
agent_typeAgent type
Linked workflow summary for workflow agents: {id, name, is_active, current_version}
versionConfig version number
call_countTotal number of calls for this agent
Creation timestamp
Last update timestamp
Configured per-call inbound webhook URL
inbound_webhook_secret_setTrue when an HMAC secret is configured. The secret value itself is never returned — operator re-enters it to change.
Duplicate Agent
Duplicate an existing agent.
path Parameters
agent_idThe unique identifier of the agent to duplicate.
query Parameters
new_nameOptional custom name for the duplicated agent. If not provided, appends ' (Copy)' to the original name.
Duplicate Agent › Responses
Successful Response
idUnique agent identifier
nameAgent display name
organization_idOwning organization ID
statusAgent status
is_activeWhether agent is active
LLM/Brain configuration
TTS configuration
STT configuration
Vocal backchanneling config
stream_responseEnable ultra-low latency word-by-word streaming
min_consecutive_speech_delayTools configuration
Transfer settings
Analytics settings
tagsTags
Description
agent_typeAgent type
Linked workflow summary for workflow agents: {id, name, is_active, current_version}
versionConfig version number
call_countTotal number of calls for this agent
Creation timestamp
Last update timestamp
Configured per-call inbound webhook URL
inbound_webhook_secret_setTrue when an HMAC secret is configured. The secret value itself is never returned — operator re-enters it to change.
Restore Agent Version
Restore an agent's configuration to a specific historical version.
path Parameters
agent_idAgent ID
versionVersion number to restore
Restore Agent Version › Responses
Successful Response
successmessageList Required Template Variables
Inspect an agent's config and return every {{template}} placeholder it references, split into auto-injected system__* variables and contact variables that must be present on the call list.
path Parameters
agent_idAgent ID
List Required Template Variables › Responses
Successful Response
required_variablescontact_variablessystem_variablestotal_required