Read the AI inference subsystem configuration
GET /admin/ai/config
Returns the operator-tuned AI subsystem snapshot: master enable switch, per-task routing preferences, fallback chains, privacy policy, default budget. Surfaces structural validation findings (missing concern in routing, lock-on- with-empty-local-providers, etc.) so the admin UI can render them inline.
Distinct from /admin/system/ai (the placeholder that holds
the raw provider list). This is the typed config layer that
drives the router + privacy gate
- budget tracker.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”Current AI config + validator findings
AI inference subsystem snapshot. Returned by GET /admin/ai/config; writable via PUT with the AIInferenceConfigWrite shape (the read shape carries findings + computed defaults that the write shape doesn’t include).
object
Master switch. Defaults to false on fresh install (operator opts in).
Per-task default provider. Keys are concern names (complete | embed | transcribe | tag | caption); values are provider names registered via /admin/system/ai.
object
Ordered fallback list per concern. The router walks transient + rate-limit failures down the chain; permanent/budget/privacy errors short-circuit.
object
object
When true, assets at sensitivity tier restricted or
embargo route to local providers only. Defaults to
true on fresh install.
Provider names considered “local” for the gate above.
object
USD threshold at which a soft-warn audit event fires.
USD ceiling beyond which CheckBudgetBefore rejects calls
with ai_budget_exhausted. Zero (the fresh-install
default) fails-closed with cloud_budget_not_configured
on the very first call until the operator raises it.
Validator findings against the current config (e.g. routing references a provider that isn’t registered). Empty when the config is clean.
object
Stable identifier (routing_missing_concern,
privacy_lock_with_empty_local_list,
routing_undefined_provider, etc.) the admin UI uses
to render a localised message.
Empty when the finding isn’t concern-specific.
Operator-readable English fallback message.
Authentication required, missing, or invalid
object
Human-readable error summary
Example
the request could not be completedExample
{ "error": "authentication required: sign in and retry with a valid session or API token"}Authenticated but missing required capabilities
object
Human-readable error summary
Example
the request could not be completed