---
title: "Set or rotate a drop password (Pro/Team)"
method: PUT
path: "/drops/{slug}/password"
---

# Set or rotate a drop password (Pro/Team)

`PUT /drops/{slug}/password`

## Request

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

Owner-only; requires an active paid Pro/Team subscription. Billing degradation returns 503 without changing protection. Passwords are never returned. Changing access cannot recall content already downloaded or copied.

## Request body

- PasswordBody
  - `password` string, required: 8-128 Unicode characters, at most 512 UTF-8 bytes. Never put passwords in URLs.

## Response `200`

Password set or rotated.

- PasswordResponse
  - `slug` string, required
  - `password_protected` boolean, 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 returned for resources owned by someone else).
- `429`: Rate limited. Back off per the Retry-After header (60s).
- `503`: Required backend unavailable. Password creation and rotation fail closed when billing cannot be verified; retry later.

## Changes

- **2026-10-20** `99aad34506e8`: 84 warning
  - added the new `already_live` enum value to the `code` response property for the response status `400`
  - added the new `already_live` enum value to the `code` response property for the response status `401`
  - added the new `already_live` enum value to the `code` response property for the response status `402`
  - added the new `already_live` enum value to the `code` response property for the response status `404`
  - …80 more

[Operation history](https://skmtc.dev/ship/apis/ship-page/changes/drops/:slug/password/put.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)
