Current source preview reference
PATCH /v1/config/advisor
Update advisor config. Permissions, parameters, responses and examples.
Read pinned handler: apps/api/kodesec_api/main.py:2937
Update advisor config
Update advisor config through PATCH /v1/config/advisor. The parameters and declared response shapes below come from this exact source snapshot.
Source preview; no stable third-party integration promise. This page makes no request to a local installation.
Authority
Browser operator session only at the middleware boundary. Route-specific ownership and generation checks also apply.
Browser mutations require the exact control Origin and session-bound CSRF header. IDE callers use only their admitted route scope and exact generation.
Parameters and headers
| Name | Location | Contract |
|---|---|---|
X-CSRF-Token | header Conditional / optional | Required for browser mutations with the exact control Origin. Not an IDE capability. Schema |
Request body
JSON body · required · RuntimeAdvisorConfigUpdate
| Field | Type | Presence |
|---|---|---|
ai_mode | string | Required |
auto_triage_limit | integer | Required |
ollama_base_url | string | Required |
ollama_model | string | Required |
ollama_thinking | boolean | Required |
Complete declared request schema
{
"additionalProperties": false,
"properties": {
"ai_mode": {
"enum": [
"auto",
"on",
"off"
],
"title": "Ai Mode",
"type": "string"
},
"auto_triage_limit": {
"maximum": 50,
"minimum": 0,
"title": "Auto Triage Limit",
"type": "integer"
},
"ollama_base_url": {
"maxLength": 500,
"minLength": 1,
"title": "Ollama Base Url",
"type": "string"
},
"ollama_model": {
"maxLength": 120,
"minLength": 1,
"title": "Ollama Model",
"type": "string"
},
"ollama_thinking": {
"title": "Ollama Thinking",
"type": "boolean"
}
},
"required": [
"ai_mode",
"ollama_base_url",
"ollama_model",
"ollama_thinking",
"auto_triage_limit"
],
"title": "RuntimeAdvisorConfigUpdate",
"type": "object"
}Responses
| Status | Meaning and declared shape |
|---|---|
200 | Successful Response application/json · RuntimeConfigOut |
400 | Exact host, malformed request or URL credential refusal application/json · object |
401 | Missing or invalid membership application/json · object |
403 | Exact origin, CSRF or route authority refusal application/json · object |
422 | Validation Error application/json · HTTPValidationError |
429 | Authentication rate or connection limit application/json · object |
503 | Check readiness and the recorded job state. A healthy control plane does not prove scanner readiness. See source-linked error catalog. |
An empty or broad schema preserves the source contract. It is not a promise of an empty response.
Source-linked errors
Literal HTTP errors in this handler and same-file helper call graph, plus control middleware. Dynamic and cross-module failures may add other errors; source links are authoritative.
3 source error observations
| Status | Source detail | Recovery |
|---|---|---|
| 422 ↗ | Dynamic detail; inspect source | Correct the field or semantic validation error. Input values are omitted from control validation errors. |
| 503 ↗ | Dynamic detail; inspect source | Check readiness and the recorded job state. A healthy control plane does not prove scanner readiness. |
| 503 ↗ | Dynamic detail; inspect source | Check readiness and the recorded job state. A healthy control plane does not prove scanner readiness. |
Synthetic examples
These examples validate declared JSON shapes and formats. They contain no real installation data and do not prove runtime admission, cross-field validation, authority or successful work.
Request JSON
{
"ai_mode": "auto",
"auto_triage_limit": 1,
"ollama_base_url": "synthetic",
"ollama_model": "synthetic",
"ollama_thinking": false
}Response 200 JSON
{
"ai_mode": "auto",
"allowed_roots": [],
"auto_triage_limit": 1,
"component_apply_command": "synthetic",
"component_db_admin_enabled": false,
"component_git_proxy_enabled": false,
"component_monitoring_enabled": false,
"components": [],
"gate_active": false,
"gate_block_secrets": false,
"gate_max_critical": 1,
"gate_max_high": 1,
"gate_preset": "observe",
"installation_id": "aaaaaaaaaaaa",
"ollama_available": false,
"ollama_base_url": "synthetic",
"ollama_model": "synthetic",
"ollama_models": [],
"ollama_reason": "synthetic",
"ollama_thinking": false,
"scanner_url": "synthetic",
"schema_init": {
"evidence": "schema-identity-and-api-startup-verification",
"id": "schema-init",
"initialized_at": "2026-01-01T00:00:00Z",
"lifecycle": "one-shot",
"message": "synthetic",
"startable": false,
"state": "completed"
}
}All referenced models remain in its components section. Browse control model definitions.