Set or clear an LLM role override
const url = 'http://localhost:11044/api/v1/config/llm-roles/example';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/llm-roles/example \ --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 }'Maps a role (e.g. code_best) to a model for this world, with an optional reasoning effort every call naming the role runs at (none, minimal, low, medium, high, xhigh; none turns a thinking model’s reasoning off). The effort changes only when the body names reasoningEffort: a value sets it, an empty string clears it, omitting it keeps it. Send a body with model, role and effort all blank to clear the override (inherit the deployment default).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The role to override, such as code_best — the name realms resolve a model by
Request Bodyrequired
Section titled “Request Bodyrequired”The model, role and reasoning effort the role resolves to. All blank clears the override
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”Role override updated
A role override as saved, or cleared
object
The model the request named, or null when it named none
The role that was changed, as named in the path
Always updated, including when the override was cleared
Example
updatedUnsupported 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
