curl --request PATCH \
--url https://api.example.com/assistants/{assistant_id} \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"config": {},
"graph_id": "<string>",
"context": {},
"metadata": {}
}
'import requests
url = "https://api.example.com/assistants/{assistant_id}"
payload = {
"name": "<string>",
"description": "<string>",
"config": {},
"graph_id": "<string>",
"context": {},
"metadata": {}
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
config: {},
graph_id: '<string>',
context: {},
metadata: {}
})
};
fetch('https://api.example.com/assistants/{assistant_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://api.example.com/assistants/{assistant_id}",
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([
'name' => '<string>',
'description' => '<string>',
'config' => [
],
'graph_id' => '<string>',
'context' => [
],
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"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.example.com/assistants/{assistant_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {},\n \"graph_id\": \"<string>\",\n \"context\": {},\n \"metadata\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.example.com/assistants/{assistant_id}")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {},\n \"graph_id\": \"<string>\",\n \"context\": {},\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/assistants/{assistant_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {},\n \"graph_id\": \"<string>\",\n \"context\": {},\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"assistant_id": "<string>",
"name": "<string>",
"graph_id": "<string>",
"user_id": "<string>",
"version": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"config": {},
"context": {},
"metadata_dict": {}
}{
"error": "<string>",
"message": "<string>",
"details": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Update Assistant
Update an assistant by its ID.
Partial update: only fields included in the request body are changed. Creates a new version of the assistant.
curl --request PATCH \
--url https://api.example.com/assistants/{assistant_id} \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"config": {},
"graph_id": "<string>",
"context": {},
"metadata": {}
}
'import requests
url = "https://api.example.com/assistants/{assistant_id}"
payload = {
"name": "<string>",
"description": "<string>",
"config": {},
"graph_id": "<string>",
"context": {},
"metadata": {}
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
config: {},
graph_id: '<string>',
context: {},
metadata: {}
})
};
fetch('https://api.example.com/assistants/{assistant_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://api.example.com/assistants/{assistant_id}",
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([
'name' => '<string>',
'description' => '<string>',
'config' => [
],
'graph_id' => '<string>',
'context' => [
],
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"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.example.com/assistants/{assistant_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {},\n \"graph_id\": \"<string>\",\n \"context\": {},\n \"metadata\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.example.com/assistants/{assistant_id}")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {},\n \"graph_id\": \"<string>\",\n \"context\": {},\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/assistants/{assistant_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {},\n \"graph_id\": \"<string>\",\n \"context\": {},\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"assistant_id": "<string>",
"name": "<string>",
"graph_id": "<string>",
"user_id": "<string>",
"version": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"config": {},
"context": {},
"metadata_dict": {}
}{
"error": "<string>",
"message": "<string>",
"details": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Body
Request model for partially updating assistants.
Every field is optional and defaults to None so that an omitted field
is distinguishable from an explicit one via model_dump(exclude_unset=True):
omitting config keeps the stored config, sending {"config": {}} clears it.
A null clears description and reads as empty for the other dict fields.
name and graph_id back NOT NULL columns and refuse one.
The name of the assistant. Unchanged when omitted.
The description of the assistant. Unchanged when omitted.
Configuration to use for the graph. Unchanged when omitted.
The ID of the graph. Unchanged when omitted.
The context to use for the graph. Useful when graph is configurable. Unchanged when omitted.
Metadata to merge into the assistant's existing metadata.
Response
Successful Response
Assistant entity model
Unique identifier for the assistant.
Human-readable name of the assistant.
Identifier of the graph this assistant executes.
Identifier of the user who owns this assistant.
The version of the assistant.
Timestamp when the assistant was created.
Timestamp when the assistant was last updated.
Optional description of the assistant's purpose.
Configuration passed to the graph at runtime.
Context variables available to the graph during execution.
Arbitrary metadata for searching and filtering.