---
title: "Replace a project file's design-check decisions"
method: PUT
path: "/api/v0/desk/projects/{project_id}/review"
tags: ["Desk"]
---

# Replace a project file's design-check decisions

`PUT /api/v0/desk/projects/{project_id}/review`

## Request

- Base URL: `https://api.outerport.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.outerport.com/api/v0/desk/projects/{project_id}/review`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/outerport/apis/outerport-api/docs/api/v0/desk/projects/:project_id/review/put.ts> (a function with typed inputs; its response is checked against the schema)

Writes ``rows`` as the file's decisions when they are still at ``expected_version``, and answers them at the next version. Anything else answers 409: another tab or member wrote first, and the caller reads the current rows, reconciles again, and retries.

## Path parameters

- `project_id` string, uuid, required

## Request body

- DeskReviewWriteRequest: Replace a file's decisions, if they are still at ``expected_version``. A client reconciles against the version it read and, on 409, reads again and reconciles again.
  - `path` string, required
  - `expected_version` integer, required
  - `rows` DeskReviewRow[], required
    - `documentName` string, required
    - `code` string, required
    - `objectId` string, required
    - `status` string, required
    - `waiveReason` string, nullable
    - `firstSeenAt` integer, required
    - `lastSeenAt` integer, required
    - `updatedAt` integer, required

## Response `200`

Successful Response

- DeskReviewResponse: A file's design-check decisions and their version. ``version`` is 0 for a file with nothing recorded.
  - `path` string, required
  - `version` integer, required
  - `rows` DeskReviewRow[], required
    - `documentName` string, required
    - `code` string, required
    - `objectId` string, required
    - `status` string, required
    - `waiveReason` string, nullable
    - `firstSeenAt` integer, required
    - `lastSeenAt` integer, required
    - `updatedAt` integer, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-26** `07854361a13b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/outerport/apis/outerport-api/changes/api/v0/desk/projects/:project_id/review/put.md)

---

[API](https://skmtc.dev/outerport/apis/outerport-api.md) - [All operations](https://skmtc.dev/outerport/apis/outerport-api/llms.txt) - [OpenAPI document](https://skmtc.dev/outerport/apis/outerport-api/revisions/08b5bf6f7f18?raw)
