Immutable source snapshot
PUT /v1/gate-policies/{project_id}
Update gate policy. Permissions, parameters, responses and examples.
This address preserves one reviewed source snapshot. Use the current entry point for the selected documentation version.
Read pinned handler: apps/api/kodesec_api/main.py:6741
Update gate policy
Update gate policy through PUT /v1/gate-policies/{project_id}. 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 |
|---|---|---|
project_id | path Required | integer Schema |
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 · GatePolicyUpdate
| Field | Type | Presence |
|---|---|---|
active | boolean | Optional |
block_secrets | boolean | Optional |
expected_policy | GatePolicyValues | Required |
max_critical | integer | Optional |
max_high | integer | Optional |
Complete declared request schema
{
"additionalProperties": false,
"properties": {
"active": {
"default": true,
"title": "Active",
"type": "boolean"
},
"block_secrets": {
"default": true,
"title": "Block Secrets",
"type": "boolean"
},
"expected_policy": {
"$ref": "#/components/schemas/GatePolicyValues"
},
"max_critical": {
"default": 0,
"maximum": 999,
"minimum": -1,
"title": "Max Critical",
"type": "integer"
},
"max_high": {
"default": -1,
"maximum": 999,
"minimum": -1,
"title": "Max High",
"type": "integer"
}
},
"required": [
"expected_policy"
],
"title": "GatePolicyUpdate",
"type": "object"
}Responses
| Status | Meaning and declared shape |
|---|---|
200 | Successful Response application/json · object |
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 |
404 | Refresh the collection and verify the resource identity before retrying. See source-linked error catalog. |
409 | Refresh current revision and identity. A conflicting command must not be blindly repeated. See source-linked error catalog. |
422 | Validation Error application/json · HTTPValidationError |
429 | Authentication rate or connection limit application/json · object |
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 |
|---|---|---|
| 404 ↗ | project not found | Refresh the collection and verify the resource identity before retrying. |
| 404 ↗ | gate policy not found | Refresh the collection and verify the resource identity before retrying. |
| 409 ↗ | This project's gate policy changed. Reload the policy and review your draft before saving. | Refresh current revision and identity. A conflicting command must not be blindly repeated. |
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
{
"expected_policy": {}
}Response 200 JSON
{}All referenced models remain in its components section. Browse control model definitions.