Publish or replace the protection manifest
Accepts YAML (text/yaml, application/yaml) or JSON. Body is the full UnifiedProtectionCard; server-side composition merges it across the platform → org → team → agent cascade and writes the canonical composed card. Requires Idempotency-Key. Body cap 128 KiB. See ADR-008 and ADR-023.
Authorizations
Supabase JWT token in Authorization: Bearer header
Headers
Client-supplied idempotency token. Replays within 24 hours return the stored result. See ADR-023.
1 - 128Path Parameters
Always default — the platform scope is a singleton; any other value returns 400 with care-framed guidance pointing at default.
default Body
Unified protection card (ADR-037). Safe House thresholds + trusted-source policy for a single agent. Shape matches src/composition/types.ts::UnifiedProtectionCard (canonical) and what the runtime validator at src/composition/validate.ts accepts. The customer-facing docs at /concepts/protection-card and /specifications/protection-card-schema document this same shape.
Strictest-wins composition: enforce > nudge > observe > off.
off, observe, nudge, enforce Score bands. Must satisfy warn <= quarantine <= block; each value in [0, 1].
Which request surfaces Safe House inspects. Composed across scopes by OR-per-field (any scope requiring inspection wins).
Sources for which detectors short-circuit (each match logged in the trace). Composed as platform->agent intersection (compliance ceiling) with org+agent union inside that ceiling — an agent cannot widen trust beyond what the platform allows.
Free-form extension slot for non-canonical fields. Ignored by the composer; preserved on read for tooling that needs an audit-tail metadata bag.
System-managed block describing which scope sources merged into the canonical card. Only returned when ?include_composition=true.
Response
Composed canonical card after the write.
Unified protection card (ADR-037). Safe House thresholds + trusted-source policy for a single agent. Shape matches src/composition/types.ts::UnifiedProtectionCard (canonical) and what the runtime validator at src/composition/validate.ts accepts. The customer-facing docs at /concepts/protection-card and /specifications/protection-card-schema document this same shape.
Strictest-wins composition: enforce > nudge > observe > off.
off, observe, nudge, enforce Score bands. Must satisfy warn <= quarantine <= block; each value in [0, 1].
Which request surfaces Safe House inspects. Composed across scopes by OR-per-field (any scope requiring inspection wins).
Sources for which detectors short-circuit (each match logged in the trace). Composed as platform->agent intersection (compliance ceiling) with org+agent union inside that ceiling — an agent cannot widen trust beyond what the platform allows.
Free-form extension slot for non-canonical fields. Ignored by the composer; preserved on read for tooling that needs an audit-tail metadata bag.
System-managed block describing which scope sources merged into the canonical card. Only returned when ?include_composition=true.