Skip to content

Update a draft policy body with manifest_hash or etag concurrency pinning.

PUT
/v1/policies/{policy_version}
policy_version
required
string
>= 1 characters
tenant_id
string
>= 1 characters
environment_id
string
>= 1 characters
object
manifest_hash
string
/^sha256:[a-f0-9]{64}$/
etag
string
>= 1 characters
body
required
object
reason_code
string
/^[a-z0-9_]+$/
reason
string
<= 500 characters
create_new_draft
boolean
new_policy_version
string
>= 1 characters
actor_id

Rejected if supplied; actor is derived from authentication context.

string

Draft updated or new draft created.

object
schema_version
required
policy_version
required
string
>= 1 characters
status
required
string
Allowed values: draft validating published archived rejected
manifest_hash
required
string
/^sha256:[a-f0-9]{64}$/
etag
required
string
>= 1 characters
audit_event_id
required
string | null
validation
required
object
valid
required
boolean
status
required
Allowed values: not_validated valid invalid
checked_at
required
string | null format: date-time
checked_by
required
string | null
rule_count
required
integer
errors
required
Array<object>
object
reason_code
required
string
/^[a-z0-9_]+$/
message
required
string
>= 1 characters
line
required
integer | null
>= 1
column
required
integer | null
>= 1
path
required
string
>= 1 characters

Invalid request or client-supplied actor_id.

Missing policy.write.

Hash mismatch or immutable version update without new draft.

Type set in Geist, Source Serif 4, and Departure Mono.