---
title: "Make a past version live again (Pro/Team)"
method: POST
path: "/drops/{slug}/versions/{id}/restore"
---

# Make a past version live again (Pro/Team)

`POST /drops/{slug}/versions/{id}/restore`

## Request

- Base URL: `https://ship.page`
- URL: `https://ship.page/drops/{slug}/versions/{id}/restore`
- Auth: HTTP bearer

Publishes the version's files as a new live version with source restore. The expiry and any open editor draft stay as they are. Retrying with the same idempotency_key returns the first result; when the version's files equal the live ones, the live version comes back unchanged.

## Request body

- object
  - `idempotency_key` string, uuid, required

## Response `200`

The live version.

- object
  - `version` object, required
    - `id` string, required
    - `number` integer, required
  - `url` string, uri, required

## Other responses

- `400`: Bad request — unparseable body, bad paths, invalid ttl/name, per-request file cap, invalid zip.
- `401`: Missing or invalid credential.
- `402`: Subscriber-gated feature on a free account. The body's `hint` and `upgrade_url` tell the user how to upgrade.
- `404`: Not found, also for drops without version history and versions that were never live or are no longer kept.
- `409`: already_live: this version is the live one. busy: another publish is going live, retry after Retry-After. missing: some of the version's files are no longer stored.
- `410`: The drop has expired (expired).
- `429`: Rate limited. Back off per the Retry-After header (60s).
- `451`: The drop was taken down (blocked).
- `503`: Required backend unavailable. Password creation and rotation fail closed when billing cannot be verified; retry later.

## Changes

- **2026-10-20** `99aad34506e8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ship/apis/ship-page/changes/drops/:slug/versions/:id/restore/post.md)

---

[API](https://skmtc.dev/ship/apis/ship-page.md) · [All operations](https://skmtc.dev/ship/apis/ship-page/llms.txt) · [OpenAPI document](https://skmtc.dev/ship/apis/ship-page/revisions/99aad34506e8?raw)
