curl --request PUT \
--url https://api.olie.ai/api/management/ai/agents/{agent} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "",
"description": "",
"default_provider": "openrouter",
"default_model": "",
"base_prompt": "",
"tools": []
}
'import requests
url = "https://api.olie.ai/api/management/ai/agents/{agent}"
payload = {
"name": "",
"description": "",
"default_provider": "openrouter",
"default_model": "",
"base_prompt": "",
"tools": []
}
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: '',
description: '',
default_provider: 'openrouter',
default_model: '',
base_prompt: '',
tools: []
})
};
fetch('https://api.olie.ai/api/management/ai/agents/{agent}', 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.olie.ai/api/management/ai/agents/{agent}",
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' => '',
'description' => '',
'default_provider' => 'openrouter',
'default_model' => '',
'base_prompt' => '',
'tools' => [
]
]),
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.olie.ai/api/management/ai/agents/{agent}"
payload := strings.NewReader("{\n \"name\": \"\",\n \"description\": \"\",\n \"default_provider\": \"openrouter\",\n \"default_model\": \"\",\n \"base_prompt\": \"\",\n \"tools\": []\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://api.olie.ai/api/management/ai/agents/{agent}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"\",\n \"description\": \"\",\n \"default_provider\": \"openrouter\",\n \"default_model\": \"\",\n \"base_prompt\": \"\",\n \"tools\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/ai/agents/{agent}")
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\": \"\",\n \"description\": \"\",\n \"default_provider\": \"openrouter\",\n \"default_model\": \"\",\n \"base_prompt\": \"\",\n \"tools\": []\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"agent": {
"id": "019b6b1a-4c21-73d6-9f0e-5a1c8d3e7b04",
"name": "Triador de entrada (revisado)",
"description": "Classifica e resume os cards que chegam no funil de atendimento.",
"default_provider": "openrouter",
"default_model": "openrouter/auto-cost-based",
"base_prompt": "Leia o card recém-criado e escreva um resumo objetivo em até 3 linhas.",
"status": "active",
"tools": [
"get-project-details-tool",
"index-projects-tool",
"today-tool"
],
"structured_output": null,
"frame_id": "019aeaa3-2778-73ec-8f8d-59d06cc59dca",
"created_at": "2026-08-14T13:02:11.000000Z",
"updated_at": "2026-09-18T11:40:22.000000Z",
"deleted_at": null,
"created_by": "019aeaa3-2370-731c-9008-be759795f449"
}
}{
"response": false,
"message": "ai_agent_model_not_found",
"error": "No query results for model [App\\Models\\AiAgent] 019b6b1a-4c21-73d6-9f0e-5a1c8d3e7b04"
}{
"response": false,
"message": "validation_errors",
"error": "The selected tools is invalid.",
"validation": {
"tools": [
"The selected tools is invalid."
]
}
}Atualizar agente de IA
Atualiza os dados de um agente de IA. Apenas os campos enviados são alterados, e tools substitui por inteiro a lista de ferramentas habilitadas — enviar uma lista vazia desabilita todas.
curl --request PUT \
--url https://api.olie.ai/api/management/ai/agents/{agent} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "",
"description": "",
"default_provider": "openrouter",
"default_model": "",
"base_prompt": "",
"tools": []
}
'import requests
url = "https://api.olie.ai/api/management/ai/agents/{agent}"
payload = {
"name": "",
"description": "",
"default_provider": "openrouter",
"default_model": "",
"base_prompt": "",
"tools": []
}
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: '',
description: '',
default_provider: 'openrouter',
default_model: '',
base_prompt: '',
tools: []
})
};
fetch('https://api.olie.ai/api/management/ai/agents/{agent}', 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.olie.ai/api/management/ai/agents/{agent}",
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' => '',
'description' => '',
'default_provider' => 'openrouter',
'default_model' => '',
'base_prompt' => '',
'tools' => [
]
]),
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.olie.ai/api/management/ai/agents/{agent}"
payload := strings.NewReader("{\n \"name\": \"\",\n \"description\": \"\",\n \"default_provider\": \"openrouter\",\n \"default_model\": \"\",\n \"base_prompt\": \"\",\n \"tools\": []\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://api.olie.ai/api/management/ai/agents/{agent}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"\",\n \"description\": \"\",\n \"default_provider\": \"openrouter\",\n \"default_model\": \"\",\n \"base_prompt\": \"\",\n \"tools\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/ai/agents/{agent}")
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\": \"\",\n \"description\": \"\",\n \"default_provider\": \"openrouter\",\n \"default_model\": \"\",\n \"base_prompt\": \"\",\n \"tools\": []\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"agent": {
"id": "019b6b1a-4c21-73d6-9f0e-5a1c8d3e7b04",
"name": "Triador de entrada (revisado)",
"description": "Classifica e resume os cards que chegam no funil de atendimento.",
"default_provider": "openrouter",
"default_model": "openrouter/auto-cost-based",
"base_prompt": "Leia o card recém-criado e escreva um resumo objetivo em até 3 linhas.",
"status": "active",
"tools": [
"get-project-details-tool",
"index-projects-tool",
"today-tool"
],
"structured_output": null,
"frame_id": "019aeaa3-2778-73ec-8f8d-59d06cc59dca",
"created_at": "2026-08-14T13:02:11.000000Z",
"updated_at": "2026-09-18T11:40:22.000000Z",
"deleted_at": null,
"created_by": "019aeaa3-2370-731c-9008-be759795f449"
}
}{
"response": false,
"message": "ai_agent_model_not_found",
"error": "No query results for model [App\\Models\\AiAgent] 019b6b1a-4c21-73d6-9f0e-5a1c8d3e7b04"
}{
"response": false,
"message": "validation_errors",
"error": "The selected tools is invalid.",
"validation": {
"tools": [
"The selected tools is invalid."
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID (UUID) do agente de IA.
Body
Campos do agente a alterar; apenas os enviados são gravados.
Novo nome do agente.
255Nova descrição curta do agente.
255Novo provedor de IA padrão do agente.
openrouter, google, openai, anthropic Novo identificador do modelo padrão, conforme o id devolvido pelo catálogo de modelos disponíveis.
Novo prompt base do agente.
Nova lista de ferramentas habilitadas; substitui a anterior por inteiro.
Nome de uma ferramenta, conforme o name devolvido pelo catálogo de ferramentas disponíveis.
Was this page helpful?