Update an agent
Update agent configuration. Supply expectedUpdatedAt to reject an update if the agent changed since it was retrieved. Enabling or archiving an agent also updates its schedules and triggers.
import Tembo from '@tembo-io/sdk';
const client = new Tembo();
const agent = await client.agents.update('7c9e6679-7425-40de-944b-e07fc1f90ae7', {});curl --request PATCH \
--url https://api.tembo.io/v1/agents/{agentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expectedUpdatedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"key": "<string>",
"instructions": {
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Hello"
}
]
}
]
},
"mcpServers": [
"<string>"
],
"agent": "<string>",
"agentOptions": {
"reasoningLevel": "<string>",
"goal": {
"enabled": true,
"objective": "<string>"
}
},
"userState": {},
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"templateId": "<string>",
"script": "<string>",
"autoDetectRepositories": true,
"repositoryIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"enabled": true,
"archived": true
}
'import requests
url = "https://api.tembo.io/v1/agents/{agentId}"
payload = {
"expectedUpdatedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"key": "<string>",
"instructions": {
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Hello"
}
]
}
]
},
"mcpServers": ["<string>"],
"agent": "<string>",
"agentOptions": {
"reasoningLevel": "<string>",
"goal": {
"enabled": True,
"objective": "<string>"
}
},
"userState": {},
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"templateId": "<string>",
"script": "<string>",
"autoDetectRepositories": True,
"repositoryIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"enabled": True,
"archived": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
expectedUpdatedAt: '2023-11-07T05:31:56Z',
name: '<string>',
key: '<string>',
instructions: {
type: 'doc',
content: [{type: 'paragraph', content: [{type: 'text', text: 'Hello'}]}]
},
mcpServers: ['<string>'],
agent: '<string>',
agentOptions: {reasoningLevel: '<string>', goal: {enabled: true, objective: '<string>'}},
userState: {},
projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
templateId: '<string>',
script: '<string>',
autoDetectRepositories: true,
repositoryIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
enabled: true,
archived: true
})
};
fetch('https://api.tembo.io/v1/agents/{agentId}', 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.tembo.io/v1/agents/{agentId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'expectedUpdatedAt' => '2023-11-07T05:31:56Z',
'name' => '<string>',
'key' => '<string>',
'instructions' => [
'type' => 'doc',
'content' => [
[
'type' => 'paragraph',
'content' => [
[
'type' => 'text',
'text' => 'Hello'
]
]
]
]
],
'mcpServers' => [
'<string>'
],
'agent' => '<string>',
'agentOptions' => [
'reasoningLevel' => '<string>',
'goal' => [
'enabled' => true,
'objective' => '<string>'
]
],
'userState' => [
],
'projectId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'templateId' => '<string>',
'script' => '<string>',
'autoDetectRepositories' => true,
'repositoryIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'enabled' => true,
'archived' => 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://api.tembo.io/v1/agents/{agentId}"
payload := strings.NewReader("{\n \"expectedUpdatedAt\": \"2023-11-07T05:31:56Z\",\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"instructions\": {\n \"type\": \"doc\",\n \"content\": [\n {\n \"type\": \"paragraph\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Hello\"\n }\n ]\n }\n ]\n },\n \"mcpServers\": [\n \"<string>\"\n ],\n \"agent\": \"<string>\",\n \"agentOptions\": {\n \"reasoningLevel\": \"<string>\",\n \"goal\": {\n \"enabled\": true,\n \"objective\": \"<string>\"\n }\n },\n \"userState\": {},\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"templateId\": \"<string>\",\n \"script\": \"<string>\",\n \"autoDetectRepositories\": true,\n \"repositoryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"archived\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.tembo.io/v1/agents/{agentId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"expectedUpdatedAt\": \"2023-11-07T05:31:56Z\",\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"instructions\": {\n \"type\": \"doc\",\n \"content\": [\n {\n \"type\": \"paragraph\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Hello\"\n }\n ]\n }\n ]\n },\n \"mcpServers\": [\n \"<string>\"\n ],\n \"agent\": \"<string>\",\n \"agentOptions\": {\n \"reasoningLevel\": \"<string>\",\n \"goal\": {\n \"enabled\": true,\n \"objective\": \"<string>\"\n }\n },\n \"userState\": {},\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"templateId\": \"<string>\",\n \"script\": \"<string>\",\n \"autoDetectRepositories\": true,\n \"repositoryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"archived\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tembo.io/v1/agents/{agentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"expectedUpdatedAt\": \"2023-11-07T05:31:56Z\",\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"instructions\": {\n \"type\": \"doc\",\n \"content\": [\n {\n \"type\": \"paragraph\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Hello\"\n }\n ]\n }\n ]\n },\n \"mcpServers\": [\n \"<string>\"\n ],\n \"agent\": \"<string>\",\n \"agentOptions\": {\n \"reasoningLevel\": \"<string>\",\n \"goal\": {\n \"enabled\": true,\n \"objective\": \"<string>\"\n }\n },\n \"userState\": {},\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"templateId\": \"<string>\",\n \"script\": \"<string>\",\n \"autoDetectRepositories\": true,\n \"repositoryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"archived\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"key": "<string>",
"sandboxSize": "nano",
"projectId": "<string>",
"templateId": "<string>",
"script": "<string>",
"artifactType": "PullRequest",
"autoDetectRepositories": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"enabledAt": "2023-11-07T05:31:56Z",
"organizationId": "<string>",
"organizationName": "<string>",
"createdBy": "<string>",
"instructions": {
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Hello"
}
]
}
]
},
"agent": "<string>",
"agentOptions": {
"reasoningLevel": "<string>",
"mode": "normal",
"speed": "normal",
"goal": {
"enabled": true,
"objective": "<string>"
}
},
"mcpServers": [
"<string>"
],
"userState": {},
"codeRepositories": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"owner": "<string>",
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"integrationType": "<string>"
}
],
"lastRun": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sessionId": "<string>",
"status": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"durationMs": 123,
"errorMessage": "<string>"
},
"runCount": 1,
"scheduleCount": 1,
"triggerCount": 1,
"hasPausedSchedule": true,
"hasPausedTrigger": true,
"integrationIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"integrationTypes": [
"<string>"
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Value of updatedAt from the last retrieved agent. A concurrent change causes a conflict instead of overwriting newer changes.
1 - 2001 - 200Instructions for the agent as a rich-text document. Mentions can reference integrations used by the agent.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
Show child attributes
Show child attributes
{
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [{ "type": "text", "text": "Hello" }]
}
]
}
1001 - 2001 - 200Execution settings for the selected agent runtime, including provider-specific options.
- Option 1
- Option 2
Show child attributes
Show child attributes
User-defined state keyed by name. Values may be any JSON value, including nested objects and arrays. No application-specific keys are required.
Show child attributes
Show child attributes
nano, micro, small, medium, large, xl, xxl, ultra, null, null 200100000PullRequest, ToolCall, Plan, Response, File, Service, Source, null, null 250Response
Update an agent
nano, micro, small, medium, large, xl, xxl, ultra, null PullRequest, ToolCall, Plan, Response, File, Service, Source, null 1 - 255Instructions for the agent as a rich-text document. Mentions can reference integrations used by the agent.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
Show child attributes
Show child attributes
{
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [{ "type": "text", "text": "Hello" }]
}
]
}
Runtime and model selection key; not the ID of an agent resource.
Execution settings for the selected agent runtime, including provider-specific options.
- Option 1
- Option 2
Show child attributes
Show child attributes
Selected MCP server identifiers, including built-in server keys.
1001 - 200User-defined state keyed by name. Values may be any JSON value, including nested objects and arrays. No application-specific keys are required.
Show child attributes
Show child attributes
250Show child attributes
Show child attributes
Show child attributes
Show child attributes
x >= 0x >= 0x >= 0Was this page helpful?
import Tembo from '@tembo-io/sdk';
const client = new Tembo();
const agent = await client.agents.update('7c9e6679-7425-40de-944b-e07fc1f90ae7', {});curl --request PATCH \
--url https://api.tembo.io/v1/agents/{agentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expectedUpdatedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"key": "<string>",
"instructions": {
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Hello"
}
]
}
]
},
"mcpServers": [
"<string>"
],
"agent": "<string>",
"agentOptions": {
"reasoningLevel": "<string>",
"goal": {
"enabled": true,
"objective": "<string>"
}
},
"userState": {},
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"templateId": "<string>",
"script": "<string>",
"autoDetectRepositories": true,
"repositoryIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"enabled": true,
"archived": true
}
'import requests
url = "https://api.tembo.io/v1/agents/{agentId}"
payload = {
"expectedUpdatedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"key": "<string>",
"instructions": {
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Hello"
}
]
}
]
},
"mcpServers": ["<string>"],
"agent": "<string>",
"agentOptions": {
"reasoningLevel": "<string>",
"goal": {
"enabled": True,
"objective": "<string>"
}
},
"userState": {},
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"templateId": "<string>",
"script": "<string>",
"autoDetectRepositories": True,
"repositoryIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"enabled": True,
"archived": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
expectedUpdatedAt: '2023-11-07T05:31:56Z',
name: '<string>',
key: '<string>',
instructions: {
type: 'doc',
content: [{type: 'paragraph', content: [{type: 'text', text: 'Hello'}]}]
},
mcpServers: ['<string>'],
agent: '<string>',
agentOptions: {reasoningLevel: '<string>', goal: {enabled: true, objective: '<string>'}},
userState: {},
projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
templateId: '<string>',
script: '<string>',
autoDetectRepositories: true,
repositoryIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
enabled: true,
archived: true
})
};
fetch('https://api.tembo.io/v1/agents/{agentId}', 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.tembo.io/v1/agents/{agentId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'expectedUpdatedAt' => '2023-11-07T05:31:56Z',
'name' => '<string>',
'key' => '<string>',
'instructions' => [
'type' => 'doc',
'content' => [
[
'type' => 'paragraph',
'content' => [
[
'type' => 'text',
'text' => 'Hello'
]
]
]
]
],
'mcpServers' => [
'<string>'
],
'agent' => '<string>',
'agentOptions' => [
'reasoningLevel' => '<string>',
'goal' => [
'enabled' => true,
'objective' => '<string>'
]
],
'userState' => [
],
'projectId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'templateId' => '<string>',
'script' => '<string>',
'autoDetectRepositories' => true,
'repositoryIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'enabled' => true,
'archived' => 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://api.tembo.io/v1/agents/{agentId}"
payload := strings.NewReader("{\n \"expectedUpdatedAt\": \"2023-11-07T05:31:56Z\",\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"instructions\": {\n \"type\": \"doc\",\n \"content\": [\n {\n \"type\": \"paragraph\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Hello\"\n }\n ]\n }\n ]\n },\n \"mcpServers\": [\n \"<string>\"\n ],\n \"agent\": \"<string>\",\n \"agentOptions\": {\n \"reasoningLevel\": \"<string>\",\n \"goal\": {\n \"enabled\": true,\n \"objective\": \"<string>\"\n }\n },\n \"userState\": {},\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"templateId\": \"<string>\",\n \"script\": \"<string>\",\n \"autoDetectRepositories\": true,\n \"repositoryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"archived\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.tembo.io/v1/agents/{agentId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"expectedUpdatedAt\": \"2023-11-07T05:31:56Z\",\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"instructions\": {\n \"type\": \"doc\",\n \"content\": [\n {\n \"type\": \"paragraph\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Hello\"\n }\n ]\n }\n ]\n },\n \"mcpServers\": [\n \"<string>\"\n ],\n \"agent\": \"<string>\",\n \"agentOptions\": {\n \"reasoningLevel\": \"<string>\",\n \"goal\": {\n \"enabled\": true,\n \"objective\": \"<string>\"\n }\n },\n \"userState\": {},\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"templateId\": \"<string>\",\n \"script\": \"<string>\",\n \"autoDetectRepositories\": true,\n \"repositoryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"archived\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tembo.io/v1/agents/{agentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"expectedUpdatedAt\": \"2023-11-07T05:31:56Z\",\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"instructions\": {\n \"type\": \"doc\",\n \"content\": [\n {\n \"type\": \"paragraph\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Hello\"\n }\n ]\n }\n ]\n },\n \"mcpServers\": [\n \"<string>\"\n ],\n \"agent\": \"<string>\",\n \"agentOptions\": {\n \"reasoningLevel\": \"<string>\",\n \"goal\": {\n \"enabled\": true,\n \"objective\": \"<string>\"\n }\n },\n \"userState\": {},\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"templateId\": \"<string>\",\n \"script\": \"<string>\",\n \"autoDetectRepositories\": true,\n \"repositoryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"archived\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"key": "<string>",
"sandboxSize": "nano",
"projectId": "<string>",
"templateId": "<string>",
"script": "<string>",
"artifactType": "PullRequest",
"autoDetectRepositories": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"enabledAt": "2023-11-07T05:31:56Z",
"organizationId": "<string>",
"organizationName": "<string>",
"createdBy": "<string>",
"instructions": {
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Hello"
}
]
}
]
},
"agent": "<string>",
"agentOptions": {
"reasoningLevel": "<string>",
"mode": "normal",
"speed": "normal",
"goal": {
"enabled": true,
"objective": "<string>"
}
},
"mcpServers": [
"<string>"
],
"userState": {},
"codeRepositories": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"owner": "<string>",
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"integrationType": "<string>"
}
],
"lastRun": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sessionId": "<string>",
"status": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"durationMs": 123,
"errorMessage": "<string>"
},
"runCount": 1,
"scheduleCount": 1,
"triggerCount": 1,
"hasPausedSchedule": true,
"hasPausedTrigger": true,
"integrationIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"integrationTypes": [
"<string>"
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}