Skip to main content
PUT
https://api.telzino.com
/
v1
/
agents
/
{agentId}
curl -X PUT https://api.telzino.com/v1/agents/123e4567-e89b-12d3-a456-426614174000 \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Agent Name",
    "systemPrompt": "Updated system prompt with new instructions...",
    "status": "active",
    "ttsModel": "cartesia",
    "voiceSettings": {"voice_id": "nova", "speed": 1.1},
    "transferEnabled": true
  }'
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "organization_id": "987fcdeb-51a2-3bc4-d567-890123456789",
    "name": "Updated Agent Name",
    "description": "Handles customer inquiries",
    "greeting_message": "Hello! How can I help you today?",
    "system_prompt": "Updated system prompt...",
    "agent_type": "simple",
    "model": "gpt-4o",
    "voice_model": "gpt-4o-realtime-preview",
    "stt_model": "deepgram",
    "tts_model": "cartesia",
    "voice_settings": {"voice_id": "nova", "speed": 1.1},
    "config": {},
    "extensions": {},
    "integrations": {},
    "transfer_enabled": true,
    "status": "active",
    "is_active": true,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-16T14:20:00Z"
  }
}

Path Parameters

agentId
string
required
The unique identifier of the agent (UUID format)

Request Body

All fields are optional. Only include the fields you want to update.

Basic Information

name
string
Display name of the agent (1-255 characters)
description
string
Description of what the agent does
greetingMessage
string
Initial message the agent says when call starts
systemPrompt
string
System prompt defining agent behavior and personality
agentType
string
Type of agent configuration.Supported values: simple, advanced, custom
status
string
Agent activation status.Supported values:
  • active - Agent is available to receive calls
  • inactive - Agent is temporarily disabled
  • cancelled - Agent is permanently disabled
  • pending - Agent is pending activation

AI/Voice Model Configuration

model
string
AI model used for the agent.Supported values: gpt-4o, gpt-4o-mini
voiceModel
string
Voice model for real-time speech
sttModel
string
Speech-to-text model.Supported values: deepgram
ttsModel
string
Text-to-speech model.Supported values: cartesia, minimax, deepgram
voiceSettings
object
Voice configuration settings. Structure varies based on ttsModel:For Cartesia:
{"voice_id": "alloy", "speed": 1.0}
For MiniMax:
{"voice_id": "English_radiant_girl", "model": "speech-2.6-turbo", "speed": 1.0}
For Deepgram:
{"voice_id": "aura-asteria-en"}

Call Features

transferEnabled
boolean
Whether SIP call transfer is enabled. Supports:
  • SIP extensions: sip:extension@hostname
  • US phone numbers: Automatically formatted to tel:+1XXXXXXXXXX

Advanced Configuration

config
object
General configuration object.Common properties:
PropertyTypeDescription
enable_recordingbooleanEnable call recording
user_timezonestringIANA timezone (e.g., America/New_York)
inactivity_timeoutnumberSeconds before inactivity prompt
extensions
object
Extensions configuration for webhooks and MCP servers.Webhook structure:
{
  "tools": [
    {
      "type": "webhook",
      "name": "Log_Call_To_CRM",
      "friendlyName": "Log to CRM",
      "description": "Logs call details and transcript to the CRM after the call ends",
      "condition": "after_call",
      "method": "POST",
      "url": "https://api.yourcrm.com/calls/log",
      "headers": [
        { "key": "Authorization", "value": "Bearer YOUR_API_TOKEN" }
      ],
      "parameters": [
        { "key": "caller_phone", "value": "" },
        { "key": "call_summary", "value": "" },
        { "key": "transcript", "value": "" },
        { "key": "sentiment", "value": "" }
      ]
    }
  ],
  "mcp_servers": []
}
Webhook conditions:
  • before_call - Execute before the agent answers
  • during_call - Execute while call is active
  • after_call - Execute after call ends
See Webhooks documentation for complete details and examples.
Integrations (Google Calendar, Outlook, ModMed) are configured via the Telzino Dashboard UI, not through this API.
curl -X PUT https://api.telzino.com/v1/agents/123e4567-e89b-12d3-a456-426614174000 \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Agent Name",
    "systemPrompt": "Updated system prompt with new instructions...",
    "status": "active",
    "ttsModel": "cartesia",
    "voiceSettings": {"voice_id": "nova", "speed": 1.1},
    "transferEnabled": true
  }'
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "organization_id": "987fcdeb-51a2-3bc4-d567-890123456789",
    "name": "Updated Agent Name",
    "description": "Handles customer inquiries",
    "greeting_message": "Hello! How can I help you today?",
    "system_prompt": "Updated system prompt...",
    "agent_type": "simple",
    "model": "gpt-4o",
    "voice_model": "gpt-4o-realtime-preview",
    "stt_model": "deepgram",
    "tts_model": "cartesia",
    "voice_settings": {"voice_id": "nova", "speed": 1.1},
    "config": {},
    "extensions": {},
    "integrations": {},
    "transfer_enabled": true,
    "status": "active",
    "is_active": true,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-16T14:20:00Z"
  }
}

Update Behavior

  • Only provided fields are updated; omitted fields retain their current values
  • The updated_at timestamp is automatically set to the current time
  • The provider field cannot be changed after creation