コンテンツにスキップ

The active provider's configuration — never the credential.

GET
/api/v1/llm/config
curl --request GET \
--url https://example.com/api/v1/llm/config \
--header 'Authorization: Bearer <token>'

The stored configuration (or null) and the provider choices

Media typeapplication/json

The GET /api/v1/llm/config body.

object
config
One of:
null
providers
required

Every provider the operator may choose, with its placeholders and its egress warning.

Array<object>

What the Settings form needs to render one provider choice.

Served from the backend rather than hardcoded in the WebUI so the egress warning cannot drift from what the code actually does: [ProviderKind::leaves_operator_boundary] is the single definition, and the checkbox that warns about it reads the same value the adapter obeys.

object
credential_optional
required

Whether the credential may be omitted (Vertex on GKE/GCE uses Workload Identity instead).

boolean
key
required
string
leaves_operator_boundary
required

True when picking this sends hostnames, addresses, topology and syslog outside the operator’s own cloud.

boolean
needs_project
required

Whether this provider needs a GCP project + region (Vertex) rather than just an API key.

boolean
suggested_location
string | null
suggested_model
required
string
Examplegenerated
{
"config": {
"enabled": true,
"has_api_key": true,
"leaves_operator_boundary": true,
"location": "example",
"max_output_tokens": 1,
"model": "example",
"project": "example",
"provider": "example",
"updated_at": "example"
},
"providers": [
{
"credential_optional": true,
"key": "example",
"leaves_operator_boundary": true,
"needs_project": true,
"suggested_location": "example",
"suggested_model": "example"
}
]
}

No valid bearer token

Media typeapplication/json

The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies undescribed — a client that has to guess the failure shape ends up parsing the success shape and reading undefined.

object
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}

Role lacks the ManageConfig permission

Media typeapplication/json

The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies undescribed — a client that has to guess the failure shape ends up parsing the success shape and reading undefined.

object
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}

Skeleton mode: no configuration store

Media typeapplication/json

The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies undescribed — a client that has to guess the failure shape ends up parsing the success shape and reading undefined.

object
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}