Skip to content

Update chat config

PUT
/api/v1/config/chat
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.

The chat model settings to apply. A field the body omits keeps its current value

Media typeapplication/json

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
description

What a custom role in llmRoles is for, since built-in roles are described by the catalogue; unused on a purpose setting

string
model

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

string
reasoningEffort

Reasoning effort: none, minimal, low, medium, high or xhigh (none turns a thinking model’s reasoning off); null leaves the provider’s default

string
role

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

string
temperature

Sampling temperature; null keeps the default’s temperature

number format: double

Example generated

{
"description": "example",
"model": "example",
"reasoningEffort": "example",
"role": "example",
"temperature": 1
}

Chat config updated

Media type*/*

The chat settings as saved

object
model

The pinned chat model, or null when chat inherits one

string
reasoningEffort

The reasoning effort chat runs at, or null for the model’s default

string
status
required

Always updated

string

Example

updated
temperature

The sampling temperature, or null for the model’s default

number format: double

Unsupported reasoning effort, or a model this deployment cannot serve; the message names the models it can

Media type*/*

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
message
required

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

string
status
required

Always error. Present because the map this replaces carried it and a consumer may branch on it

string

Example

error