---
title: "Read-only optimizer workflow: save_review"
method: POST
path: "/workflow/save_review"
---

# Read-only optimizer workflow: save_review

`POST /workflow/save_review`

## Request

- Base URL: `https://api.gravityads.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gravityads.dev/workflow/save_review`
- Auth: HTTP bearer

## Request body

- object
  - `run_id` string, required
  - `revision` integer, required
  - `plan` Local2ReviewPlan, required
    - `conclusion` string, required
    - `outcomes` Local2ReviewOutcome[]
      - `metric` string, required
      - `value` number, nullable
      - `unit` string, required
      - `source` string, required
      - `missing_reason` string
    - `priorities` Local2ReviewPriority[]
      - `decision` 'stop' | 'start' | 'continue', required
      - `action` string, required
      - `owner` string, required
      - `due_date` string, required
      - `rationale` string, required
      - `evidence_steps` string[], required
    - `no_change_reason` string

## Response `200`

Authorized workflow state; no platform writes

- object

## Other responses

- `400`: Invalid workflow request
- `403`: Access denied

---

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