curl --request PUT \
--url https://api.agents.slng.ai/v1/agents/{agent_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"system_prompt": "<string>",
"greeting": "<string>",
"language": "<string>",
"models": {
"stt": "slng/deepgram/nova:3-en",
"llm": "groq/openai/gpt-oss-120b",
"tts": "slng/deepgram/aura:2-en",
"tts_voice": "aura-2-thalia-en",
"stt_kwargs": {},
"llm_kwargs": {},
"tts_kwargs": {},
"fallbacks": {
"stt": [],
"llm": [],
"tts": []
},
"stt_final_timeout_s": 1,
"llm_first_token_timeout_s": 1,
"tts_first_audio_timeout_s": 1,
"failure_audio_enabled": true
},
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"llm_router_enabled": true,
"idle_nudges": {
"first_nudge_text": "<string>",
"second_nudge_text": "<string>",
"final_hangup_text": "<string>",
"enabled": true,
"first_nudge_delay_seconds": 15,
"second_nudge_delay_seconds": 30,
"hangup_delay_seconds": 15
},
"enable_interruptions": true,
"schema_version": 2,
"tool_mode": "shared",
"tool_refs": [],
"mcp_refs": [],
"template_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"template_variable_options": {},
"runtime_variables": []
}
'import requests
url = "https://api.agents.slng.ai/v1/agents/{agent_id}"
payload = {
"name": "<string>",
"system_prompt": "<string>",
"greeting": "<string>",
"language": "<string>",
"models": {
"stt": "slng/deepgram/nova:3-en",
"llm": "groq/openai/gpt-oss-120b",
"tts": "slng/deepgram/aura:2-en",
"tts_voice": "aura-2-thalia-en",
"stt_kwargs": {},
"llm_kwargs": {},
"tts_kwargs": {},
"fallbacks": {
"stt": [],
"llm": [],
"tts": []
},
"stt_final_timeout_s": 1,
"llm_first_token_timeout_s": 1,
"tts_first_audio_timeout_s": 1,
"failure_audio_enabled": True
},
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"llm_router_enabled": True,
"idle_nudges": {
"first_nudge_text": "<string>",
"second_nudge_text": "<string>",
"final_hangup_text": "<string>",
"enabled": True,
"first_nudge_delay_seconds": 15,
"second_nudge_delay_seconds": 30,
"hangup_delay_seconds": 15
},
"enable_interruptions": True,
"schema_version": 2,
"tool_mode": "shared",
"tool_refs": [],
"mcp_refs": [],
"template_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"template_variable_options": {},
"runtime_variables": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
system_prompt: '<string>',
greeting: '<string>',
language: '<string>',
models: {
stt: 'slng/deepgram/nova:3-en',
llm: 'groq/openai/gpt-oss-120b',
tts: 'slng/deepgram/aura:2-en',
tts_voice: 'aura-2-thalia-en',
stt_kwargs: {},
llm_kwargs: {},
tts_kwargs: {},
fallbacks: {stt: [], llm: [], tts: []},
stt_final_timeout_s: 1,
llm_first_token_timeout_s: 1,
tts_first_audio_timeout_s: 1,
failure_audio_enabled: true
},
inbound_greeting: '<string>',
outbound_greeting: '<string>',
llm_router_enabled: true,
idle_nudges: {
first_nudge_text: '<string>',
second_nudge_text: '<string>',
final_hangup_text: '<string>',
enabled: true,
first_nudge_delay_seconds: 15,
second_nudge_delay_seconds: 30,
hangup_delay_seconds: 15
},
enable_interruptions: true,
schema_version: 2,
tool_mode: 'shared',
tool_refs: [],
mcp_refs: [],
template_id: '550e8400-e29b-41d4-a716-446655440000',
sip_inbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
sip_outbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
template_defaults: {},
template_variable_options: {},
runtime_variables: []
})
};
fetch('https://api.agents.slng.ai/v1/agents/{agent_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.agents.slng.ai/v1/agents/{agent_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'system_prompt' => '<string>',
'greeting' => '<string>',
'language' => '<string>',
'models' => [
'stt' => 'slng/deepgram/nova:3-en',
'llm' => 'groq/openai/gpt-oss-120b',
'tts' => 'slng/deepgram/aura:2-en',
'tts_voice' => 'aura-2-thalia-en',
'stt_kwargs' => [
],
'llm_kwargs' => [
],
'tts_kwargs' => [
],
'fallbacks' => [
'stt' => [
],
'llm' => [
],
'tts' => [
]
],
'stt_final_timeout_s' => 1,
'llm_first_token_timeout_s' => 1,
'tts_first_audio_timeout_s' => 1,
'failure_audio_enabled' => true
],
'inbound_greeting' => '<string>',
'outbound_greeting' => '<string>',
'llm_router_enabled' => true,
'idle_nudges' => [
'first_nudge_text' => '<string>',
'second_nudge_text' => '<string>',
'final_hangup_text' => '<string>',
'enabled' => true,
'first_nudge_delay_seconds' => 15,
'second_nudge_delay_seconds' => 30,
'hangup_delay_seconds' => 15
],
'enable_interruptions' => true,
'schema_version' => 2,
'tool_mode' => 'shared',
'tool_refs' => [
],
'mcp_refs' => [
],
'template_id' => '550e8400-e29b-41d4-a716-446655440000',
'sip_inbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'sip_outbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'template_defaults' => [
],
'template_variable_options' => [
],
'runtime_variables' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.agents.slng.ai/v1/agents/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"greeting\": \"<string>\",\n \"language\": \"<string>\",\n \"models\": {\n \"stt\": \"slng/deepgram/nova:3-en\",\n \"llm\": \"groq/openai/gpt-oss-120b\",\n \"tts\": \"slng/deepgram/aura:2-en\",\n \"tts_voice\": \"aura-2-thalia-en\",\n \"stt_kwargs\": {},\n \"llm_kwargs\": {},\n \"tts_kwargs\": {},\n \"fallbacks\": {\n \"stt\": [],\n \"llm\": [],\n \"tts\": []\n },\n \"stt_final_timeout_s\": 1,\n \"llm_first_token_timeout_s\": 1,\n \"tts_first_audio_timeout_s\": 1,\n \"failure_audio_enabled\": true\n },\n \"inbound_greeting\": \"<string>\",\n \"outbound_greeting\": \"<string>\",\n \"llm_router_enabled\": true,\n \"idle_nudges\": {\n \"first_nudge_text\": \"<string>\",\n \"second_nudge_text\": \"<string>\",\n \"final_hangup_text\": \"<string>\",\n \"enabled\": true,\n \"first_nudge_delay_seconds\": 15,\n \"second_nudge_delay_seconds\": 30,\n \"hangup_delay_seconds\": 15\n },\n \"enable_interruptions\": true,\n \"schema_version\": 2,\n \"tool_mode\": \"shared\",\n \"tool_refs\": [],\n \"mcp_refs\": [],\n \"template_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\n \"template_variable_options\": {},\n \"runtime_variables\": []\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.agents.slng.ai/v1/agents/{agent_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"greeting\": \"<string>\",\n \"language\": \"<string>\",\n \"models\": {\n \"stt\": \"slng/deepgram/nova:3-en\",\n \"llm\": \"groq/openai/gpt-oss-120b\",\n \"tts\": \"slng/deepgram/aura:2-en\",\n \"tts_voice\": \"aura-2-thalia-en\",\n \"stt_kwargs\": {},\n \"llm_kwargs\": {},\n \"tts_kwargs\": {},\n \"fallbacks\": {\n \"stt\": [],\n \"llm\": [],\n \"tts\": []\n },\n \"stt_final_timeout_s\": 1,\n \"llm_first_token_timeout_s\": 1,\n \"tts_first_audio_timeout_s\": 1,\n \"failure_audio_enabled\": true\n },\n \"inbound_greeting\": \"<string>\",\n \"outbound_greeting\": \"<string>\",\n \"llm_router_enabled\": true,\n \"idle_nudges\": {\n \"first_nudge_text\": \"<string>\",\n \"second_nudge_text\": \"<string>\",\n \"final_hangup_text\": \"<string>\",\n \"enabled\": true,\n \"first_nudge_delay_seconds\": 15,\n \"second_nudge_delay_seconds\": 30,\n \"hangup_delay_seconds\": 15\n },\n \"enable_interruptions\": true,\n \"schema_version\": 2,\n \"tool_mode\": \"shared\",\n \"tool_refs\": [],\n \"mcp_refs\": [],\n \"template_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\n \"template_variable_options\": {},\n \"runtime_variables\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agents.slng.ai/v1/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"greeting\": \"<string>\",\n \"language\": \"<string>\",\n \"models\": {\n \"stt\": \"slng/deepgram/nova:3-en\",\n \"llm\": \"groq/openai/gpt-oss-120b\",\n \"tts\": \"slng/deepgram/aura:2-en\",\n \"tts_voice\": \"aura-2-thalia-en\",\n \"stt_kwargs\": {},\n \"llm_kwargs\": {},\n \"tts_kwargs\": {},\n \"fallbacks\": {\n \"stt\": [],\n \"llm\": [],\n \"tts\": []\n },\n \"stt_final_timeout_s\": 1,\n \"llm_first_token_timeout_s\": 1,\n \"tts_first_audio_timeout_s\": 1,\n \"failure_audio_enabled\": true\n },\n \"inbound_greeting\": \"<string>\",\n \"outbound_greeting\": \"<string>\",\n \"llm_router_enabled\": true,\n \"idle_nudges\": {\n \"first_nudge_text\": \"<string>\",\n \"second_nudge_text\": \"<string>\",\n \"final_hangup_text\": \"<string>\",\n \"enabled\": true,\n \"first_nudge_delay_seconds\": 15,\n \"second_nudge_delay_seconds\": 30,\n \"hangup_delay_seconds\": 15\n },\n \"enable_interruptions\": true,\n \"schema_version\": 2,\n \"tool_mode\": \"shared\",\n \"tool_refs\": [],\n \"mcp_refs\": [],\n \"template_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\n \"template_variable_options\": {},\n \"runtime_variables\": []\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organisation_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "<string>",
"system_prompt": "<string>",
"greeting": "<string>",
"language": "<string>",
"region": "<string>",
"models": {
"stt": "slng/deepgram/nova:3-en",
"llm": "groq/openai/gpt-oss-120b",
"tts": "slng/deepgram/aura:2-en",
"tts_voice": "aura-2-thalia-en",
"stt_kwargs": {},
"llm_kwargs": {},
"tts_kwargs": {},
"fallbacks": {
"stt": [],
"llm": [],
"tts": []
},
"stt_final_timeout_s": 1,
"llm_first_token_timeout_s": 1,
"tts_first_audio_timeout_s": 1,
"failure_audio_enabled": true
},
"idle_nudges": {
"first_nudge_text": "<string>",
"second_nudge_text": "<string>",
"final_hangup_text": "<string>",
"enabled": true,
"first_nudge_delay_seconds": 15,
"second_nudge_delay_seconds": 30,
"hangup_delay_seconds": 15
},
"enable_interruptions": true,
"tool_mode": "legacy",
"tools": [
{}
],
"tool_refs": [
{
"attachment_id": "550e8400-e29b-41d4-a716-446655440000",
"tool_id": "550e8400-e29b-41d4-a716-446655440000",
"version": 2,
"description": "<string>",
"invocation": "model",
"system": {
"triggers": [
{
"event": "call_start",
"source_attachment_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"arguments": []
},
"execution_policy": {
"pre_action_message": {
"enabled": false,
"text": {
"segments": [
{
"type": "literal",
"value": "<string>"
}
]
},
"wait": false
}
},
"argument_overrides": {},
"config_overrides": {
"type": "api_request",
"url": "<string>"
}
}
],
"mcp_refs": [
{
"attachment_id": "550e8400-e29b-41d4-a716-446655440000",
"server_id": "550e8400-e29b-41d4-a716-446655440000",
"tool_name": "<string>",
"observed_schema_hash": "<string>",
"description": "<string>",
"invocation": "model",
"execution_policy": {
"pre_action_message": {
"enabled": false,
"text": {
"segments": [
{
"type": "literal",
"value": "<string>"
}
]
},
"wait": false
}
},
"argument_overrides": {}
}
],
"livekit_deployment": "<string>",
"template_variables": {},
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T10:30:00Z",
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"models_validation_error": "<string>",
"llm_router_enabled": true,
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"runtime_variables": [
{
"name": "<string>",
"description": "<string>"
}
],
"deleted_at": "2026-01-15T10:30:00Z"
}{
"state": "ready",
"candidate_hash": "<string>",
"resource_hash": "<string>",
"config": {},
"dependency_hash": "<string>",
"preparation_operation_id": "<string>",
"retry_after_seconds": 30
}{
"detail": "The request could not be processed."
}{
"detail": "Authentication is required for this endpoint."
}{
"detail": "You do not have access to this resource."
}{
"detail": "The requested resource was not found."
}{
"detail": "The requested operation conflicts with the current resource state."
}{
"detail": [
{
"loc": [
"body",
"language"
],
"msg": "Input should be a valid string",
"type": "string_type"
}
]
}{
"detail": "An unexpected internal error occurred."
}{
"detail": "The upstream service failed to process the request."
}Replace agent
Replace a voice agent, including its complete shared tool and MCP attachment lists.
curl --request PUT \
--url https://api.agents.slng.ai/v1/agents/{agent_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"system_prompt": "<string>",
"greeting": "<string>",
"language": "<string>",
"models": {
"stt": "slng/deepgram/nova:3-en",
"llm": "groq/openai/gpt-oss-120b",
"tts": "slng/deepgram/aura:2-en",
"tts_voice": "aura-2-thalia-en",
"stt_kwargs": {},
"llm_kwargs": {},
"tts_kwargs": {},
"fallbacks": {
"stt": [],
"llm": [],
"tts": []
},
"stt_final_timeout_s": 1,
"llm_first_token_timeout_s": 1,
"tts_first_audio_timeout_s": 1,
"failure_audio_enabled": true
},
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"llm_router_enabled": true,
"idle_nudges": {
"first_nudge_text": "<string>",
"second_nudge_text": "<string>",
"final_hangup_text": "<string>",
"enabled": true,
"first_nudge_delay_seconds": 15,
"second_nudge_delay_seconds": 30,
"hangup_delay_seconds": 15
},
"enable_interruptions": true,
"schema_version": 2,
"tool_mode": "shared",
"tool_refs": [],
"mcp_refs": [],
"template_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"template_variable_options": {},
"runtime_variables": []
}
'import requests
url = "https://api.agents.slng.ai/v1/agents/{agent_id}"
payload = {
"name": "<string>",
"system_prompt": "<string>",
"greeting": "<string>",
"language": "<string>",
"models": {
"stt": "slng/deepgram/nova:3-en",
"llm": "groq/openai/gpt-oss-120b",
"tts": "slng/deepgram/aura:2-en",
"tts_voice": "aura-2-thalia-en",
"stt_kwargs": {},
"llm_kwargs": {},
"tts_kwargs": {},
"fallbacks": {
"stt": [],
"llm": [],
"tts": []
},
"stt_final_timeout_s": 1,
"llm_first_token_timeout_s": 1,
"tts_first_audio_timeout_s": 1,
"failure_audio_enabled": True
},
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"llm_router_enabled": True,
"idle_nudges": {
"first_nudge_text": "<string>",
"second_nudge_text": "<string>",
"final_hangup_text": "<string>",
"enabled": True,
"first_nudge_delay_seconds": 15,
"second_nudge_delay_seconds": 30,
"hangup_delay_seconds": 15
},
"enable_interruptions": True,
"schema_version": 2,
"tool_mode": "shared",
"tool_refs": [],
"mcp_refs": [],
"template_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"template_variable_options": {},
"runtime_variables": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
system_prompt: '<string>',
greeting: '<string>',
language: '<string>',
models: {
stt: 'slng/deepgram/nova:3-en',
llm: 'groq/openai/gpt-oss-120b',
tts: 'slng/deepgram/aura:2-en',
tts_voice: 'aura-2-thalia-en',
stt_kwargs: {},
llm_kwargs: {},
tts_kwargs: {},
fallbacks: {stt: [], llm: [], tts: []},
stt_final_timeout_s: 1,
llm_first_token_timeout_s: 1,
tts_first_audio_timeout_s: 1,
failure_audio_enabled: true
},
inbound_greeting: '<string>',
outbound_greeting: '<string>',
llm_router_enabled: true,
idle_nudges: {
first_nudge_text: '<string>',
second_nudge_text: '<string>',
final_hangup_text: '<string>',
enabled: true,
first_nudge_delay_seconds: 15,
second_nudge_delay_seconds: 30,
hangup_delay_seconds: 15
},
enable_interruptions: true,
schema_version: 2,
tool_mode: 'shared',
tool_refs: [],
mcp_refs: [],
template_id: '550e8400-e29b-41d4-a716-446655440000',
sip_inbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
sip_outbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
template_defaults: {},
template_variable_options: {},
runtime_variables: []
})
};
fetch('https://api.agents.slng.ai/v1/agents/{agent_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.agents.slng.ai/v1/agents/{agent_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'system_prompt' => '<string>',
'greeting' => '<string>',
'language' => '<string>',
'models' => [
'stt' => 'slng/deepgram/nova:3-en',
'llm' => 'groq/openai/gpt-oss-120b',
'tts' => 'slng/deepgram/aura:2-en',
'tts_voice' => 'aura-2-thalia-en',
'stt_kwargs' => [
],
'llm_kwargs' => [
],
'tts_kwargs' => [
],
'fallbacks' => [
'stt' => [
],
'llm' => [
],
'tts' => [
]
],
'stt_final_timeout_s' => 1,
'llm_first_token_timeout_s' => 1,
'tts_first_audio_timeout_s' => 1,
'failure_audio_enabled' => true
],
'inbound_greeting' => '<string>',
'outbound_greeting' => '<string>',
'llm_router_enabled' => true,
'idle_nudges' => [
'first_nudge_text' => '<string>',
'second_nudge_text' => '<string>',
'final_hangup_text' => '<string>',
'enabled' => true,
'first_nudge_delay_seconds' => 15,
'second_nudge_delay_seconds' => 30,
'hangup_delay_seconds' => 15
],
'enable_interruptions' => true,
'schema_version' => 2,
'tool_mode' => 'shared',
'tool_refs' => [
],
'mcp_refs' => [
],
'template_id' => '550e8400-e29b-41d4-a716-446655440000',
'sip_inbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'sip_outbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'template_defaults' => [
],
'template_variable_options' => [
],
'runtime_variables' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.agents.slng.ai/v1/agents/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"greeting\": \"<string>\",\n \"language\": \"<string>\",\n \"models\": {\n \"stt\": \"slng/deepgram/nova:3-en\",\n \"llm\": \"groq/openai/gpt-oss-120b\",\n \"tts\": \"slng/deepgram/aura:2-en\",\n \"tts_voice\": \"aura-2-thalia-en\",\n \"stt_kwargs\": {},\n \"llm_kwargs\": {},\n \"tts_kwargs\": {},\n \"fallbacks\": {\n \"stt\": [],\n \"llm\": [],\n \"tts\": []\n },\n \"stt_final_timeout_s\": 1,\n \"llm_first_token_timeout_s\": 1,\n \"tts_first_audio_timeout_s\": 1,\n \"failure_audio_enabled\": true\n },\n \"inbound_greeting\": \"<string>\",\n \"outbound_greeting\": \"<string>\",\n \"llm_router_enabled\": true,\n \"idle_nudges\": {\n \"first_nudge_text\": \"<string>\",\n \"second_nudge_text\": \"<string>\",\n \"final_hangup_text\": \"<string>\",\n \"enabled\": true,\n \"first_nudge_delay_seconds\": 15,\n \"second_nudge_delay_seconds\": 30,\n \"hangup_delay_seconds\": 15\n },\n \"enable_interruptions\": true,\n \"schema_version\": 2,\n \"tool_mode\": \"shared\",\n \"tool_refs\": [],\n \"mcp_refs\": [],\n \"template_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\n \"template_variable_options\": {},\n \"runtime_variables\": []\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.agents.slng.ai/v1/agents/{agent_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"greeting\": \"<string>\",\n \"language\": \"<string>\",\n \"models\": {\n \"stt\": \"slng/deepgram/nova:3-en\",\n \"llm\": \"groq/openai/gpt-oss-120b\",\n \"tts\": \"slng/deepgram/aura:2-en\",\n \"tts_voice\": \"aura-2-thalia-en\",\n \"stt_kwargs\": {},\n \"llm_kwargs\": {},\n \"tts_kwargs\": {},\n \"fallbacks\": {\n \"stt\": [],\n \"llm\": [],\n \"tts\": []\n },\n \"stt_final_timeout_s\": 1,\n \"llm_first_token_timeout_s\": 1,\n \"tts_first_audio_timeout_s\": 1,\n \"failure_audio_enabled\": true\n },\n \"inbound_greeting\": \"<string>\",\n \"outbound_greeting\": \"<string>\",\n \"llm_router_enabled\": true,\n \"idle_nudges\": {\n \"first_nudge_text\": \"<string>\",\n \"second_nudge_text\": \"<string>\",\n \"final_hangup_text\": \"<string>\",\n \"enabled\": true,\n \"first_nudge_delay_seconds\": 15,\n \"second_nudge_delay_seconds\": 30,\n \"hangup_delay_seconds\": 15\n },\n \"enable_interruptions\": true,\n \"schema_version\": 2,\n \"tool_mode\": \"shared\",\n \"tool_refs\": [],\n \"mcp_refs\": [],\n \"template_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\n \"template_variable_options\": {},\n \"runtime_variables\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agents.slng.ai/v1/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"greeting\": \"<string>\",\n \"language\": \"<string>\",\n \"models\": {\n \"stt\": \"slng/deepgram/nova:3-en\",\n \"llm\": \"groq/openai/gpt-oss-120b\",\n \"tts\": \"slng/deepgram/aura:2-en\",\n \"tts_voice\": \"aura-2-thalia-en\",\n \"stt_kwargs\": {},\n \"llm_kwargs\": {},\n \"tts_kwargs\": {},\n \"fallbacks\": {\n \"stt\": [],\n \"llm\": [],\n \"tts\": []\n },\n \"stt_final_timeout_s\": 1,\n \"llm_first_token_timeout_s\": 1,\n \"tts_first_audio_timeout_s\": 1,\n \"failure_audio_enabled\": true\n },\n \"inbound_greeting\": \"<string>\",\n \"outbound_greeting\": \"<string>\",\n \"llm_router_enabled\": true,\n \"idle_nudges\": {\n \"first_nudge_text\": \"<string>\",\n \"second_nudge_text\": \"<string>\",\n \"final_hangup_text\": \"<string>\",\n \"enabled\": true,\n \"first_nudge_delay_seconds\": 15,\n \"second_nudge_delay_seconds\": 30,\n \"hangup_delay_seconds\": 15\n },\n \"enable_interruptions\": true,\n \"schema_version\": 2,\n \"tool_mode\": \"shared\",\n \"tool_refs\": [],\n \"mcp_refs\": [],\n \"template_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\n \"template_variable_options\": {},\n \"runtime_variables\": []\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organisation_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "<string>",
"system_prompt": "<string>",
"greeting": "<string>",
"language": "<string>",
"region": "<string>",
"models": {
"stt": "slng/deepgram/nova:3-en",
"llm": "groq/openai/gpt-oss-120b",
"tts": "slng/deepgram/aura:2-en",
"tts_voice": "aura-2-thalia-en",
"stt_kwargs": {},
"llm_kwargs": {},
"tts_kwargs": {},
"fallbacks": {
"stt": [],
"llm": [],
"tts": []
},
"stt_final_timeout_s": 1,
"llm_first_token_timeout_s": 1,
"tts_first_audio_timeout_s": 1,
"failure_audio_enabled": true
},
"idle_nudges": {
"first_nudge_text": "<string>",
"second_nudge_text": "<string>",
"final_hangup_text": "<string>",
"enabled": true,
"first_nudge_delay_seconds": 15,
"second_nudge_delay_seconds": 30,
"hangup_delay_seconds": 15
},
"enable_interruptions": true,
"tool_mode": "legacy",
"tools": [
{}
],
"tool_refs": [
{
"attachment_id": "550e8400-e29b-41d4-a716-446655440000",
"tool_id": "550e8400-e29b-41d4-a716-446655440000",
"version": 2,
"description": "<string>",
"invocation": "model",
"system": {
"triggers": [
{
"event": "call_start",
"source_attachment_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"arguments": []
},
"execution_policy": {
"pre_action_message": {
"enabled": false,
"text": {
"segments": [
{
"type": "literal",
"value": "<string>"
}
]
},
"wait": false
}
},
"argument_overrides": {},
"config_overrides": {
"type": "api_request",
"url": "<string>"
}
}
],
"mcp_refs": [
{
"attachment_id": "550e8400-e29b-41d4-a716-446655440000",
"server_id": "550e8400-e29b-41d4-a716-446655440000",
"tool_name": "<string>",
"observed_schema_hash": "<string>",
"description": "<string>",
"invocation": "model",
"execution_policy": {
"pre_action_message": {
"enabled": false,
"text": {
"segments": [
{
"type": "literal",
"value": "<string>"
}
]
},
"wait": false
}
},
"argument_overrides": {}
}
],
"livekit_deployment": "<string>",
"template_variables": {},
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T10:30:00Z",
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"models_validation_error": "<string>",
"llm_router_enabled": true,
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"runtime_variables": [
{
"name": "<string>",
"description": "<string>"
}
],
"deleted_at": "2026-01-15T10:30:00Z"
}{
"state": "ready",
"candidate_hash": "<string>",
"resource_hash": "<string>",
"config": {},
"dependency_hash": "<string>",
"preparation_operation_id": "<string>",
"retry_after_seconds": 30
}{
"detail": "The request could not be processed."
}{
"detail": "Authentication is required for this endpoint."
}{
"detail": "You do not have access to this resource."
}{
"detail": "The requested resource was not found."
}{
"detail": "The requested operation conflicts with the current resource state."
}{
"detail": [
{
"loc": [
"body",
"language"
],
"msg": "Input should be a valid string",
"type": "string_type"
}
]
}{
"detail": "An unexpected internal error occurred."
}{
"detail": "The upstream service failed to process the request."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Voice agent ID.
"550e8400-e29b-41d4-a716-446655440000"
Body
255System prompt (Handlebars template).
Default greeting.
10Region where the agent runs.
us-east, eu-central, ap-south Model configuration for the agent runtime (STT + LLM + TTS).
Show child attributes
Show child attributes
Optional greeting override for inbound calls.
Optional greeting override for outbound calls.
Routes the agent's LLM traffic through SLNG's managed LLM routing layer. Enabled by default.
Optional silence recovery behavior. The runtime can send two follow-up nudges, then speak a final message and hang up.
Show child attributes
Show child attributes
AgentConfig schema version. Set this to 2 for portable shared-agent configuration documents.
2 New agents use the shared organisation tool library.
shared Published organisation or curated tools attached to this agent.
128Show child attributes
Show child attributes
MCP server tools attached to this agent.
128Show child attributes
Show child attributes
Optional SLNG agent template. It cannot be combined with explicit tool_refs.
"550e8400-e29b-41d4-a716-446655440000"
"550e8400-e29b-41d4-a716-446655440000"
"550e8400-e29b-41d4-a716-446655440000"
Show child attributes
Show child attributes
Per-variable options for the input variables used in the prompt and greetings, keyed by variable name. Use this to mark an input variable optional.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Replaced agent.
"550e8400-e29b-41d4-a716-446655440000"
"550e8400-e29b-41d4-a716-446655440000"
Model configuration for the agent runtime (STT + LLM + TTS).
Show child attributes
Show child attributes
Optional silence recovery behavior. The runtime can send two follow-up nudges, then speak a final message and hang up.
Show child attributes
Show child attributes
Tool system fixed when the agent was created. New agents use shared.
legacy, shared Legacy compatibility output. New shared agents return an empty array. Use tool_refs and mcp_refs for all new configuration.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Name of the runtime deployment serving this agent.
Show child attributes
Show child attributes
"2026-01-15T10:30:00Z"
"2026-01-15T10:30:00Z"
Set when the stored models configuration no longer validates against the
current rules. In that case models is returned as stored, without
validation.
Whether the agent's LLM traffic is routed through SLNG's managed LLM routing layer.
"550e8400-e29b-41d4-a716-446655440000"
"550e8400-e29b-41d4-a716-446655440000"
Show child attributes
Show child attributes
"2026-01-15T10:30:00Z"
Was this page helpful?