---
title: "Unarchive a project"
method: POST
path: "/readiness/projects/{id}/unarchive"
tags: ["readiness"]
---

# Unarchive a project

`POST /readiness/projects/{id}/unarchive`

## Request

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

The same people as archive. Clears archivedAt and archivedById (409 NOT_ARCHIVED when it is not archived). The closeout is left as it was; reopening the project afterwards is what resets it to DRAFT. Audited as PROJECT_UNARCHIVED. Returns the archive state body.

## Path parameters

- `id` string, required

## Headers

- `X-Organization-Id` string, required

## Response `200`

The archive state

## Other responses

- `400`: Validation error
- `401`: Unauthorized - missing or invalid JWT
- `403`: Forbidden - insufficient role
- `404`: Project not found or not readable
- `409`: NOT_ARCHIVED

---

[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)
