Alignment

Publish or replace the alignment manifest

Accepts YAML (text/yaml, application/yaml) or JSON. Body is the full UnifiedAlignmentCard; server-side composition merges it across the platform → org → team → agent cascade and writes the canonical composed card. Requires Idempotency-Key. Honors an optional If-Match for optimistic concurrency (stale → 412). Body cap 128 KiB. See ADR-008 and ADR-023.

put/alignment/agent/{agent_id}

Request

  • Base URL: https://api.mnemom.ai/v1
  • URL: https://api.mnemom.ai/v1/alignment/agent/{agent_id}
  • Auth: one of:
    • HTTP bearer
    • API key in header X-Mnemom-Api-Key
    • API key in cookie mnemom_session

Path parameters

agent_idstring required

Agent identifier (e.g. smolt-abc123)

Headers

Idempotency-Keystring required

Client-supplied idempotency token. Replays within 24 hours return the stored result. See ADR-023.

If-Matchstring

Optional optimistic-concurrency token. Pass the ETag from a recent GET ("sha256:<hex64>" shape) to make the write conditional: a stale ETag returns 412 Precondition Failed, a malformed one 400. Omit it to publish unconditionally.

Request body

card_versionstring required

Card schema version (required, non-empty). Current canonical value: unified/2026-04-26.

content_versionstring

Optional. Which default content the card carries, e.g. mnemom-agent-default/2.1.0 (semver within a lineage). Distinct from card_version, the schema version. New agents are born with it; composition carries the agent card's value onto the canonical card.

autonomy_mode'off' | 'observe' | 'nudge' | 'enforce' required

ADR-039 master switch for the action-policing pipeline (autonomy constraints). Required at the top level post-cutover; the legacy enforcement.mode location is rejected.

integrity_mode'off' | 'observe' | 'nudge' | 'enforce' required

ADR-039 master switch for the values/conscience pipeline (integrity constraints). Required at the top level post-cutover; the legacy integrity.enforcement_mode location is rejected.

card_idstring

Card row id. Server-assigned on PUT (ac-{uuid}).

agent_idstring required

Target agent id. On PUT, server overwrites to match the URL path.

issued_atstring date-time
expires_atstring date-time nullable
capabilitiesobject
extensionsobject
content_hashstring

Response-only: content hash of the composed card (sha256:<hex>), injected by the GET/PUT response. Server-assigned — do not send on a PUT.

versioninteger

Response-only: monotonic card version, injected by the GET/PUT response. Server-assigned — do not send on a PUT.

Response

Composed canonical card after the write.

card_versionstring required

Card schema version (required, non-empty). Current canonical value: unified/2026-04-26.

content_versionstring

Optional. Which default content the card carries, e.g. mnemom-agent-default/2.1.0 (semver within a lineage). Distinct from card_version, the schema version. New agents are born with it; composition carries the agent card's value onto the canonical card.

autonomy_mode'off' | 'observe' | 'nudge' | 'enforce' required

ADR-039 master switch for the action-policing pipeline (autonomy constraints). Required at the top level post-cutover; the legacy enforcement.mode location is rejected.

integrity_mode'off' | 'observe' | 'nudge' | 'enforce' required

ADR-039 master switch for the values/conscience pipeline (integrity constraints). Required at the top level post-cutover; the legacy integrity.enforcement_mode location is rejected.

card_idstring

Card row id. Server-assigned on PUT (ac-{uuid}).

agent_idstring required

Target agent id. On PUT, server overwrites to match the URL path.

issued_atstring date-time
expires_atstring date-time nullable
capabilitiesobject
extensionsobject
content_hashstring

Response-only: content hash of the composed card (sha256:<hex>), injected by the GET/PUT response. Server-assigned — do not send on a PUT.

versioninteger

Response-only: monotonic card version, injected by the GET/PUT response. Server-assigned — do not send on a PUT.

Changes

No recorded changes to this operation across all 1 revision of this API.