---
title: "Update one manual or ai readiness item"
method: PATCH
path: "/readiness/projects/{id}/items/{criterionId}"
tags: ["readiness"]
---

# Update one manual or ai readiness item

`PATCH /readiness/projects/{id}/items/{criterionId}`

## Request

- Base URL: `https://api.onplana.com/api`
- URL: `https://api.onplana.com/api/readiness/projects/{id}/items/{criterionId}`
- Auth: one of:
  - HTTP bearer
  - API key in header `Authorization`

Requires project.edit on the project. `naReason` is required when status is NA. An auto criterion is not editable (400 AUTO_CRITERION_NOT_EDITABLE); a criterion that does not apply is 404. Returns the updated ProjectReadinessItem.

## Path parameters

- `id` string, required
- `criterionId` string, required

## Headers

- `X-Organization-Id` string, required

## Request body

- object
  - `status` 'NOT_STARTED' | 'IN_PROGRESS' | 'DONE' | 'NA', required
  - `naReason` string
  - `ownerId` string, nullable

## Response `200`

Updated item

## Other responses

- `400`: Validation error
- `401`: Unauthorized - missing or invalid JWT
- `403`: Forbidden - insufficient role
- `404`: Not found

---

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