---
title: "Approve or reject a review-required proposal"
method: POST
path: "/proposals/review"
tags: ["proposals"]
---

# Approve or reject a review-required proposal

`POST /proposals/review`

## Request

- Base URL: `https://catalyst.stratogenic.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://catalyst.stratogenic.ai/proposals/review`
- Auth: API key in header `X-API-Key`

Records a human reviewer decision on a proposal tagged #review-required.

- approve: removes the #review-required block; proposal can now be accepted.
- reject: marks the proposal #review-rejected and records in ledger.

## Headers

- `X-User-Id` string, nullable
- `X-Source-App` string, nullable
- `X-Touched-By-Tool` string, nullable
- `X-Touched-By-User` string, nullable
- `X-Touched-By-Agent` string, nullable
- `X-External-User-Id` string, nullable
- `X-Run-Id` string, nullable

## Request body

- ProposalReviewPayload
  - `proposal_id` string, required
  - `decision` string, required
  - `reviewer_id` string, nullable
  - `reason` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `404`: Proposal not found in the tenant's proposal queue.
- `422`: Invalid decision value â€” must be 'approve' or 'reject'.

---

[API](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api.md) · [All operations](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api/revisions/ad906ad7a85d?raw)
