curl --request POST \
--url https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"new_agent_id": "<string>"
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename"
payload = { "new_agent_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({new_agent_id: '<string>'})
};
fetch('https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename', 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.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename",
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([
'new_agent_id' => '<string>'
]),
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.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename"
payload := strings.NewReader("{\n \"new_agent_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"new_agent_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"new_agent_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"model": "<string>",
"system_prompt": "<string>",
"temperature": 1,
"max_steps": 123,
"allowed_models": [
"<string>"
],
"skill_ids": [
"<string>"
],
"skill_selection": {
"kind": "omitted",
"skill_ids": [
"<string>"
]
},
"all_tools_enabled": true,
"tool_ids": [
"<string>"
],
"provider_tool_ids": [
"<string>"
],
"security_enabled": true,
"source_path": "<string>",
"source": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"thinking": {
"enabled": true,
"budget_tokens": 123
},
"suggestions": [
"<string>"
],
"avatar": {
"seed": "<string>",
"archetype": "upright",
"texture": "<string>",
"color": "<string>",
"shape": "snircle",
"matrix": "<string>"
},
"avatar_url": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"source_path": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"source_path": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"source_path": "<string>"
}Rename agent
Renames an agent and moves its labels to the new identifier.
The request is rejected if the new identifier is in use, if files such as agents/{agent_id}/SKILL.md would remain under the old identifier, or if schedules or channel bindings still reference the agent.
Generated avatars are copied to the new identifier. The original upload remains available to preview branches and releases that still reference it. The platform removes it asynchronously after those references are gone.
curl --request POST \
--url https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"new_agent_id": "<string>"
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename"
payload = { "new_agent_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({new_agent_id: '<string>'})
};
fetch('https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename', 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.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename",
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([
'new_agent_id' => '<string>'
]),
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.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename"
payload := strings.NewReader("{\n \"new_agent_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"new_agent_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/agents/{agent_id}/rename")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"new_agent_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"model": "<string>",
"system_prompt": "<string>",
"temperature": 1,
"max_steps": 123,
"allowed_models": [
"<string>"
],
"skill_ids": [
"<string>"
],
"skill_selection": {
"kind": "omitted",
"skill_ids": [
"<string>"
]
},
"all_tools_enabled": true,
"tool_ids": [
"<string>"
],
"provider_tool_ids": [
"<string>"
],
"security_enabled": true,
"source_path": "<string>",
"source": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"thinking": {
"enabled": true,
"budget_tokens": 123
},
"suggestions": [
"<string>"
],
"avatar": {
"seed": "<string>",
"archetype": "upright",
"texture": "<string>",
"color": "<string>",
"shape": "snircle",
"matrix": "<string>"
},
"avatar_url": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"source_path": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"source_path": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>",
"edit_mode": "structured",
"source_only_reasons": [
"<string>"
],
"source_path": "<string>"
}Authorizations
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Path Parameters
Project slug, UUID, or domain that identifies the project.
Current agent identifier
Body
New agent identifier. Must not be occupied by another agent.
1 - 128^[a-zA-Z0-9_-]+$Response
Agent renamed
0 <= x <= 2Show child attributes
Show child attributes
Whether the agent default security guardrails are enabled.
structured, source_only Show child attributes
Show child attributes
1Show child attributes
Show child attributes
Absolute URL for this agent avatar. Null when no custom avatar has been set.