> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blobhub.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Reopen Revision

> Undo a commit: move phase back to draft on the blob's own default revision

Undo a commit. The revision's `phase` moves from `commit` back to `draft`; its `status` is untouched. Sessions
a commit closed **stay closed** — reopening a revision does not reopen its sessions.

## **POST** `/revisions/:id/reopen`

Requires Write access to the revision's blob. Allowed only on the blob's own default revision, committed,
status `ready`. There is no condition on the revision row alone that expresses "is the blob's default" — it
is checked against the blob's `default_revision_id` directly.

### Path Parameters

| Parameter | Type   | Required | Description                    |
| :-------- | :----- | :------- | :----------------------------- |
| `id`      | string | Yes      | The unique ID of the revision. |

### Response

Returns `{"status": "success"}` — no body beyond the status. Synchronous: the phase has already moved when
this answers.

### Errors

| Status | Error                   | Cause                                                                                                                                                                        |
| :----- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 404    | `revision_not_found`    | The id is unknown, or the caller cannot reach its blob.                                                                                                                      |
| 403    | `forbidden`             | The revision's blob is not visible to this key, or the key lacks Write access.                                                                                               |
| 409    | `blob_not_ready`        | The blob is being created or deleted.                                                                                                                                        |
| 409    | `revision_not_ready`    | The revision's status is not `ready` — checked before phase, so this is the answer whenever both are wrong.                                                                  |
| 409    | `revision_not_writable` | The revision's status is `ready` but its phase is not `commit`, or it is not the blob's own default. Also the answer if the revision changed between the read and the write. |

### Example

<CodeGroup>
  ```bash Request theme={null}
  curl -X POST https://api.blobhub.io/v1/revisions/rev_001/reopen \
    -H "X-API-Key: $API_KEY"
  ```

  ```json Response theme={null}
  {
    "status": "success"
  }
  ```
</CodeGroup>

## See also

* [Commit Revision](/rest-api/revisions/commit-revision) — the operation this undoes.
