curl -X PATCH https://api.ringyo.ai/v1/agents/agent_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Sales Assistant v2",
"temperature": 0.8,
"first_message": "Hey there! Sarah from Acme here. Got a minute?"
}'
const response = await fetch(
'https://api.ringyo.ai/v1/agents/agent_abc123',
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Sales Assistant v2',
temperature: 0.8,
first_message: "Hey there! Sarah from Acme here. Got a minute?"
})
}
);
const agent = await response.json();
import requests
response = requests.patch(
'https://api.ringyo.ai/v1/agents/agent_abc123',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={
'name': 'Sales Assistant v2',
'temperature': 0.8,
'first_message': "Hey there! Sarah from Acme here. Got a minute?"
}
)
agent = response.json()
{
"id": "agent_abc123",
"name": "Sales Assistant v2",
"system_prompt": "You are Sarah, a friendly sales assistant...",
"voice_id": "sarah-professional",
"first_message": "Hey there! Sarah from Acme here. Got a minute?",
"language": "en-US",
"model": "gpt-4o",
"temperature": 0.8,
"max_tokens": 150,
"interruption_threshold": 0.5,
"end_call_phrases": [],
"status": "active",
"metadata": {},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T16:45:00Z"
}
{
"error": {
"code": "agent_not_found",
"message": "The specified agent does not exist"
}
}
{
"error": {
"code": "invalid_voice_id",
"message": "The specified voice_id does not exist"
}
}
Agents
Update Agent
Update an existing agent
PATCH
/
v1
/
agents
/
{agent_id}
curl -X PATCH https://api.ringyo.ai/v1/agents/agent_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Sales Assistant v2",
"temperature": 0.8,
"first_message": "Hey there! Sarah from Acme here. Got a minute?"
}'
const response = await fetch(
'https://api.ringyo.ai/v1/agents/agent_abc123',
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Sales Assistant v2',
temperature: 0.8,
first_message: "Hey there! Sarah from Acme here. Got a minute?"
})
}
);
const agent = await response.json();
import requests
response = requests.patch(
'https://api.ringyo.ai/v1/agents/agent_abc123',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={
'name': 'Sales Assistant v2',
'temperature': 0.8,
'first_message': "Hey there! Sarah from Acme here. Got a minute?"
}
)
agent = response.json()
{
"id": "agent_abc123",
"name": "Sales Assistant v2",
"system_prompt": "You are Sarah, a friendly sales assistant...",
"voice_id": "sarah-professional",
"first_message": "Hey there! Sarah from Acme here. Got a minute?",
"language": "en-US",
"model": "gpt-4o",
"temperature": 0.8,
"max_tokens": 150,
"interruption_threshold": 0.5,
"end_call_phrases": [],
"status": "active",
"metadata": {},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T16:45:00Z"
}
{
"error": {
"code": "agent_not_found",
"message": "The specified agent does not exist"
}
}
{
"error": {
"code": "invalid_voice_id",
"message": "The specified voice_id does not exist"
}
}
Request
Update the configuration of an existing AI voice agent. Only include fields you want to change.Headers
string
required
Bearer token for authentication. Format:
Bearer YOUR_API_KEYstring
required
Must be
application/jsonPath Parameters
string
required
The unique identifier of the agent to update
Body Parameters
All fields are optional. Only include fields you want to update.string
A friendly name for the agent
string
The instructions defining the agent’s personality and behavior
string
The voice to use for the agent
string
The greeting message when calls connect
string
Primary language (e.g.,
en-US, es-ES)string
The LLM to use:
gpt-4o, gpt-4o-mini, claude-3-sonnetnumber
Creativity level (0.0-1.0)
integer
Maximum tokens per response
number
How easily the user can interrupt (0.0-1.0)
array
Phrases that will end the call
string
Set to
active or inactiveobject
Custom key-value pairs
Response
Returns the updated agent object.curl -X PATCH https://api.ringyo.ai/v1/agents/agent_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Sales Assistant v2",
"temperature": 0.8,
"first_message": "Hey there! Sarah from Acme here. Got a minute?"
}'
const response = await fetch(
'https://api.ringyo.ai/v1/agents/agent_abc123',
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Sales Assistant v2',
temperature: 0.8,
first_message: "Hey there! Sarah from Acme here. Got a minute?"
})
}
);
const agent = await response.json();
import requests
response = requests.patch(
'https://api.ringyo.ai/v1/agents/agent_abc123',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={
'name': 'Sales Assistant v2',
'temperature': 0.8,
'first_message': "Hey there! Sarah from Acme here. Got a minute?"
}
)
agent = response.json()
{
"id": "agent_abc123",
"name": "Sales Assistant v2",
"system_prompt": "You are Sarah, a friendly sales assistant...",
"voice_id": "sarah-professional",
"first_message": "Hey there! Sarah from Acme here. Got a minute?",
"language": "en-US",
"model": "gpt-4o",
"temperature": 0.8,
"max_tokens": 150,
"interruption_threshold": 0.5,
"end_call_phrases": [],
"status": "active",
"metadata": {},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T16:45:00Z"
}
{
"error": {
"code": "agent_not_found",
"message": "The specified agent does not exist"
}
}
{
"error": {
"code": "invalid_voice_id",
"message": "The specified voice_id does not exist"
}
}
Error Codes
| Code | Description |
|---|---|
agent_not_found | The specified agent_id does not exist |
invalid_voice_id | The specified voice does not exist |
invalid_system_prompt | System prompt is too long or invalid |
unauthorized | You don’t have access to this agent |