Skip to main content
GET
Get a single review-hold lifecycle row by id

Authorizations

X-Mnemom-Agent-Proof
string
header
required

Agent possession proof: the full SHA-256 hex digest of ${apiKey}|${agentName} (or ${apiKey} for an unnamed singleton agent) — the same hash_proof primitive used by POST /v1/agents claim, link-agent, and verify-binding. The server resolves the agent by agent_hash = proof[:16]. The agent's own identity (ADR-API-001 third auth class) — distinct from ApiKeyAuth (X-Mnemom-Api-Key, which resolves a user/account, not an agent).

Path Parameters

review_id
string
required

Response

The review-hold lifecycle row.

A Safe House review-hold lifecycle row, as read by GET /v1/safe-house/reviews[/{review_id}] (Task A1/A2, canonical-consumer plan). This is the reconcile/backfill ("pull, truth") leg of the review-hold lifecycle — the same shape delivered live via the sh.review.* webhook ("push, latency"). Reflects the already-attested screen.review jsonb off safe_house_decisions; this API never writes to that table.

review_id
string
required
status
enum<string>
required
Available options:
pending,
allowed,
denied,
expired
surface
enum<string>
required
Available options:
incoming,
tool_call,
tool_response
verdict
string
required

The reconciled verdict on the ruling safe_house_decisions row.

reason
string | null
required
reviewer_model
string | null
required

Pinned reviewer model, e.g. claude-opus-4-8, when the review was adjudicated.

triggered_at
string<date-time> | null
required
resolved_at
string<date-time> | null
required
turn_index
integer | null
required