---
title: "Run reviewer agents against the head revision"
method: POST
path: "/reports/{id}/review"
tags: ["Reviews"]
---

# Run reviewer agents against the head revision

`POST /reports/{id}/review`

## Request

- Base URL: `https://commareports.com/api/v1`
- URL: `https://commareports.com/api/v1/reports/{id}/review`
- Auth: HTTP bearer

Manually trigger a single reviewer (`reviewer_id`) or every enabled reviewer for this report. Owner only (403 otherwise); 409 if the report has no revisions yet. Body is optional. Scope: `reports:write`.

## Request body

- object
  - `reviewer_id` string, uuid

## Response `200`

Per-reviewer run outcomes.

- object
  - `runs` ReviewRun[], required
    - `reviewer_id` string, uuid, required
    - `ok` boolean, required
    - `comments_created` integer
    - `error` string, nullable

## Other responses

- `400`: Malformed body or invalid field.
- `401`: Missing, invalid, revoked, or expired token.
- `403`: Token missing the required scope, or no access to the resource.
- `404`: Resource not found (also returned instead of 403 where existence must not leak).
- `409`: Report has no revisions yet.
- `429`: Rate limit exceeded. Rate limit: per-token sliding window (plan-aware — Free 60 req/min, Pro 600, Team/Enterprise 6000 by default); 429 responses carry a Retry-After header.
- `500`: Unexpected server error.

---

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