---
title: "Unarchive an OKR"
method: POST
path: "/okrs/objectives/unarchive"
tags: ["objectives"]
---

# Unarchive an OKR

`POST /okrs/objectives/unarchive`

Returns an archived OKR to the working set, along with the descendants archived in the same action. It rejoins its parents at whatever the current weight split is rather than the one it left with. Descendants the caller cannot manage stay archived, so the response lists what actually moved.

## Request body

- object
  - `uuid` string, required — OKR UUID or human readable short ID (e.g., OBJ-001, KR-001, INIT-001)

## Other responses

- `400` — Bad Request - Invalid parameters or malformed request
- `401` — Unauthorized - Invalid or missing authentication
- `403` — Forbidden - User lacks permission to access this resource
- `404` — Not Found - Resource does not exist
- `422` — Unprocessable Entity - Invalid request parameters or validation errors
- `429` — Too Many Requests - Rate limit exceeded
- `500` — Internal Server Error - Unexpected server error

## Changes

- **2026-09-11** `0c5708fb80ee` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rhythms/apis/rhythms-params-in-body/changes/okrs/objectives/unarchive/post.md)

---

[API](https://skmtc.dev/rhythms/apis/rhythms-params-in-body.md) · [All operations](https://skmtc.dev/rhythms/apis/rhythms-params-in-body/llms.txt) · [OpenAPI document](https://skmtc.dev/rhythms/apis/rhythms-params-in-body/revisions/be444d98d5ff?raw)
