Aller au contenu

Revoke an intent policy's decisive mark

DELETE/api/public/v1/policies/{public_id}/intent-policies/{intent_policy_id}/decisive beta

The intent policy's fallback returns for declarations the client cannot verify, and the next bundle omits decisive. Answers the AIP as GET /policies/{public_id} reads it. Idempotent when the intent policy is not decisive. 409 NOT_RATIFIED for a draft or retired AIP.

Fenêtre de terminal
curl --fail-with-body -X DELETE 'https://app.openlatch.ai/api/public/v1/policies/<policy_public_id>/intent-policies/<intent_policy_id>/decisive' \
-H "Authorization: Bearer $OPENLATCH_API_KEY"
Rôle dans l’organisationCe point de terminaison
ownerAutorisé
adminAutorisé
editorAutorisé
viewerNon autorisé

Une clé porte le rôle que son propriétaire détient dans l’organisation. Voir Authentification.

Portée de clé d’API : policies:write

ParamètreTypeDescription
public_idstringObligatoire.
intent_policy_idstring (uuid)Obligatoire.
ParamètreTypeDescription
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.
ChampTypeDescription
dataobjectObligatoire. A ratified policy with its intents, provenance, history and activity.
data.activity_7dobjectObligatoire. Named counts of the policy's durable decision evidence from the last seven days.
data.activity_7d.anomalies_raisedinteger
data.activity_7d.events_evaluatedinteger
data.activity_agent_14dobject or nullEvents evaluated and anomalies raised by this policy on the agent named by agent_id, over 14 days. Null when the read was not scoped to an agent.
data.activity_agent_14d.anomalies_raisedinteger
data.activity_agent_14d.events_evaluatedinteger
data.anomalies_7dinteger
data.ask_behaviour_overridestring or nullThis AIP's own Ask behaviour, or null to follow the zone.
data.ask_mode_overridestring or nullThis AIP's own ASK delivery mode, or null to follow the zone.
data.attached_hereboolean
data.attachment_modestring — one of disabled, monitor, enforce or null
data.attachmentsarray of objectEvery Autonomy Zone the AIP is attached to, the viewed one first.
data.attachments[].attached_atstring (date-time)Obligatoire.
data.attachments[].modestring — one of disabled, monitor, enforceObligatoire.
data.attachments[].unit_idstringObligatoire.
data.attachments[].zone_idstringObligatoire.
data.attachments[].zone_labelstringObligatoire.
data.coverageobjectObligatoire. D-66 — installs counted from stamped negotiation, never from mode + recent poll.
data.coverage.compatibility_unavailable_installsintegerObligatoire.
data.coverage.enforced_installsintegerObligatoire.
data.dimensionsarray of stringObligatoire.
data.display_titlestringThe AIP's name: its title, else its generated_title, else its statement.
data.dropped_deferred_rulesarray of objectThe deferred rules of the version in force that no bundle serves, because their trigger is too broad: each with its intent policy and that intent policy's ratified sentence. Describes the version in force whatever version is viewed; empty when none.
data.dropped_deferred_rules[].intent_policy_idstringObligatoire.
data.dropped_deferred_rules[].rule_keystringObligatoire.
data.dropped_deferred_rules[].sentencestringObligatoire.
data.effective_ask_behaviourstringThe Ask behaviour its Asks follow at the layer being viewed.
data.effective_ask_modestringThe mode its ASKs follow at the layer being viewed: platform, agent or both.
data.effective_layerobject or null
data.effective_layer.inheritedbooleanObligatoire.
data.effective_layer.labelstringObligatoire.
data.effective_layer.unit_idstringObligatoire.
data.effective_layer.zone_idstringObligatoire.
data.effective_modestring — one of disabled, monitor, enforce or null
data.generated_titlestring or nullThe title generated when the AIP was first drafted; null when none.
data.historyarray of objectObligatoire.
data.history[].actor_kindstringObligatoire.
data.history[].actor_user_idobject or nullObligatoire.
data.history[].atstring (date-time)Obligatoire.
data.history[].changestringObligatoire.
data.history[].evidence_refobject or nullObligatoire.
data.history[].from_valueobject or nullObligatoire.
data.history[].to_valueobject or nullObligatoire.
data.home_zoneobject or nullObligatoire. The Autonomy Zone the AIP is in (ratified), or was last in while that zone is still live (deleted); null otherwise.
data.home_zone.org_unit_idstringObligatoire.
data.home_zone.zone_idstringObligatoire.
data.idstringObligatoire.
data.intent_policiesarray of objectThe ratified intent policies of the version viewed.
data.intent_policies[].aip_idstringObligatoire.
data.intent_policies[].aip_public_idstringObligatoire.
data.intent_policies[].aip_versionintegerObligatoire.
data.intent_policies[].ask_behaviourstringObligatoire.
data.intent_policies[].ask_modestringObligatoire.
data.intent_policies[].capabilityobject or null
data.intent_policies[].citationobject or nullObligatoire. The framework preset rule this intent policy came from, edited when its sentence differs; null for anything not drawn from a framework preset.
data.intent_policies[].decisiveobject or nullSet when the owner let this intent policy's declarations decide (Spec AZ2-6).
data.intent_policies[].dimensionstring — one of quality, economics, security, safety, complianceObligatoire.
data.intent_policies[].exceptionsarray of object
data.intent_policies[].fallbackobject or nullAn Optimize intent policy's fallback: how an action already steered twice is settled.
data.intent_policies[].idstringObligatoire.
data.intent_policies[].languagestringObligatoire.
data.intent_policies[].learned_casesarray of objectRegression cases accepted from learning proposals (Spec AZ2-6).
data.intent_policies[].measurementobject or nullA measure intent policy's seven-day measurement counts; null otherwise.
data.intent_policies[].messagesobjectObligatoire.
data.intent_policies[].modestringObligatoire.
data.intent_policies[].request_ruleobject or nullA measure intent policy's request rule; null otherwise.
data.intent_policies[].rulesarray of objectObligatoire.
data.intent_policies[].sentencestringObligatoire.
data.intent_policies[].statusstring — one of draft, ratified, droppedObligatoire.
data.intent_policies[].steerobject or nullThe better path an Optimize intent policy steers the agent to; null otherwise.
data.intentsobjectObligatoire. How many of the policy's atoms are actually enforceable.
data.intents.enforceableintegerObligatoire.
data.intents.monitor_onlyintegerObligatoire.
data.intents.totalintegerObligatoire.
data.layerobjectObligatoire. 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.
data.layer.inheritedbooleanObligatoire.
data.layer.labelstringObligatoire.
data.layer.unit_idstringObligatoire.
data.layer.zone_idstringObligatoire.
data.limitsobject or null
data.limits.cannot_promptintegerObligatoire. Agents whose binding cannot prompt: their ASKs take the fallback verdict.
data.limits.in_scopeintegerObligatoire. Agents whose effective zone is in the subtree.
data.limits.shell_onlyintegerObligatoire. Agents whose refusals reach shell tools only (Cline today).
data.modestringObligatoire. Deprecated: attachment_mode at zone_id, else effective_mode.
data.open_edit_draftobject or nullThe AIP's open draft version and who holds it; null when none is open.
data.open_edit_draft.held_byobjectObligatoire.
data.open_edit_draft.public_idstringObligatoire.
data.open_edit_draft.versionintegerObligatoire.
data.presetobject or null
data.preset.application_idstringObligatoire.
data.preset.preset_idstringObligatoire.
data.preset.preset_namestringObligatoire.
data.preset.preset_policy_keystringObligatoire.
data.preset.preset_versionintegerObligatoire.
data.provenanceobjectObligatoire. Where a ratified policy came from and who ratified it, when known.
data.provenance.copied_fromobject or nullThe AIP this one was copied from and its version then; null when not a copy.
data.provenance.presetobject or null
data.provenance.ratified_atstring (date-time) or nullObligatoire.
data.provenance.ratified_bystring or nullObligatoire.
data.provenance.ratified_by_kindstring or nullObligatoire.
data.provenance.rationalestring or nullObligatoire.
data.provenance.source_idstring or nullObligatoire.
data.provenance.source_kindstringObligatoire.
data.provenance.source_namestring or nullObligatoire.
data.public_idstringObligatoire.
data.read_onlyboolean
data.retired_atstring (date-time) or nullObligatoire. When the AIP was deleted; null while it is in force.
data.retired_byobject or nullObligatoire. Who deleted it; null while it is in force.
data.retired_by.kindstring — one of user, api_key, system, migrationObligatoire.
data.retired_by.nameobject or null
data.statementstringObligatoire.
data.statusstringObligatoire.
data.titlestring or nullThe owner's name for the AIP; null falls back.
data.versionintegerObligatoire.
data.versionsarray of object
data.versions[].changestringObligatoire.
data.versions[].ratified_atstring (date-time)Obligatoire.
data.versions[].ratified_by_kindstringObligatoire.
data.versions[].versionintegerObligatoire.
data.viewing_versionintegerObligatoire.
{
"data": {
"activity_7d": {
"anomalies_raised": 0,
"events_evaluated": 0
},
"activity_agent_14d": {
"anomalies_raised": 0,
"events_evaluated": 0
},
"anomalies_7d": 0,
"ask_behaviour_override": "string",
"ask_mode_override": "string",
"attached_here": false,
"attachment_mode": "disabled",
"attachments": [
{
"attached_at": "2026-01-15T14:32:05Z",
"mode": "disabled",
"unit_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"zone_label": "string"
}
],
"coverage": {
"compatibility_unavailable_installs": 3,
"enforced_installs": 3
},
"dimensions": [
"string"
],
"display_title": "",
"dropped_deferred_rules": [
{
"intent_policy_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"rule_key": "string",
"sentence": "string"
}
],
"effective_ask_behaviour": "pass_and_review",
"effective_ask_mode": "both",
"effective_layer": {
"inherited": false,
"label": "string",
"unit_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10"
},
"effective_mode": "disabled",
"generated_title": "string",
"history": [
{
"actor_kind": "string",
"actor_user_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"at": "2026-01-15T14:32:05Z",
"change": "string",
"evidence_ref": "string",
"from_value": "string",
"to_value": "string"
}
],
"home_zone": {
"org_unit_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10"
},
"id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"intent_policies": [
{
"aip_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"aip_public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"aip_version": 3,
"ask_behaviour": "string",
"ask_mode": "string",
"capability": "string",
"citation": {
"edited": false,
"entries": [
{}
],
"items": [
{}
],
"license_url": "https://app.openlatch.ai/",
"preset_key": "string",
"preset_title": "string",
"rule_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"source_commit": "string",
"source_date": "string",
"source_sentence": "string",
"version": 1
},
"decisive": {
"by": {},
"proposal_public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"since": "2026-01-15T14:32:05Z",
"unit_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10"
},
"dimension": "quality",
"exceptions": [
{}
],
"fallback": "Ask",
"id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"language": "string",
"learned_cases": [
{
"action": "string",
"action_line": "string",
"id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"kind": "string",
"outcome": "string",
"reviewed_at": "2026-01-15T14:32:05Z"
}
],
"measurement": {
"guarded": 3,
"incapable": 3,
"shadowed": 3,
"unchanged": 3,
"window_days": 3,
"would_change": 3
},
"messages": {
"declare": "",
"held": "",
"notice": ""
},
"mode": "string",
"request_rule": {
"lever": "effort_clamp",
"params": {}
},
"rules": [
"string"
],
"sentence": "string",
"status": "draft",
"steer": "string"
}
],
"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"
},
"limits": {
"cannot_prompt": 3,
"in_scope": 3,
"shell_only": 3
},
"mode": "string",
"open_edit_draft": {
"held_by": {
"name": "release-bot"
},
"public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"version": 3
},
"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
},
"provenance": {
"copied_from": {
"public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"version": 3
},
"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
},
"ratified_at": "2026-01-15T14:32:05Z",
"ratified_by": "string",
"ratified_by_kind": "string",
"rationale": "string",
"source_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"source_kind": "string",
"source_name": "release-bot"
},
"public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10",
"read_only": false,
"retired_at": "2026-01-15T14:32:05Z",
"retired_by": {
"kind": "user",
"name": "release-bot"
},
"statement": "string",
"status": "string",
"title": "string",
"version": 3,
"versions": [
{
"change": "string",
"ratified_at": "2026-01-15T14:32:05Z",
"ratified_by_kind": "string",
"version": 3
}
],
"viewing_version": 3
}
}