Update chat config
const url = 'http://localhost:11044/api/v1/config/chat';const options = { method: 'PUT', headers: {'X-Embabel-Api-Key': '<X-Embabel-Api-Key>', 'Content-Type': 'application/json'}, body: '{"description":"example","model":"example","reasoningEffort":"example","role":"example","temperature":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url http://localhost:11044/api/v1/config/chat \ --header 'Content-Type: application/json' \ --header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>' \ --data '{ "description": "example", "model": "example", "reasoningEffort": "example", "role": "example", "temperature": 1 }'Sets chat model, temperature, and optional reasoning effort, persisted to config.yml. A JSON null counts as omitted for every field; a blank model or role still names that field. The effort changes only when the body names reasoningEffort: a value sets it, an empty string clears it, and omitting it keeps it. A body whose only named field is reasoningEffort changes just the effort; any other body, even {}, replaces model, role, and temperature, so {} returns them to the deployment default. A chat config that carries a role resolves the role first and ignores a plain model value; use PUT /chat-model to change what the user talks to.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”The chat model settings to apply. A field the body omits keeps its current value
How one purpose, or one role override, picks its model: by role or by pinned model, with optional temperature and reasoning effort. Read and written by the /config/llms, /config/chat and /config/llm-roles endpoints
object
What a custom role in llmRoles is for, since built-in roles are described by the catalogue; unused on a purpose setting
Model name to pin. For a purpose, used only when no role is set; in an llmRoles entry, the model the role resolves to. Null or blank pins nothing
Reasoning effort: none, minimal, low, medium, high or xhigh (none turns a thinking model’s reasoning off); null leaves the provider’s default
Role id to select the model by (e.g. chat_best, code_best); for a purpose it takes precedence over model. Not used in an llmRoles entry
Sampling temperature; null keeps the default’s temperature
Example generated
{ "description": "example", "model": "example", "reasoningEffort": "example", "role": "example", "temperature": 1}Responses
Section titled “Responses”Chat config updated
The chat settings as saved
object
The pinned chat model, or null when chat inherits one
The reasoning effort chat runs at, or null for the model’s default
Always updated
Example
updatedThe sampling temperature, or null for the model’s default
Unsupported reasoning effort, or a model this deployment cannot serve; the message names the models it can
A refusal from the world administration surface: what went wrong, and the word error so a client reading the body need not consult the status code
object
What was refused and why, written to be shown. Names the offending value where there is one — the unknown mode, the out-of-range threshold, the invalid cron expression
Always error. Present because the map this replaces carried it and a consumer may branch on it
Example
error
