Update AI agent
Changes settings on an existing AI agent without replacing unrelated fields. Call aiAgents.list to resolve its id, and use aiAgents.get to inspect the saved result.
curl --request PUT \
--url https://app.chatbotx.io/api/v1/ai-agents/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"prompt": "<string>",
"messages": [
{
"content": "<string>"
}
],
"models": [
{
"provider": "gemini"
}
],
"temperature": 1,
"maxOutputTokens": 16384.5,
"tools": [
"<string>"
],
"webSearchAuthorizedDomains": [
{
"value": "<string>"
}
],
"isDefault": true,
"isRichResponse": true
}
'import requests
url = "https://app.chatbotx.io/api/v1/ai-agents/{id}"
payload = {
"name": "<string>",
"prompt": "<string>",
"messages": [{ "content": "<string>" }],
"models": [{ "provider": "gemini" }],
"temperature": 1,
"maxOutputTokens": 16384.5,
"tools": ["<string>"],
"webSearchAuthorizedDomains": [{ "value": "<string>" }],
"isDefault": True,
"isRichResponse": True
}
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>',
prompt: '<string>',
messages: [{content: '<string>'}],
models: [{provider: 'gemini'}],
temperature: 1,
maxOutputTokens: 16384.5,
tools: ['<string>'],
webSearchAuthorizedDomains: [{value: '<string>'}],
isDefault: true,
isRichResponse: true
})
};
fetch('https://app.chatbotx.io/api/v1/ai-agents/{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.chatbotx.io/api/v1/ai-agents/{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>',
'prompt' => '<string>',
'messages' => [
[
'content' => '<string>'
]
],
'models' => [
[
'provider' => 'gemini'
]
],
'temperature' => 1,
'maxOutputTokens' => 16384.5,
'tools' => [
'<string>'
],
'webSearchAuthorizedDomains' => [
[
'value' => '<string>'
]
],
'isDefault' => true,
'isRichResponse' => true
]),
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.chatbotx.io/api/v1/ai-agents/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"models\": [\n {\n \"provider\": \"gemini\"\n }\n ],\n \"temperature\": 1,\n \"maxOutputTokens\": 16384.5,\n \"tools\": [\n \"<string>\"\n ],\n \"webSearchAuthorizedDomains\": [\n {\n \"value\": \"<string>\"\n }\n ],\n \"isDefault\": true,\n \"isRichResponse\": true\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.chatbotx.io/api/v1/ai-agents/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"models\": [\n {\n \"provider\": \"gemini\"\n }\n ],\n \"temperature\": 1,\n \"maxOutputTokens\": 16384.5,\n \"tools\": [\n \"<string>\"\n ],\n \"webSearchAuthorizedDomains\": [\n {\n \"value\": \"<string>\"\n }\n ],\n \"isDefault\": true,\n \"isRichResponse\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.chatbotx.io/api/v1/ai-agents/{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 \"prompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"models\": [\n {\n \"provider\": \"gemini\"\n }\n ],\n \"temperature\": 1,\n \"maxOutputTokens\": 16384.5,\n \"tools\": [\n \"<string>\"\n ],\n \"webSearchAuthorizedDomains\": [\n {\n \"value\": \"<string>\"\n }\n ],\n \"isDefault\": true,\n \"isRichResponse\": true\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"prompt": "<string>",
"messages": [
"<string>"
],
"isDefault": true,
"isRichResponse": true,
"tools": [
"<string>"
],
"webSearchAuthorizedDomains": [
"<string>"
],
"models": [
"<string>"
],
"temperature": -0.5,
"maxOutputTokens": -1,
"id": "<unknown>",
"workspaceId": "<unknown>"
}{
"defined": true,
"code": "businessError",
"status": 400,
"message": "An error occurred while processing your request",
"data": "<unknown>"
}{
"defined": true,
"code": "UNAUTHORIZED",
"status": 401,
"message": "Authentication required",
"data": "<unknown>"
}{
"defined": true,
"code": "FORBIDDEN",
"status": 403,
"message": "You do not have permission to perform this action",
"data": "<unknown>"
}{
"defined": true,
"code": "notFound",
"status": 404,
"message": "Resource not found",
"data": "<unknown>"
}{
"defined": true,
"code": "invalidRequestData",
"status": 422,
"message": "Input validation failed",
"data": {
"issues": [
{
"message": "<string>",
"path": [
"<string>"
]
}
]
}
}{
"defined": true,
"code": "tooManyRequests",
"status": 429,
"message": "Too many requests",
"data": "<unknown>"
}{
"defined": true,
"code": "INTERNAL_SERVER_ERROR",
"status": 500,
"message": "An unexpected error occurred",
"data": "<unknown>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
AI agent id. Get it from aiAgents.list.
^\d+$Body
AI agent name.
1 - 255System prompt that defines the agent's behavior.
1 - 10000Seed conversation history (role/content pairs) shown to the model before user input.
Show child attributes
Show child attributes
Ordered fallback list of provider/model pairs to try. The first entry is preferred; later ones are used if it fails.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
Show child attributes
Show child attributes
Sampling temperature, 0-2.
0 <= x <= 2Maximum tokens the model may generate in one reply.
1 <= x <= 32768Tool names this agent is allowed to call.
Domains the agent's web-search tool is restricted to, up to 20. Empty means unrestricted.
20Show child attributes
Show child attributes
Whether this is the workspace's default AI agent.
Whether the agent may return rich (card/button) responses instead of plain text.
Response
OK
-140737488355328 <= x <= 140737488355327-2147483648 <= x <= 2147483647Was this page helpful?
curl --request PUT \
--url https://app.chatbotx.io/api/v1/ai-agents/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"prompt": "<string>",
"messages": [
{
"content": "<string>"
}
],
"models": [
{
"provider": "gemini"
}
],
"temperature": 1,
"maxOutputTokens": 16384.5,
"tools": [
"<string>"
],
"webSearchAuthorizedDomains": [
{
"value": "<string>"
}
],
"isDefault": true,
"isRichResponse": true
}
'import requests
url = "https://app.chatbotx.io/api/v1/ai-agents/{id}"
payload = {
"name": "<string>",
"prompt": "<string>",
"messages": [{ "content": "<string>" }],
"models": [{ "provider": "gemini" }],
"temperature": 1,
"maxOutputTokens": 16384.5,
"tools": ["<string>"],
"webSearchAuthorizedDomains": [{ "value": "<string>" }],
"isDefault": True,
"isRichResponse": True
}
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>',
prompt: '<string>',
messages: [{content: '<string>'}],
models: [{provider: 'gemini'}],
temperature: 1,
maxOutputTokens: 16384.5,
tools: ['<string>'],
webSearchAuthorizedDomains: [{value: '<string>'}],
isDefault: true,
isRichResponse: true
})
};
fetch('https://app.chatbotx.io/api/v1/ai-agents/{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.chatbotx.io/api/v1/ai-agents/{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>',
'prompt' => '<string>',
'messages' => [
[
'content' => '<string>'
]
],
'models' => [
[
'provider' => 'gemini'
]
],
'temperature' => 1,
'maxOutputTokens' => 16384.5,
'tools' => [
'<string>'
],
'webSearchAuthorizedDomains' => [
[
'value' => '<string>'
]
],
'isDefault' => true,
'isRichResponse' => true
]),
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.chatbotx.io/api/v1/ai-agents/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"models\": [\n {\n \"provider\": \"gemini\"\n }\n ],\n \"temperature\": 1,\n \"maxOutputTokens\": 16384.5,\n \"tools\": [\n \"<string>\"\n ],\n \"webSearchAuthorizedDomains\": [\n {\n \"value\": \"<string>\"\n }\n ],\n \"isDefault\": true,\n \"isRichResponse\": true\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.chatbotx.io/api/v1/ai-agents/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"models\": [\n {\n \"provider\": \"gemini\"\n }\n ],\n \"temperature\": 1,\n \"maxOutputTokens\": 16384.5,\n \"tools\": [\n \"<string>\"\n ],\n \"webSearchAuthorizedDomains\": [\n {\n \"value\": \"<string>\"\n }\n ],\n \"isDefault\": true,\n \"isRichResponse\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.chatbotx.io/api/v1/ai-agents/{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 \"prompt\": \"<string>\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"models\": [\n {\n \"provider\": \"gemini\"\n }\n ],\n \"temperature\": 1,\n \"maxOutputTokens\": 16384.5,\n \"tools\": [\n \"<string>\"\n ],\n \"webSearchAuthorizedDomains\": [\n {\n \"value\": \"<string>\"\n }\n ],\n \"isDefault\": true,\n \"isRichResponse\": true\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"prompt": "<string>",
"messages": [
"<string>"
],
"isDefault": true,
"isRichResponse": true,
"tools": [
"<string>"
],
"webSearchAuthorizedDomains": [
"<string>"
],
"models": [
"<string>"
],
"temperature": -0.5,
"maxOutputTokens": -1,
"id": "<unknown>",
"workspaceId": "<unknown>"
}{
"defined": true,
"code": "businessError",
"status": 400,
"message": "An error occurred while processing your request",
"data": "<unknown>"
}{
"defined": true,
"code": "UNAUTHORIZED",
"status": 401,
"message": "Authentication required",
"data": "<unknown>"
}{
"defined": true,
"code": "FORBIDDEN",
"status": 403,
"message": "You do not have permission to perform this action",
"data": "<unknown>"
}{
"defined": true,
"code": "notFound",
"status": 404,
"message": "Resource not found",
"data": "<unknown>"
}{
"defined": true,
"code": "invalidRequestData",
"status": 422,
"message": "Input validation failed",
"data": {
"issues": [
{
"message": "<string>",
"path": [
"<string>"
]
}
]
}
}{
"defined": true,
"code": "tooManyRequests",
"status": 429,
"message": "Too many requests",
"data": "<unknown>"
}{
"defined": true,
"code": "INTERNAL_SERVER_ERROR",
"status": 500,
"message": "An unexpected error occurred",
"data": "<unknown>"
}