---
title: "Review Board Action"
method: POST
path: "/dashboard/review-board/runs/{run_id}/tasks/{task_id}/review"
---

# Review Board Action

`POST /dashboard/review-board/runs/{run_id}/tasks/{task_id}/review`

Record an operator board decision as a chained, signed receipt.

The scope gate is enforced upstream by the dashboard-auth middleware
(operator scope required for this write); the acting principal arrives on
``request.state.dashboard_principal``. The decision row is appended via
``EventJournal.resume`` so it chains onto the verified journal tail and
fails closed on a poisoned chain (``409``).

## Path parameters

- `run_id` string, required
- `task_id` string, required

## Request body

- ReviewActionRequest — Body of a board review action (approve / request-changes / merge).
  - `decision` string, required
  - `note` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/sipyourdrink-ltd/apis/bernstein-task-server.md) · [All operations](https://skmtc.net/sipyourdrink-ltd/apis/bernstein-task-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sipyourdrink-ltd/bernstein-task-server/revisions/c731d9228f03/schema)
