Skip to content

Set the model chat uses

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

The chat model to pin, with no reasoning effort: that is set through PUT /config/chat

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 model updated

Media type*/*

The model chat now uses, with any role pin cleared

object
inherited
required

True when no model is pinned, so chat uses the deployment default

boolean
model

The model now pinned, trimmed; null or blank when chat went back to inheriting

string
status
required

Always updated

string

Example

updated

The body names a reasoning effort, or a model this deployment cannot serve

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