curl --request PUT \
--url https://app.apigene.ai/api/agent/update/{agent_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"instructions": "<unknown>",
"apis": [
"<string>"
],
"mcps": [
"<string>"
],
"context": [
"<string>"
],
"skills": [
"<string>"
],
"icon": "<unknown>",
"mcp_tools_settings": {}
}
'import requests
url = "https://app.apigene.ai/api/agent/update/{agent_id}"
payload = {
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"instructions": "<unknown>",
"apis": ["<string>"],
"mcps": ["<string>"],
"context": ["<string>"],
"skills": ["<string>"],
"icon": "<unknown>",
"mcp_tools_settings": {}
}
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>',
display_name: '<string>',
description: '<string>',
instructions: '<unknown>',
apis: ['<string>'],
mcps: ['<string>'],
context: ['<string>'],
skills: ['<string>'],
icon: '<unknown>',
mcp_tools_settings: {}
})
};
fetch('https://app.apigene.ai/api/agent/update/{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://app.apigene.ai/api/agent/update/{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>',
'display_name' => '<string>',
'description' => '<string>',
'instructions' => '<unknown>',
'apis' => [
'<string>'
],
'mcps' => [
'<string>'
],
'context' => [
'<string>'
],
'skills' => [
'<string>'
],
'icon' => '<unknown>',
'mcp_tools_settings' => [
]
]),
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://app.apigene.ai/api/agent/update/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"instructions\": \"<unknown>\",\n \"apis\": [\n \"<string>\"\n ],\n \"mcps\": [\n \"<string>\"\n ],\n \"context\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"icon\": \"<unknown>\",\n \"mcp_tools_settings\": {}\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://app.apigene.ai/api/agent/update/{agent_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"instructions\": \"<unknown>\",\n \"apis\": [\n \"<string>\"\n ],\n \"mcps\": [\n \"<string>\"\n ],\n \"context\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"icon\": \"<unknown>\",\n \"mcp_tools_settings\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.apigene.ai/api/agent/update/{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 \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"instructions\": \"<unknown>\",\n \"apis\": [\n \"<string>\"\n ],\n \"mcps\": [\n \"<string>\"\n ],\n \"context\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"icon\": \"<unknown>\",\n \"mcp_tools_settings\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"instructions": "<string>",
"agent_type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"display_name": "<string>",
"apis": [
"<string>"
],
"mcps": [
"<string>"
],
"context": [
"<string>"
],
"skills": [
"<string>"
],
"icon": "<string>",
"mcp_tools_settings": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Agent Update
Update an existing agent.
Args: agent_id: The ID of the agent to update agent_data: The updated agent data current_user: The current authenticated user tenant: The tenant database
Returns: Agent: The updated agent
Raises: HTTPException(400): If input validation fails HTTPException(404): If agent not found HTTPException(403): If trying to change to public agent without APIGENE tier HTTPException(409): If new name conflicts with existing agent HTTPException(500): If database operation fails or other error occurs
curl --request PUT \
--url https://app.apigene.ai/api/agent/update/{agent_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"instructions": "<unknown>",
"apis": [
"<string>"
],
"mcps": [
"<string>"
],
"context": [
"<string>"
],
"skills": [
"<string>"
],
"icon": "<unknown>",
"mcp_tools_settings": {}
}
'import requests
url = "https://app.apigene.ai/api/agent/update/{agent_id}"
payload = {
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"instructions": "<unknown>",
"apis": ["<string>"],
"mcps": ["<string>"],
"context": ["<string>"],
"skills": ["<string>"],
"icon": "<unknown>",
"mcp_tools_settings": {}
}
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>',
display_name: '<string>',
description: '<string>',
instructions: '<unknown>',
apis: ['<string>'],
mcps: ['<string>'],
context: ['<string>'],
skills: ['<string>'],
icon: '<unknown>',
mcp_tools_settings: {}
})
};
fetch('https://app.apigene.ai/api/agent/update/{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://app.apigene.ai/api/agent/update/{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>',
'display_name' => '<string>',
'description' => '<string>',
'instructions' => '<unknown>',
'apis' => [
'<string>'
],
'mcps' => [
'<string>'
],
'context' => [
'<string>'
],
'skills' => [
'<string>'
],
'icon' => '<unknown>',
'mcp_tools_settings' => [
]
]),
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://app.apigene.ai/api/agent/update/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"instructions\": \"<unknown>\",\n \"apis\": [\n \"<string>\"\n ],\n \"mcps\": [\n \"<string>\"\n ],\n \"context\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"icon\": \"<unknown>\",\n \"mcp_tools_settings\": {}\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://app.apigene.ai/api/agent/update/{agent_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"instructions\": \"<unknown>\",\n \"apis\": [\n \"<string>\"\n ],\n \"mcps\": [\n \"<string>\"\n ],\n \"context\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"icon\": \"<unknown>\",\n \"mcp_tools_settings\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.apigene.ai/api/agent/update/{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 \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"instructions\": \"<unknown>\",\n \"apis\": [\n \"<string>\"\n ],\n \"mcps\": [\n \"<string>\"\n ],\n \"context\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"icon\": \"<unknown>\",\n \"mcp_tools_settings\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"instructions": "<string>",
"agent_type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"display_name": "<string>",
"apis": [
"<string>"
],
"mcps": [
"<string>"
],
"context": [
"<string>"
],
"skills": [
"<string>"
],
"icon": "<string>",
"mcp_tools_settings": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
JWT Authorization header using the Bearer scheme. Example: 'Authorization: Bearer {token}'
Path Parameters
Body
Request model for updating an agent
Name of the agent
Optional UI label shown instead of name. Empty string clears the override.
64Brief description of what the agent does
Long string with the agent instructions (can be string or dict)
List of API names that the agent contains
List of MCP server names that the agent contains
List of context IDs that the agent contains
List of skill IDs that the agent contains
Either a URL, base64 string, or dict for the agent icon
Type of agent (private/public)
private, public Per-tool MCP visibility: tool name -> "enabled" or "disabled". Omitted leaves existing value on update.
Show child attributes
Show child attributes
Response
Successful Response
Response model for agent
Unique identifier for the agent
Name of the agent
Brief description of what the agent does
Long string with the agent instructions
Type of agent (private/public)
When the agent was created
When the agent was last updated
Email of the user who created the agent
Optional UI label shown instead of name. Null falls back to name.
64List of API names that the agent contains
List of MCP server names that the agent contains
List of context IDs that the agent contains
List of skill IDs that the agent contains
Either a URL or base64 string for the agent icon
Per-tool MCP visibility: tool name -> "enabled" or "disabled"
Show child attributes
Show child attributes
