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
},
"skills": true,
"tools": true,
"tool_loading": "eager",
"tool_result_context": true,
"knowledge": true,
"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
Rename agent. Requires project.agents.write.
Deprecated. Create the agent under the new identifier, then delete the old one. Use Create agent (createAgent) instead.
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
},
"skills": true,
"tools": true,
"tool_loading": "eager",
"tool_result_context": true,
"knowledge": true,
"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. The rename is rejected 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. Labels move to the new identifier; generated avatars are copied, and the original upload is removed after no preview branch or release references it.
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
true eager, deferred 1Show child attributes
Show child attributes
Absolute URL for this agent avatar. Null when no custom avatar has been set.