Agents
Publish agent
Publish the agent configuration used for live calls.
POST
/
v1
/
agents
/
{agentId}
/
publish
Publish agent
curl --request POST \
--url https://api.persistence.dev/v1/agents/{agentId}/publish \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ambienceId": "<string>",
"systemPrompt": "<string>",
"triggers": [
{
"category": "<string>",
"executionOrder": 123,
"isActive": true,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": true,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>"
}
],
"ambienceVolume": 1,
"avatarUrl": "<string>",
"description": "<string>",
"digitPronunciation": true,
"dynamicVariables": {
"variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
]
},
"endpointingPatience": 123,
"greetingConfig": {
"messageConfig": {
"delay": 123,
"message": "<string>"
}
},
"interruptionSensitivity": 123,
"knowledgeBaseIds": [
"<string>"
],
"languageCode": "<string>",
"llmMaxTokens": 2,
"llmModel": "<string>",
"llmTemperature": 1,
"maxCallDurationSec": 2,
"minConsecutiveSpeechDelay": 1,
"name": "<string>",
"noiseCancellationConfig": {},
"piiAnonymisation": true,
"piiCategories": [
"<string>"
],
"piiRedaction": true,
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 2,
"tools": [
{
"config": {},
"description": "<string>",
"isActive": true,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"ttsSpeed": 1.25,
"ttsVoiceModelId": 123,
"voiceVolume": 1
}
'import requests
url = "https://api.persistence.dev/v1/agents/{agentId}/publish"
payload = {
"ambienceId": "<string>",
"systemPrompt": "<string>",
"triggers": [
{
"category": "<string>",
"executionOrder": 123,
"isActive": True,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": True,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>"
}
],
"ambienceVolume": 1,
"avatarUrl": "<string>",
"description": "<string>",
"digitPronunciation": True,
"dynamicVariables": { "variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
] },
"endpointingPatience": 123,
"greetingConfig": { "messageConfig": {
"delay": 123,
"message": "<string>"
} },
"interruptionSensitivity": 123,
"knowledgeBaseIds": ["<string>"],
"languageCode": "<string>",
"llmMaxTokens": 2,
"llmModel": "<string>",
"llmTemperature": 1,
"maxCallDurationSec": 2,
"minConsecutiveSpeechDelay": 1,
"name": "<string>",
"noiseCancellationConfig": {},
"piiAnonymisation": True,
"piiCategories": ["<string>"],
"piiRedaction": True,
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 2,
"tools": [
{
"config": {},
"description": "<string>",
"isActive": True,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"ttsSpeed": 1.25,
"ttsVoiceModelId": 123,
"voiceVolume": 1
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ambienceId: '<string>',
systemPrompt: '<string>',
triggers: [
{
category: '<string>',
executionOrder: 123,
isActive: true,
llmModel: '<string>',
llmProvider: '<string>',
maxTokens: 123,
name: '<string>',
pattern: [{description: '<string>', isMultiple: true, key: '<string>', type: '<string>'}],
prompt: '<string>',
type: '<string>'
}
],
ambienceVolume: 1,
avatarUrl: '<string>',
description: '<string>',
digitPronunciation: true,
dynamicVariables: {variables: [{defaultValue: '<string>', key: '<string>'}]},
endpointingPatience: 123,
greetingConfig: {messageConfig: {delay: 123, message: '<string>'}},
interruptionSensitivity: 123,
knowledgeBaseIds: ['<string>'],
languageCode: '<string>',
llmMaxTokens: 2,
llmModel: '<string>',
llmTemperature: 1,
maxCallDurationSec: 2,
minConsecutiveSpeechDelay: 1,
name: '<string>',
noiseCancellationConfig: {},
piiAnonymisation: true,
piiCategories: ['<string>'],
piiRedaction: true,
presenceDetectionConfig: {checkIntervalSec: 123, maxAwayChecks: 123},
responseEagerness: 123,
silenceTimeoutSec: 2,
tools: [
{
config: {},
description: '<string>',
isActive: true,
kind: '<string>',
name: '<string>',
parametersSchema: {},
toolName: '<string>'
}
],
ttsSpeed: 1.25,
ttsVoiceModelId: 123,
voiceVolume: 1
})
};
fetch('https://api.persistence.dev/v1/agents/{agentId}/publish', 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.persistence.dev/v1/agents/{agentId}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ambienceId' => '<string>',
'systemPrompt' => '<string>',
'triggers' => [
[
'category' => '<string>',
'executionOrder' => 123,
'isActive' => true,
'llmModel' => '<string>',
'llmProvider' => '<string>',
'maxTokens' => 123,
'name' => '<string>',
'pattern' => [
[
'description' => '<string>',
'isMultiple' => true,
'key' => '<string>',
'type' => '<string>'
]
],
'prompt' => '<string>',
'type' => '<string>'
]
],
'ambienceVolume' => 1,
'avatarUrl' => '<string>',
'description' => '<string>',
'digitPronunciation' => true,
'dynamicVariables' => [
'variables' => [
[
'defaultValue' => '<string>',
'key' => '<string>'
]
]
],
'endpointingPatience' => 123,
'greetingConfig' => [
'messageConfig' => [
'delay' => 123,
'message' => '<string>'
]
],
'interruptionSensitivity' => 123,
'knowledgeBaseIds' => [
'<string>'
],
'languageCode' => '<string>',
'llmMaxTokens' => 2,
'llmModel' => '<string>',
'llmTemperature' => 1,
'maxCallDurationSec' => 2,
'minConsecutiveSpeechDelay' => 1,
'name' => '<string>',
'noiseCancellationConfig' => [
],
'piiAnonymisation' => true,
'piiCategories' => [
'<string>'
],
'piiRedaction' => true,
'presenceDetectionConfig' => [
'checkIntervalSec' => 123,
'maxAwayChecks' => 123
],
'responseEagerness' => 123,
'silenceTimeoutSec' => 2,
'tools' => [
[
'config' => [
],
'description' => '<string>',
'isActive' => true,
'kind' => '<string>',
'name' => '<string>',
'parametersSchema' => [
],
'toolName' => '<string>'
]
],
'ttsSpeed' => 1.25,
'ttsVoiceModelId' => 123,
'voiceVolume' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.persistence.dev/v1/agents/{agentId}/publish"
payload := strings.NewReader("{\n \"ambienceId\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"triggers\": [\n {\n \"category\": \"<string>\",\n \"executionOrder\": 123,\n \"isActive\": true,\n \"llmModel\": \"<string>\",\n \"llmProvider\": \"<string>\",\n \"maxTokens\": 123,\n \"name\": \"<string>\",\n \"pattern\": [\n {\n \"description\": \"<string>\",\n \"isMultiple\": true,\n \"key\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"ambienceVolume\": 1,\n \"avatarUrl\": \"<string>\",\n \"description\": \"<string>\",\n \"digitPronunciation\": true,\n \"dynamicVariables\": {\n \"variables\": [\n {\n \"defaultValue\": \"<string>\",\n \"key\": \"<string>\"\n }\n ]\n },\n \"endpointingPatience\": 123,\n \"greetingConfig\": {\n \"messageConfig\": {\n \"delay\": 123,\n \"message\": \"<string>\"\n }\n },\n \"interruptionSensitivity\": 123,\n \"knowledgeBaseIds\": [\n \"<string>\"\n ],\n \"languageCode\": \"<string>\",\n \"llmMaxTokens\": 2,\n \"llmModel\": \"<string>\",\n \"llmTemperature\": 1,\n \"maxCallDurationSec\": 2,\n \"minConsecutiveSpeechDelay\": 1,\n \"name\": \"<string>\",\n \"noiseCancellationConfig\": {},\n \"piiAnonymisation\": true,\n \"piiCategories\": [\n \"<string>\"\n ],\n \"piiRedaction\": true,\n \"presenceDetectionConfig\": {\n \"checkIntervalSec\": 123,\n \"maxAwayChecks\": 123\n },\n \"responseEagerness\": 123,\n \"silenceTimeoutSec\": 2,\n \"tools\": [\n {\n \"config\": {},\n \"description\": \"<string>\",\n \"isActive\": true,\n \"kind\": \"<string>\",\n \"name\": \"<string>\",\n \"parametersSchema\": {},\n \"toolName\": \"<string>\"\n }\n ],\n \"ttsSpeed\": 1.25,\n \"ttsVoiceModelId\": 123,\n \"voiceVolume\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.post("https://api.persistence.dev/v1/agents/{agentId}/publish")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ambienceId\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"triggers\": [\n {\n \"category\": \"<string>\",\n \"executionOrder\": 123,\n \"isActive\": true,\n \"llmModel\": \"<string>\",\n \"llmProvider\": \"<string>\",\n \"maxTokens\": 123,\n \"name\": \"<string>\",\n \"pattern\": [\n {\n \"description\": \"<string>\",\n \"isMultiple\": true,\n \"key\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"ambienceVolume\": 1,\n \"avatarUrl\": \"<string>\",\n \"description\": \"<string>\",\n \"digitPronunciation\": true,\n \"dynamicVariables\": {\n \"variables\": [\n {\n \"defaultValue\": \"<string>\",\n \"key\": \"<string>\"\n }\n ]\n },\n \"endpointingPatience\": 123,\n \"greetingConfig\": {\n \"messageConfig\": {\n \"delay\": 123,\n \"message\": \"<string>\"\n }\n },\n \"interruptionSensitivity\": 123,\n \"knowledgeBaseIds\": [\n \"<string>\"\n ],\n \"languageCode\": \"<string>\",\n \"llmMaxTokens\": 2,\n \"llmModel\": \"<string>\",\n \"llmTemperature\": 1,\n \"maxCallDurationSec\": 2,\n \"minConsecutiveSpeechDelay\": 1,\n \"name\": \"<string>\",\n \"noiseCancellationConfig\": {},\n \"piiAnonymisation\": true,\n \"piiCategories\": [\n \"<string>\"\n ],\n \"piiRedaction\": true,\n \"presenceDetectionConfig\": {\n \"checkIntervalSec\": 123,\n \"maxAwayChecks\": 123\n },\n \"responseEagerness\": 123,\n \"silenceTimeoutSec\": 2,\n \"tools\": [\n {\n \"config\": {},\n \"description\": \"<string>\",\n \"isActive\": true,\n \"kind\": \"<string>\",\n \"name\": \"<string>\",\n \"parametersSchema\": {},\n \"toolName\": \"<string>\"\n }\n ],\n \"ttsSpeed\": 1.25,\n \"ttsVoiceModelId\": 123,\n \"voiceVolume\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.persistence.dev/v1/agents/{agentId}/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ambienceId\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"triggers\": [\n {\n \"category\": \"<string>\",\n \"executionOrder\": 123,\n \"isActive\": true,\n \"llmModel\": \"<string>\",\n \"llmProvider\": \"<string>\",\n \"maxTokens\": 123,\n \"name\": \"<string>\",\n \"pattern\": [\n {\n \"description\": \"<string>\",\n \"isMultiple\": true,\n \"key\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"ambienceVolume\": 1,\n \"avatarUrl\": \"<string>\",\n \"description\": \"<string>\",\n \"digitPronunciation\": true,\n \"dynamicVariables\": {\n \"variables\": [\n {\n \"defaultValue\": \"<string>\",\n \"key\": \"<string>\"\n }\n ]\n },\n \"endpointingPatience\": 123,\n \"greetingConfig\": {\n \"messageConfig\": {\n \"delay\": 123,\n \"message\": \"<string>\"\n }\n },\n \"interruptionSensitivity\": 123,\n \"knowledgeBaseIds\": [\n \"<string>\"\n ],\n \"languageCode\": \"<string>\",\n \"llmMaxTokens\": 2,\n \"llmModel\": \"<string>\",\n \"llmTemperature\": 1,\n \"maxCallDurationSec\": 2,\n \"minConsecutiveSpeechDelay\": 1,\n \"name\": \"<string>\",\n \"noiseCancellationConfig\": {},\n \"piiAnonymisation\": true,\n \"piiCategories\": [\n \"<string>\"\n ],\n \"piiRedaction\": true,\n \"presenceDetectionConfig\": {\n \"checkIntervalSec\": 123,\n \"maxAwayChecks\": 123\n },\n \"responseEagerness\": 123,\n \"silenceTimeoutSec\": 2,\n \"tools\": [\n {\n \"config\": {},\n \"description\": \"<string>\",\n \"isActive\": true,\n \"kind\": \"<string>\",\n \"name\": \"<string>\",\n \"parametersSchema\": {},\n \"toolName\": \"<string>\"\n }\n ],\n \"ttsSpeed\": 1.25,\n \"ttsVoiceModelId\": 123,\n \"voiceVolume\": 1\n}"
response = http.request(request)
puts response.read_body{
"data": {
"avatarUrl": "<string>",
"createdAt": "<string>",
"description": "<string>",
"external": [
{
"data": {},
"name": "<string>"
}
],
"id": "<string>",
"name": "<string>",
"promptType": "single_prompt",
"spaceId": "<string>",
"status": "<string>",
"templateId": "<string>",
"type": "voice",
"updatedAt": "<string>",
"version": {
"ambienceId": "<string>",
"ambienceVolume": 123,
"amd": {
"detectionOptions": {
"humanSilenceThreshold": 123,
"humanSpeechThreshold": 123,
"machineSilenceThreshold": 123,
"noSpeechThreshold": 123,
"prompt": "<string>",
"timeout": 123
},
"enabled": true,
"interruptOnMachine": true,
"ivrHangUpEnabled": true,
"ivrNavigationEnabled": true,
"ivrNavigationInstructions": "<string>",
"llmModel": "<string>",
"sttModel": "<string>",
"voiceMailAction": "<string>",
"voiceMailMessage": "<string>"
},
"createdAt": "<string>",
"digitPronunciation": true,
"dynamicVariables": {
"variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
]
},
"endpointingConfig": {
"maxDelay": 123,
"minDelay": 123,
"mode": "fixed"
},
"endpointingPatience": 123,
"fallbackMessages": [
"<string>"
],
"greetingConfig": {
"messageConfig": {
"delay": 123,
"message": "<string>",
"type": "static"
},
"mode": "agent_first"
},
"id": 123,
"interruptionConfig": {
"discardAudioIfUninterruptible": true,
"enabled": true,
"falseInterruptionTimeout": 123,
"minDuration": 123,
"minWords": 123,
"mode": "adaptive",
"resumeFalseInterruption": true
},
"interruptionSensitivity": 123,
"knowledgeBaseIds": [
"<string>"
],
"languageCode": "<string>",
"llmMaxTokens": 123,
"llmModel": "<string>",
"llmProvider": "<string>",
"llmTemperature": 123,
"maxCallDurationSec": 123,
"minConsecutiveSpeechDelay": 123,
"noiseCancellationConfig": {
"mode": "noise_only"
},
"piiAnonymisation": true,
"piiCategories": [
"<string>"
],
"piiRedaction": true,
"pipelineType": "cascaded",
"preemptiveGenerationConfig": {
"enabled": true,
"maxRetries": 123,
"maxSpeechDuration": 123,
"preemptiveTts": true
},
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 123,
"status": "<string>",
"sttModel": "<string>",
"sttProvider": "<string>",
"systemPrompt": "<string>",
"tools": [
{
"config": {},
"description": "<string>",
"id": "<string>",
"isActive": true,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"triggers": [
{
"category": "<string>",
"createdAt": "<string>",
"executionOrder": 123,
"id": "<string>",
"isActive": true,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": true,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>",
"updatedAt": "<string>"
}
],
"ttsConfigs": {
"name": "<string>",
"provider": "elevenlabs",
"providerVoiceId": "<string>",
"type": "preset",
"avatarUrl": "<string>",
"category": "<string>",
"createdAt": "<string>",
"id": 123,
"isActive": true,
"languages": [
{
"voiceId": 123,
"accent": "<string>",
"age": "<string>",
"createdAt": "<string>",
"displayName": "<string>",
"gender": "<string>",
"id": 123,
"languageId": "<string>",
"metadata": [
123
],
"modelId": "<string>",
"previewUrl": "<string>",
"s2sSupported": [
"<string>"
],
"sourceFilesUrl": "<string>",
"sttSupported": [
"<string>"
],
"style": [
"<string>"
],
"updatedAt": "<string>"
}
],
"metadata": [
123
],
"publicId": "<string>",
"rating": 123,
"spaceId": 123,
"status": "<string>",
"tags": [
"<string>"
],
"traits": "<string>",
"updatedAt": "<string>"
},
"ttsSpeed": 123,
"ttsVoiceModelId": 123,
"turnDetectionConfig": {
"mode": "stt",
"modelType": "multilingual",
"unlikelyThreshold": 123
},
"updatedAt": "<string>",
"version": 123,
"vocabularySpecialization": "general",
"voiceVolume": 123
},
"versionHistory": [
{
"ambienceId": "<string>",
"ambienceVolume": 123,
"amd": {
"detectionOptions": {
"humanSilenceThreshold": 123,
"humanSpeechThreshold": 123,
"machineSilenceThreshold": 123,
"noSpeechThreshold": 123,
"prompt": "<string>",
"timeout": 123
},
"enabled": true,
"interruptOnMachine": true,
"ivrHangUpEnabled": true,
"ivrNavigationEnabled": true,
"ivrNavigationInstructions": "<string>",
"llmModel": "<string>",
"sttModel": "<string>",
"voiceMailAction": "<string>",
"voiceMailMessage": "<string>"
},
"createdAt": "<string>",
"digitPronunciation": true,
"dynamicVariables": {
"variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
]
},
"endpointingConfig": {
"maxDelay": 123,
"minDelay": 123,
"mode": "fixed"
},
"endpointingPatience": 123,
"fallbackMessages": [
"<string>"
],
"greetingConfig": {
"messageConfig": {
"delay": 123,
"message": "<string>",
"type": "static"
},
"mode": "agent_first"
},
"id": 123,
"interruptionConfig": {
"discardAudioIfUninterruptible": true,
"enabled": true,
"falseInterruptionTimeout": 123,
"minDuration": 123,
"minWords": 123,
"mode": "adaptive",
"resumeFalseInterruption": true
},
"interruptionSensitivity": 123,
"knowledgeBaseIds": [
"<string>"
],
"languageCode": "<string>",
"llmMaxTokens": 123,
"llmModel": "<string>",
"llmProvider": "<string>",
"llmTemperature": 123,
"maxCallDurationSec": 123,
"minConsecutiveSpeechDelay": 123,
"noiseCancellationConfig": {
"mode": "noise_only"
},
"piiAnonymisation": true,
"piiCategories": [
"<string>"
],
"piiRedaction": true,
"pipelineType": "cascaded",
"preemptiveGenerationConfig": {
"enabled": true,
"maxRetries": 123,
"maxSpeechDuration": 123,
"preemptiveTts": true
},
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 123,
"status": "<string>",
"sttModel": "<string>",
"sttProvider": "<string>",
"systemPrompt": "<string>",
"tools": [
{
"config": {},
"description": "<string>",
"id": "<string>",
"isActive": true,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"triggers": [
{
"category": "<string>",
"createdAt": "<string>",
"executionOrder": 123,
"id": "<string>",
"isActive": true,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": true,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>",
"updatedAt": "<string>"
}
],
"ttsConfigs": {
"name": "<string>",
"provider": "elevenlabs",
"providerVoiceId": "<string>",
"type": "preset",
"avatarUrl": "<string>",
"category": "<string>",
"createdAt": "<string>",
"id": 123,
"isActive": true,
"languages": [
{
"voiceId": 123,
"accent": "<string>",
"age": "<string>",
"createdAt": "<string>",
"displayName": "<string>",
"gender": "<string>",
"id": 123,
"languageId": "<string>",
"metadata": [
123
],
"modelId": "<string>",
"previewUrl": "<string>",
"s2sSupported": [
"<string>"
],
"sourceFilesUrl": "<string>",
"sttSupported": [
"<string>"
],
"style": [
"<string>"
],
"updatedAt": "<string>"
}
],
"metadata": [
123
],
"publicId": "<string>",
"rating": 123,
"spaceId": 123,
"status": "<string>",
"tags": [
"<string>"
],
"traits": "<string>",
"updatedAt": "<string>"
},
"ttsSpeed": 123,
"ttsVoiceModelId": 123,
"turnDetectionConfig": {
"mode": "stt",
"modelType": "multilingual",
"unlikelyThreshold": 123
},
"updatedAt": "<string>",
"version": 123,
"vocabularySpecialization": "general",
"voiceVolume": 123
}
]
},
"success": true
}{
"code": "<string>",
"error": "<string>"
}{
"code": "<string>",
"error": "<string>"
}{
"code": "<string>",
"error": "<string>"
}{
"code": "<string>",
"error": "<string>"
}Authorizations
API key issued for your workspace.
Path Parameters
Agent public ID
Body
application/json
Agent configuration to publish
Ambience
Available options:
cascaded, realtime_native Core Config
Triggers
Show child attributes
Show child attributes
Required range:
0 <= x <= 2Maximum string length:
512Maximum string length:
512Show child attributes
Show child attributes
Voice Pipeline Configs
Show child attributes
Show child attributes
Knowledge base public IDs to attach (max enforced by knowledgebase.Link)
Maximum string length:
10Required range:
x >= 1LLM Settings
Available options:
openai, anthropic, google, groq, together, azure, cerebras Required range:
0 <= x <= 2Required range:
x >= 1Required range:
x >= 0Agent-level fields
Maximum string length:
64Show child attributes
Show child attributes
PII Settings (versioned)
Show child attributes
Show child attributes
Behavior Settings
Required range:
x >= 1Show child attributes
Show child attributes
Required range:
0.5 <= x <= 2TTS Settings
Available options:
general, medical Required range:
0 <= x <= 2⌘I
Publish agent
curl --request POST \
--url https://api.persistence.dev/v1/agents/{agentId}/publish \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ambienceId": "<string>",
"systemPrompt": "<string>",
"triggers": [
{
"category": "<string>",
"executionOrder": 123,
"isActive": true,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": true,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>"
}
],
"ambienceVolume": 1,
"avatarUrl": "<string>",
"description": "<string>",
"digitPronunciation": true,
"dynamicVariables": {
"variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
]
},
"endpointingPatience": 123,
"greetingConfig": {
"messageConfig": {
"delay": 123,
"message": "<string>"
}
},
"interruptionSensitivity": 123,
"knowledgeBaseIds": [
"<string>"
],
"languageCode": "<string>",
"llmMaxTokens": 2,
"llmModel": "<string>",
"llmTemperature": 1,
"maxCallDurationSec": 2,
"minConsecutiveSpeechDelay": 1,
"name": "<string>",
"noiseCancellationConfig": {},
"piiAnonymisation": true,
"piiCategories": [
"<string>"
],
"piiRedaction": true,
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 2,
"tools": [
{
"config": {},
"description": "<string>",
"isActive": true,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"ttsSpeed": 1.25,
"ttsVoiceModelId": 123,
"voiceVolume": 1
}
'import requests
url = "https://api.persistence.dev/v1/agents/{agentId}/publish"
payload = {
"ambienceId": "<string>",
"systemPrompt": "<string>",
"triggers": [
{
"category": "<string>",
"executionOrder": 123,
"isActive": True,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": True,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>"
}
],
"ambienceVolume": 1,
"avatarUrl": "<string>",
"description": "<string>",
"digitPronunciation": True,
"dynamicVariables": { "variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
] },
"endpointingPatience": 123,
"greetingConfig": { "messageConfig": {
"delay": 123,
"message": "<string>"
} },
"interruptionSensitivity": 123,
"knowledgeBaseIds": ["<string>"],
"languageCode": "<string>",
"llmMaxTokens": 2,
"llmModel": "<string>",
"llmTemperature": 1,
"maxCallDurationSec": 2,
"minConsecutiveSpeechDelay": 1,
"name": "<string>",
"noiseCancellationConfig": {},
"piiAnonymisation": True,
"piiCategories": ["<string>"],
"piiRedaction": True,
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 2,
"tools": [
{
"config": {},
"description": "<string>",
"isActive": True,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"ttsSpeed": 1.25,
"ttsVoiceModelId": 123,
"voiceVolume": 1
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ambienceId: '<string>',
systemPrompt: '<string>',
triggers: [
{
category: '<string>',
executionOrder: 123,
isActive: true,
llmModel: '<string>',
llmProvider: '<string>',
maxTokens: 123,
name: '<string>',
pattern: [{description: '<string>', isMultiple: true, key: '<string>', type: '<string>'}],
prompt: '<string>',
type: '<string>'
}
],
ambienceVolume: 1,
avatarUrl: '<string>',
description: '<string>',
digitPronunciation: true,
dynamicVariables: {variables: [{defaultValue: '<string>', key: '<string>'}]},
endpointingPatience: 123,
greetingConfig: {messageConfig: {delay: 123, message: '<string>'}},
interruptionSensitivity: 123,
knowledgeBaseIds: ['<string>'],
languageCode: '<string>',
llmMaxTokens: 2,
llmModel: '<string>',
llmTemperature: 1,
maxCallDurationSec: 2,
minConsecutiveSpeechDelay: 1,
name: '<string>',
noiseCancellationConfig: {},
piiAnonymisation: true,
piiCategories: ['<string>'],
piiRedaction: true,
presenceDetectionConfig: {checkIntervalSec: 123, maxAwayChecks: 123},
responseEagerness: 123,
silenceTimeoutSec: 2,
tools: [
{
config: {},
description: '<string>',
isActive: true,
kind: '<string>',
name: '<string>',
parametersSchema: {},
toolName: '<string>'
}
],
ttsSpeed: 1.25,
ttsVoiceModelId: 123,
voiceVolume: 1
})
};
fetch('https://api.persistence.dev/v1/agents/{agentId}/publish', 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.persistence.dev/v1/agents/{agentId}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ambienceId' => '<string>',
'systemPrompt' => '<string>',
'triggers' => [
[
'category' => '<string>',
'executionOrder' => 123,
'isActive' => true,
'llmModel' => '<string>',
'llmProvider' => '<string>',
'maxTokens' => 123,
'name' => '<string>',
'pattern' => [
[
'description' => '<string>',
'isMultiple' => true,
'key' => '<string>',
'type' => '<string>'
]
],
'prompt' => '<string>',
'type' => '<string>'
]
],
'ambienceVolume' => 1,
'avatarUrl' => '<string>',
'description' => '<string>',
'digitPronunciation' => true,
'dynamicVariables' => [
'variables' => [
[
'defaultValue' => '<string>',
'key' => '<string>'
]
]
],
'endpointingPatience' => 123,
'greetingConfig' => [
'messageConfig' => [
'delay' => 123,
'message' => '<string>'
]
],
'interruptionSensitivity' => 123,
'knowledgeBaseIds' => [
'<string>'
],
'languageCode' => '<string>',
'llmMaxTokens' => 2,
'llmModel' => '<string>',
'llmTemperature' => 1,
'maxCallDurationSec' => 2,
'minConsecutiveSpeechDelay' => 1,
'name' => '<string>',
'noiseCancellationConfig' => [
],
'piiAnonymisation' => true,
'piiCategories' => [
'<string>'
],
'piiRedaction' => true,
'presenceDetectionConfig' => [
'checkIntervalSec' => 123,
'maxAwayChecks' => 123
],
'responseEagerness' => 123,
'silenceTimeoutSec' => 2,
'tools' => [
[
'config' => [
],
'description' => '<string>',
'isActive' => true,
'kind' => '<string>',
'name' => '<string>',
'parametersSchema' => [
],
'toolName' => '<string>'
]
],
'ttsSpeed' => 1.25,
'ttsVoiceModelId' => 123,
'voiceVolume' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.persistence.dev/v1/agents/{agentId}/publish"
payload := strings.NewReader("{\n \"ambienceId\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"triggers\": [\n {\n \"category\": \"<string>\",\n \"executionOrder\": 123,\n \"isActive\": true,\n \"llmModel\": \"<string>\",\n \"llmProvider\": \"<string>\",\n \"maxTokens\": 123,\n \"name\": \"<string>\",\n \"pattern\": [\n {\n \"description\": \"<string>\",\n \"isMultiple\": true,\n \"key\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"ambienceVolume\": 1,\n \"avatarUrl\": \"<string>\",\n \"description\": \"<string>\",\n \"digitPronunciation\": true,\n \"dynamicVariables\": {\n \"variables\": [\n {\n \"defaultValue\": \"<string>\",\n \"key\": \"<string>\"\n }\n ]\n },\n \"endpointingPatience\": 123,\n \"greetingConfig\": {\n \"messageConfig\": {\n \"delay\": 123,\n \"message\": \"<string>\"\n }\n },\n \"interruptionSensitivity\": 123,\n \"knowledgeBaseIds\": [\n \"<string>\"\n ],\n \"languageCode\": \"<string>\",\n \"llmMaxTokens\": 2,\n \"llmModel\": \"<string>\",\n \"llmTemperature\": 1,\n \"maxCallDurationSec\": 2,\n \"minConsecutiveSpeechDelay\": 1,\n \"name\": \"<string>\",\n \"noiseCancellationConfig\": {},\n \"piiAnonymisation\": true,\n \"piiCategories\": [\n \"<string>\"\n ],\n \"piiRedaction\": true,\n \"presenceDetectionConfig\": {\n \"checkIntervalSec\": 123,\n \"maxAwayChecks\": 123\n },\n \"responseEagerness\": 123,\n \"silenceTimeoutSec\": 2,\n \"tools\": [\n {\n \"config\": {},\n \"description\": \"<string>\",\n \"isActive\": true,\n \"kind\": \"<string>\",\n \"name\": \"<string>\",\n \"parametersSchema\": {},\n \"toolName\": \"<string>\"\n }\n ],\n \"ttsSpeed\": 1.25,\n \"ttsVoiceModelId\": 123,\n \"voiceVolume\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.post("https://api.persistence.dev/v1/agents/{agentId}/publish")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ambienceId\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"triggers\": [\n {\n \"category\": \"<string>\",\n \"executionOrder\": 123,\n \"isActive\": true,\n \"llmModel\": \"<string>\",\n \"llmProvider\": \"<string>\",\n \"maxTokens\": 123,\n \"name\": \"<string>\",\n \"pattern\": [\n {\n \"description\": \"<string>\",\n \"isMultiple\": true,\n \"key\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"ambienceVolume\": 1,\n \"avatarUrl\": \"<string>\",\n \"description\": \"<string>\",\n \"digitPronunciation\": true,\n \"dynamicVariables\": {\n \"variables\": [\n {\n \"defaultValue\": \"<string>\",\n \"key\": \"<string>\"\n }\n ]\n },\n \"endpointingPatience\": 123,\n \"greetingConfig\": {\n \"messageConfig\": {\n \"delay\": 123,\n \"message\": \"<string>\"\n }\n },\n \"interruptionSensitivity\": 123,\n \"knowledgeBaseIds\": [\n \"<string>\"\n ],\n \"languageCode\": \"<string>\",\n \"llmMaxTokens\": 2,\n \"llmModel\": \"<string>\",\n \"llmTemperature\": 1,\n \"maxCallDurationSec\": 2,\n \"minConsecutiveSpeechDelay\": 1,\n \"name\": \"<string>\",\n \"noiseCancellationConfig\": {},\n \"piiAnonymisation\": true,\n \"piiCategories\": [\n \"<string>\"\n ],\n \"piiRedaction\": true,\n \"presenceDetectionConfig\": {\n \"checkIntervalSec\": 123,\n \"maxAwayChecks\": 123\n },\n \"responseEagerness\": 123,\n \"silenceTimeoutSec\": 2,\n \"tools\": [\n {\n \"config\": {},\n \"description\": \"<string>\",\n \"isActive\": true,\n \"kind\": \"<string>\",\n \"name\": \"<string>\",\n \"parametersSchema\": {},\n \"toolName\": \"<string>\"\n }\n ],\n \"ttsSpeed\": 1.25,\n \"ttsVoiceModelId\": 123,\n \"voiceVolume\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.persistence.dev/v1/agents/{agentId}/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ambienceId\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"triggers\": [\n {\n \"category\": \"<string>\",\n \"executionOrder\": 123,\n \"isActive\": true,\n \"llmModel\": \"<string>\",\n \"llmProvider\": \"<string>\",\n \"maxTokens\": 123,\n \"name\": \"<string>\",\n \"pattern\": [\n {\n \"description\": \"<string>\",\n \"isMultiple\": true,\n \"key\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"type\": \"<string>\"\n }\n ],\n \"ambienceVolume\": 1,\n \"avatarUrl\": \"<string>\",\n \"description\": \"<string>\",\n \"digitPronunciation\": true,\n \"dynamicVariables\": {\n \"variables\": [\n {\n \"defaultValue\": \"<string>\",\n \"key\": \"<string>\"\n }\n ]\n },\n \"endpointingPatience\": 123,\n \"greetingConfig\": {\n \"messageConfig\": {\n \"delay\": 123,\n \"message\": \"<string>\"\n }\n },\n \"interruptionSensitivity\": 123,\n \"knowledgeBaseIds\": [\n \"<string>\"\n ],\n \"languageCode\": \"<string>\",\n \"llmMaxTokens\": 2,\n \"llmModel\": \"<string>\",\n \"llmTemperature\": 1,\n \"maxCallDurationSec\": 2,\n \"minConsecutiveSpeechDelay\": 1,\n \"name\": \"<string>\",\n \"noiseCancellationConfig\": {},\n \"piiAnonymisation\": true,\n \"piiCategories\": [\n \"<string>\"\n ],\n \"piiRedaction\": true,\n \"presenceDetectionConfig\": {\n \"checkIntervalSec\": 123,\n \"maxAwayChecks\": 123\n },\n \"responseEagerness\": 123,\n \"silenceTimeoutSec\": 2,\n \"tools\": [\n {\n \"config\": {},\n \"description\": \"<string>\",\n \"isActive\": true,\n \"kind\": \"<string>\",\n \"name\": \"<string>\",\n \"parametersSchema\": {},\n \"toolName\": \"<string>\"\n }\n ],\n \"ttsSpeed\": 1.25,\n \"ttsVoiceModelId\": 123,\n \"voiceVolume\": 1\n}"
response = http.request(request)
puts response.read_body{
"data": {
"avatarUrl": "<string>",
"createdAt": "<string>",
"description": "<string>",
"external": [
{
"data": {},
"name": "<string>"
}
],
"id": "<string>",
"name": "<string>",
"promptType": "single_prompt",
"spaceId": "<string>",
"status": "<string>",
"templateId": "<string>",
"type": "voice",
"updatedAt": "<string>",
"version": {
"ambienceId": "<string>",
"ambienceVolume": 123,
"amd": {
"detectionOptions": {
"humanSilenceThreshold": 123,
"humanSpeechThreshold": 123,
"machineSilenceThreshold": 123,
"noSpeechThreshold": 123,
"prompt": "<string>",
"timeout": 123
},
"enabled": true,
"interruptOnMachine": true,
"ivrHangUpEnabled": true,
"ivrNavigationEnabled": true,
"ivrNavigationInstructions": "<string>",
"llmModel": "<string>",
"sttModel": "<string>",
"voiceMailAction": "<string>",
"voiceMailMessage": "<string>"
},
"createdAt": "<string>",
"digitPronunciation": true,
"dynamicVariables": {
"variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
]
},
"endpointingConfig": {
"maxDelay": 123,
"minDelay": 123,
"mode": "fixed"
},
"endpointingPatience": 123,
"fallbackMessages": [
"<string>"
],
"greetingConfig": {
"messageConfig": {
"delay": 123,
"message": "<string>",
"type": "static"
},
"mode": "agent_first"
},
"id": 123,
"interruptionConfig": {
"discardAudioIfUninterruptible": true,
"enabled": true,
"falseInterruptionTimeout": 123,
"minDuration": 123,
"minWords": 123,
"mode": "adaptive",
"resumeFalseInterruption": true
},
"interruptionSensitivity": 123,
"knowledgeBaseIds": [
"<string>"
],
"languageCode": "<string>",
"llmMaxTokens": 123,
"llmModel": "<string>",
"llmProvider": "<string>",
"llmTemperature": 123,
"maxCallDurationSec": 123,
"minConsecutiveSpeechDelay": 123,
"noiseCancellationConfig": {
"mode": "noise_only"
},
"piiAnonymisation": true,
"piiCategories": [
"<string>"
],
"piiRedaction": true,
"pipelineType": "cascaded",
"preemptiveGenerationConfig": {
"enabled": true,
"maxRetries": 123,
"maxSpeechDuration": 123,
"preemptiveTts": true
},
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 123,
"status": "<string>",
"sttModel": "<string>",
"sttProvider": "<string>",
"systemPrompt": "<string>",
"tools": [
{
"config": {},
"description": "<string>",
"id": "<string>",
"isActive": true,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"triggers": [
{
"category": "<string>",
"createdAt": "<string>",
"executionOrder": 123,
"id": "<string>",
"isActive": true,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": true,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>",
"updatedAt": "<string>"
}
],
"ttsConfigs": {
"name": "<string>",
"provider": "elevenlabs",
"providerVoiceId": "<string>",
"type": "preset",
"avatarUrl": "<string>",
"category": "<string>",
"createdAt": "<string>",
"id": 123,
"isActive": true,
"languages": [
{
"voiceId": 123,
"accent": "<string>",
"age": "<string>",
"createdAt": "<string>",
"displayName": "<string>",
"gender": "<string>",
"id": 123,
"languageId": "<string>",
"metadata": [
123
],
"modelId": "<string>",
"previewUrl": "<string>",
"s2sSupported": [
"<string>"
],
"sourceFilesUrl": "<string>",
"sttSupported": [
"<string>"
],
"style": [
"<string>"
],
"updatedAt": "<string>"
}
],
"metadata": [
123
],
"publicId": "<string>",
"rating": 123,
"spaceId": 123,
"status": "<string>",
"tags": [
"<string>"
],
"traits": "<string>",
"updatedAt": "<string>"
},
"ttsSpeed": 123,
"ttsVoiceModelId": 123,
"turnDetectionConfig": {
"mode": "stt",
"modelType": "multilingual",
"unlikelyThreshold": 123
},
"updatedAt": "<string>",
"version": 123,
"vocabularySpecialization": "general",
"voiceVolume": 123
},
"versionHistory": [
{
"ambienceId": "<string>",
"ambienceVolume": 123,
"amd": {
"detectionOptions": {
"humanSilenceThreshold": 123,
"humanSpeechThreshold": 123,
"machineSilenceThreshold": 123,
"noSpeechThreshold": 123,
"prompt": "<string>",
"timeout": 123
},
"enabled": true,
"interruptOnMachine": true,
"ivrHangUpEnabled": true,
"ivrNavigationEnabled": true,
"ivrNavigationInstructions": "<string>",
"llmModel": "<string>",
"sttModel": "<string>",
"voiceMailAction": "<string>",
"voiceMailMessage": "<string>"
},
"createdAt": "<string>",
"digitPronunciation": true,
"dynamicVariables": {
"variables": [
{
"defaultValue": "<string>",
"key": "<string>"
}
]
},
"endpointingConfig": {
"maxDelay": 123,
"minDelay": 123,
"mode": "fixed"
},
"endpointingPatience": 123,
"fallbackMessages": [
"<string>"
],
"greetingConfig": {
"messageConfig": {
"delay": 123,
"message": "<string>",
"type": "static"
},
"mode": "agent_first"
},
"id": 123,
"interruptionConfig": {
"discardAudioIfUninterruptible": true,
"enabled": true,
"falseInterruptionTimeout": 123,
"minDuration": 123,
"minWords": 123,
"mode": "adaptive",
"resumeFalseInterruption": true
},
"interruptionSensitivity": 123,
"knowledgeBaseIds": [
"<string>"
],
"languageCode": "<string>",
"llmMaxTokens": 123,
"llmModel": "<string>",
"llmProvider": "<string>",
"llmTemperature": 123,
"maxCallDurationSec": 123,
"minConsecutiveSpeechDelay": 123,
"noiseCancellationConfig": {
"mode": "noise_only"
},
"piiAnonymisation": true,
"piiCategories": [
"<string>"
],
"piiRedaction": true,
"pipelineType": "cascaded",
"preemptiveGenerationConfig": {
"enabled": true,
"maxRetries": 123,
"maxSpeechDuration": 123,
"preemptiveTts": true
},
"presenceDetectionConfig": {
"checkIntervalSec": 123,
"maxAwayChecks": 123
},
"responseEagerness": 123,
"silenceTimeoutSec": 123,
"status": "<string>",
"sttModel": "<string>",
"sttProvider": "<string>",
"systemPrompt": "<string>",
"tools": [
{
"config": {},
"description": "<string>",
"id": "<string>",
"isActive": true,
"kind": "<string>",
"name": "<string>",
"parametersSchema": {},
"toolName": "<string>"
}
],
"triggers": [
{
"category": "<string>",
"createdAt": "<string>",
"executionOrder": 123,
"id": "<string>",
"isActive": true,
"llmModel": "<string>",
"llmProvider": "<string>",
"maxTokens": 123,
"name": "<string>",
"pattern": [
{
"description": "<string>",
"isMultiple": true,
"key": "<string>",
"type": "<string>"
}
],
"prompt": "<string>",
"type": "<string>",
"updatedAt": "<string>"
}
],
"ttsConfigs": {
"name": "<string>",
"provider": "elevenlabs",
"providerVoiceId": "<string>",
"type": "preset",
"avatarUrl": "<string>",
"category": "<string>",
"createdAt": "<string>",
"id": 123,
"isActive": true,
"languages": [
{
"voiceId": 123,
"accent": "<string>",
"age": "<string>",
"createdAt": "<string>",
"displayName": "<string>",
"gender": "<string>",
"id": 123,
"languageId": "<string>",
"metadata": [
123
],
"modelId": "<string>",
"previewUrl": "<string>",
"s2sSupported": [
"<string>"
],
"sourceFilesUrl": "<string>",
"sttSupported": [
"<string>"
],
"style": [
"<string>"
],
"updatedAt": "<string>"
}
],
"metadata": [
123
],
"publicId": "<string>",
"rating": 123,
"spaceId": 123,
"status": "<string>",
"tags": [
"<string>"
],
"traits": "<string>",
"updatedAt": "<string>"
},
"ttsSpeed": 123,
"ttsVoiceModelId": 123,
"turnDetectionConfig": {
"mode": "stt",
"modelType": "multilingual",
"unlikelyThreshold": 123
},
"updatedAt": "<string>",
"version": 123,
"vocabularySpecialization": "general",
"voiceVolume": 123
}
]
},
"success": true
}{
"code": "<string>",
"error": "<string>"
}{
"code": "<string>",
"error": "<string>"
}{
"code": "<string>",
"error": "<string>"
}{
"code": "<string>",
"error": "<string>"
}