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>",
"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,
"tools": [],
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"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>",
"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,
"tools": [],
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"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>',
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,
tools: [],
sip_inbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
sip_outbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
template_defaults: {},
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>',
'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,
'tools' => [
],
'sip_inbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'sip_outbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'template_defaults' => [
],
'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 \"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 \"tools\": [],\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\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 \"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 \"tools\": [],\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\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 \"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 \"tools\": [],\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\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,
"tools": [
{
"type": "template",
"id": "550e8400-e29b-41d4-a716-446655440000",
"prompt": "<string>",
"execution_policy": {
"pre_action_message": {
"enabled": false,
"text": "<string>"
}
}
}
],
"template_variables": {},
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T10:30:00Z",
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"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"
}{
"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 (full update).
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>",
"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,
"tools": [],
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"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>",
"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,
"tools": [],
"sip_inbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"sip_outbound_trunk_id": "550e8400-e29b-41d4-a716-446655440000",
"template_defaults": {},
"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>',
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,
tools: [],
sip_inbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
sip_outbound_trunk_id: '550e8400-e29b-41d4-a716-446655440000',
template_defaults: {},
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>',
'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,
'tools' => [
],
'sip_inbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'sip_outbound_trunk_id' => '550e8400-e29b-41d4-a716-446655440000',
'template_defaults' => [
],
'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 \"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 \"tools\": [],\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\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 \"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 \"tools\": [],\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\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 \"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 \"tools\": [],\n \"sip_inbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"sip_outbound_trunk_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"template_defaults\": {},\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,
"tools": [
{
"type": "template",
"id": "550e8400-e29b-41d4-a716-446655440000",
"prompt": "<string>",
"execution_policy": {
"pre_action_message": {
"enabled": false,
"text": "<string>"
}
}
}
],
"template_variables": {},
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T10:30:00Z",
"inbound_greeting": "<string>",
"outbound_greeting": "<string>",
"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"
}{
"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.
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
Built-in call control tools (hangup, voicemail detection).
- Template tool
- Utility tool
- Webhook
- Human transfer
Show child attributes
Show child attributes
"550e8400-e29b-41d4-a716-446655440000"
"550e8400-e29b-41d4-a716-446655440000"
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
- Template tool
- Utility tool
- Webhook
- Human transfer
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"2026-01-15T10:30:00Z"
"2026-01-15T10:30:00Z"
"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?