curl --request PUT \
--url https://api.anam.ai/v1/llms/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"temperature": 0.5
}
'import requests
url = "https://api.anam.ai/v1/llms/{id}"
payload = { "temperature": 0.5 }
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({temperature: 0.5})
};
fetch('https://api.anam.ai/v1/llms/{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.anam.ai/v1/llms/{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([
'temperature' => 0.5
]),
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.anam.ai/v1/llms/{id}"
payload := strings.NewReader("{\n \"temperature\": 0.5\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.anam.ai/v1/llms/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"temperature\": 0.5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anam.ai/v1/llms/{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 \"temperature\": 0.5\n}"
response = http.request(request)
puts response.read_body{
"id": "a7cf662c-2ace-4de1-a21e-ef0fbf144bb7",
"displayName": "GPT-4o",
"description": "OpenAI GPT-4o default configuration.",
"llmFormat": "openai",
"urls": [
{
"url": "https://api.openai.com/v1/chat/completions"
}
],
"modelName": "gpt-4o",
"temperature": 0.7,
"maxTokens": 1024,
"deploymentName": null,
"apiVersion": null,
"metadata": {},
"displayTags": [
"openai"
],
"isDefault": true,
"isGlobal": true,
"isZdr": false,
"isDeprecated": false,
"createdByOrganizationId": null,
"createdAt": "2026-04-20T10:00:00.000Z",
"updatedAt": null
}update llm
Update an LLM configuration
curl --request PUT \
--url https://api.anam.ai/v1/llms/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"temperature": 0.5
}
'import requests
url = "https://api.anam.ai/v1/llms/{id}"
payload = { "temperature": 0.5 }
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({temperature: 0.5})
};
fetch('https://api.anam.ai/v1/llms/{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.anam.ai/v1/llms/{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([
'temperature' => 0.5
]),
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.anam.ai/v1/llms/{id}"
payload := strings.NewReader("{\n \"temperature\": 0.5\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.anam.ai/v1/llms/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"temperature\": 0.5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anam.ai/v1/llms/{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 \"temperature\": 0.5\n}"
response = http.request(request)
puts response.read_body{
"id": "a7cf662c-2ace-4de1-a21e-ef0fbf144bb7",
"displayName": "GPT-4o",
"description": "OpenAI GPT-4o default configuration.",
"llmFormat": "openai",
"urls": [
{
"url": "https://api.openai.com/v1/chat/completions"
}
],
"modelName": "gpt-4o",
"temperature": 0.7,
"maxTokens": 1024,
"deploymentName": null,
"apiVersion": null,
"metadata": {},
"displayTags": [
"openai"
],
"isDefault": true,
"isGlobal": true,
"isZdr": false,
"isDeprecated": false,
"createdByOrganizationId": null,
"createdAt": "2026-04-20T10:00:00.000Z",
"updatedAt": null
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The LLM ID
Body
Partial update of the LLM configuration. Only the fields you include are changed. Default LLMs (not owned by your organization) cannot be modified. Rotating secret replaces the stored credential.
openai, azure_openai, groq_openai, anthropic, custom Reasoning effort for models that accept it. The value is forwarded verbatim to the provider/engine (e.g. default, none, minimal, low, medium, high, xhigh — supported values depend on the model). Set null to clear and use the model default.
50"minimal"
Groq reasoning format hint. Set null to clear and use the model default.
parsed, hidden, null Response
Successfully updated LLM
An LLM configuration a persona can use. Secrets are never returned.
Unique identifier for the LLM configuration.
Human-readable name shown in the Lab.
Free-form description of the LLM configuration.
Wire format used to call the upstream LLM.
openai, azure_openai, groq_openai, gemini, advanced_voice, none Endpoints configured for this LLM.
Show child attributes
Show child attributes
Upstream model identifier (e.g. gpt-4o).
Sampling temperature applied when calling the LLM.
Maximum tokens generated per response.
Azure OpenAI deployment name. Only used when llmFormat is azure_openai.
Azure OpenAI API version. Only used when llmFormat is azure_openai.
Free-form provider-specific metadata.
Tags used to categorise the LLM in the Lab UI.
Whether this LLM is a built-in default available to every organization.
Whether this LLM is visible to every organization.
Whether this LLM meets the Zero Data Retention requirements.
Whether this stock LLM is deprecated. Deprecated LLMs remain available to ephemeral sessions but cannot be newly assigned to personas.
Reasoning effort hint for models that accept it. Forwarded verbatim to the provider/engine; supported values depend on the model. Null means the model default is used.
Reasoning format hint for models that accept it. Null means the model default is used.
parsed, hidden, null ID of the organization that created the LLM, or null for global defaults. IDs may be either UUIDs or nanoid-style strings depending on when the organization was created.
Timestamp when the LLM was created.
Timestamp when the LLM was last updated.
Was this page helpful?

