Ir al contenido

Cambiar el modo de una política en una Autonomy Zone

PATCH/api/public/v1/policies/{public_id}

disabled | monitor | enforce, on the attachment at zone_id — every other zone keeps its own mode. Without zone_id, the AIP's only attachment: 409 ZONE_REQUIRED when it is in several, 409 NOT_ATTACHED in none; a zone_id that holds no attachment answers 409 INHERITED_HERE. Writes a policy_history row, bumps that zone's revision, and the next composition reflects it. Switching to Enforce on a policy with no enforceable atom answers 409 NOT_ACTIVATABLE. Switching a Disabled attachment on is refused the same way when an intent failed verification or can never fire, and is proved against the layers above that zone: 409 LOOSENS_LAYER with the counterexample, 503 PROOF_UNAVAILABLE when the proof cannot finish. Only a ratified policy can have its mode changed. An agent (OAuth) caller must send the version of the policy it read: missing answers 428 POLICY_VERSION_REQUIRED, one that is no longer current 409 POLICY_VERSION_STALE; the check runs on every call, a change that changes nothing included.

Ventana de terminal
curl --fail-with-body -X PATCH 'https://app.openlatch.ai/api/public/v1/policies/<policy_public_id>' \
-H "Authorization: Bearer $OPENLATCH_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"mode":"monitor","zone_id":"<zone_id>"}'
Rol en la organizaciónEste punto de conexión
ownerPermitido
adminPermitido
editorPermitido
viewerNo permitido

Una clave tiene el rol que su propietario ocupa en la organización. Consulte Autenticación.

Ámbito de la clave de API: policies:write

ParámetroTipoDescripción
public_idstringObligatorio.
ParámetroTipoDescripción
Idempotency-Keystring or nullOptional. Makes the request safe to retry: the same key and the same request, within 24 hours, returns the stored response with Idempotent-Replayed: true and runs once.
CampoTipoDescripción
modestring — one of disabled, monitor, enforceObligatorio.
versioninteger or nullThe version of the policy the caller read. Required of an agent (OAuth) caller: missing answers 428 POLICY_VERSION_REQUIRED, a version that is no longer current 409 POLICY_VERSION_STALE. An API-key caller may send it and is checked when it does.
zone_idstring (uuid) or null
CampoTipoDescripción
anomalies_7dinteger
attached_herebooleanWhether the viewed zone holds its own attachment.
attachment_modestring — one of disabled, monitor, enforce or nullThe viewed zone's own attachment mode; null when it only inherits the AIP.
coverageobjectObligatorio. D-66 — installs counted from stamped negotiation, never from mode + recent poll.
coverage.compatibility_unavailable_installsintegerObligatorio.
coverage.enforced_installsintegerObligatorio.
dimensionsarray of stringObligatorio.
display_titlestringThe AIP's name: its title, else its generated_title, else its statement.
effective_layerobject or nullThe zone whose attachment sets effective_mode when it is not layer; null otherwise.
effective_layer.inheritedbooleanObligatorio.
effective_layer.labelstringObligatorio.
effective_layer.unit_idstringObligatorio.
effective_layer.zone_idstringObligatorio.
effective_modestring — one of disabled, monitor, enforce or nullThe mode the AIP runs in at the viewed zone: the strictest attachment on its path.
idstringObligatorio.
intentsobjectObligatorio. How many of the policy's atoms are actually enforceable.
intents.enforceableintegerObligatorio.
intents.monitor_onlyintegerObligatorio.
intents.totalintegerObligatorio.
layerobjectObligatorio. The layer a policy row is labelled with: the zone being viewed when it holds the AIP, else the zone whose attachment sets its mode there. `inherited` is true when the viewed zone holds no attachment of it.
layer.inheritedbooleanObligatorio.
layer.labelstringObligatorio.
layer.unit_idstringObligatorio.
layer.zone_idstringObligatorio.
modestringObligatorio. Deprecated: attachment_mode when the viewed zone holds it, else effective_mode.
presetobject or null
preset.application_idstringObligatorio.
preset.preset_idstringObligatorio.
preset.preset_namestringObligatorio.
preset.preset_policy_keystringObligatorio.
preset.preset_versionintegerObligatorio.
public_idstringObligatorio.
statementstringObligatorio.
statusstringObligatorio.
versionintegerObligatorio.
{
"anomalies_7d": 0,
"attached_here": false,
"attachment_mode": "disabled",
"coverage": {
"compatibility_unavailable_installs": 3,
"enforced_installs": 3
},
"dimensions": [
"string"
],
"display_title": "",
"effective_layer": {
"inherited": false,
"label": "string",
"unit_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10"
},
"effective_mode": "disabled",
"id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"intents": {
"enforceable": 3,
"monitor_only": 3,
"total": 3
},
"layer": {
"inherited": false,
"label": "string",
"unit_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10"
},
"mode": "string",
"preset": {
"application_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"preset_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"preset_name": "release-bot",
"preset_policy_key": "string",
"preset_version": 3
},
"public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"statement": "string",
"status": "string",
"version": 3
}