Skip to content

Update the AI provider configuration

PATCH
/admin/system/ai

Persists the AI provider list and default-provider selection. Providers are stored but NOT yet used for inference — the AI auto-tagging / search phase wires the providers into a real client. API keys are stored as plain strings for now (admin-only table); a secrets-backend migration is planned.

AI provider configuration. Persisted under the sysconfig key ai. API keys are stored as plain strings for now (admin- only table; never federated); a secrets-backend migration is planned.

object
default_provider_id

Picks the providers[*].id used when nothing else specifies. Empty = no default (callers must choose, or AI features stay disabled).

string
providers
required
Array<object>
object
id
string
kind
required
string
Allowed values: openai anthropic google local
enabled
required
boolean
display_name
required
string
model

E.g. gpt-4o, claude-sonnet-4-6

string
base_url

Override for self-hosted / proxied endpoints.

string
api_key

Raw API key (interim — will move to a secrets backend reference). Sent and stored as-is.

string
config

Per-kind opaque config (temperature defaults, system prompts, rate limits, …). Integration code owns the schema.

object
key
additional properties
any

Updated AI config

AI provider configuration. Persisted under the sysconfig key ai. API keys are stored as plain strings for now (admin- only table; never federated); a secrets-backend migration is planned.

object
default_provider_id

Picks the providers[*].id used when nothing else specifies. Empty = no default (callers must choose, or AI features stay disabled).

string
providers
required
Array<object>
object
id
string
kind
required
string
Allowed values: openai anthropic google local
enabled
required
boolean
display_name
required
string
model

E.g. gpt-4o, claude-sonnet-4-6

string
base_url

Override for self-hosted / proxied endpoints.

string
api_key

Raw API key (interim — will move to a secrets backend reference). Sent and stored as-is.

string
config

Per-kind opaque config (temperature defaults, system prompts, rate limits, …). Integration code owns the schema.

object
key
additional properties
any

Malformed request

object
error
required

Human-readable error summary

string
Example
the request could not be completed

Authentication required, missing, or invalid

object
error
required

Human-readable error summary

string
Example
the request could not be completed
Example
{
"error": "authentication required: sign in and retry with a valid session or API token"
}

Authenticated but missing required capabilities

object
error
required

Human-readable error summary

string
Example
the request could not be completed