approvals

Get Approval Review

What a human reviewer needs to decide, in one call.

The review payloads and the chain's freshness rules already existed and had no HTTP surface, so the approvals canvas could only ever show a step NAME — a person clicking Approve on "Audience review" was approving a word. This resolves the same facts the pipeline itself will use.

Every fact here comes from the modules that already own it: resolve_policy for progress, policy_steps for the chain and each step's kind, _decisions for who signed what (decision rows are ONLY those carrying context.decision_for; the queue anchor is not a decision), stale_steps for what changed after it was approved, and review_payload for the step's subject. Nothing is re-queried here, because a second query over the approvals table is how this codebase has repeatedly lost a hard-won predicate.

Read-only. Tenant-scoped by _load: an approval belonging to another business unit 404s rather than leaking its existence.

get/api/approvals/{approval_id}/review

Request

  • Base URL: https://app.sentientmail.com (the document declares no server; this is the origin it was published from)
  • URL: https://app.sentientmail.com/api/approvals/{approval_id}/review
  • Auth: none declared

Path parameters

approval_idstring uuid required

Query parameters

stepinteger nullable

Which chain step's review payload to return. Defaults to the step currently open for decision.

Cookies

esp_sessionstring nullable

Response

Successful Response

object required

Changes

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