Set the model chat uses
const url = 'http://localhost:11044/api/v1/config/chat-model';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-model \ --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 }'Pins the chat model for this world, clearing any role pin so the choice cannot be silently overridden. Blank model clears it and inherits the deployment default; temperature and reasoning effort are kept. A body that names reasoningEffort, even as an empty string, is rejected: set the effort with PUT /chat.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”The chat model to pin, with no reasoning effort: that is set through PUT /config/chat
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 model updated
The model chat now uses, with any role pin cleared
object
True when no model is pinned, so chat uses the deployment default
The model now pinned, trimmed; null or blank when chat went back to inheriting
Always updated
Example
updatedThe body names a reasoning effort, or a model this deployment cannot serve
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
