put_protection_by_agent
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. Hon...
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Screening mode for the protection pipeline. Required. `off` disables screening; `observe` records only; `nudge` warns; `enforce` blocks. | |
| agent_id | Yes | The agent this card belongs to (e.g. `smolt-abc123`). Identifier only — never place an API key, a secret, an email address, or any other personal data in this field. | |
| thresholds | No | Risk-score cutoffs, each in [0, 1] and ordered warn ≤ quarantine ≤ block. All three are required if this object is sent at all — omit the whole object to accept the composed defaults. | |
| card_version | Yes | Card schema version. REQUIRED by the server-side validator. Current canonical value: `protection/2026-04-26`. | |
| screen_surfaces | No | Which traffic surfaces are screened. Omit to accept the composed defaults. | |
| trusted_sources | No | Sources exempt from screening. Enumerate specific hosts — wildcards are rejected, and a server-side deny-list (public LLM/DNS endpoints, 0.0.0.0/0, ::/0, link-local, multicast) is always applied. | |
| protected_surface | No | The assets and operations this agent must protect. Omit to accept the composed default (empty surface). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | Always true on successful storage (errors return non-200 status). | |
| card_id | Yes | Card ID (pc-{uuid}) of the stored protection card. | |
| issued_at | Yes | ISO 8601 timestamp when the card was issued/stored. |