---
title: "List a drop's versions"
method: GET
path: "/drops/{slug}/versions"
---

# List a drop's versions

`GET /drops/{slug}/versions`

## Request

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

The 20 most recent published versions, newest first. Empty for drops without version history; listing never opens the drop in the editor.

## Response `200`

Versions.

- object
  - `versions` EditorRevision[], required
    - `id` string, required
    - `number` integer, required
    - `title` string, nullable, required
    - `source` 'editor' | 'api' | 'mcp' | 'restore' | 'import', required
    - `created_at` string, date-time, required
    - `bytes` integer, required
    - `file_count` integer, required
    - `live` boolean, required
    - `changes` object, required
      - `added` integer
      - `modified` integer
      - `deleted` integer

## Other responses

- `401`: Missing or invalid credential.
- `404`: Not found (also returned for resources owned by someone else).
- `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/get.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)
