putty
API ReferenceArtifacts

Read one drop

The drop's current record: its brand kit, its supply accounting, its price, and its mint page URL. A drop belonging to another creator answers with the same 404 as one that does not exist.

GET
/creator/drops/{dropId}

The drop's current record: its brand kit, its supply accounting, its price, and its mint page URL. A drop belonging to another creator answers with the same 404 as one that does not exist.

Authorization

bearerAuth
AuthorizationBearer <token>

A bearer token. The Account routes accept a Privy access token; the MCP transport accepts an sk- API key issued by POST /account/api-keys.

In: header

Path Parameters

dropId*string

The drop's id. The last segment of its public mint-page URL.

Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/creator/drops/string"
{  "id": "string",  "name": "string",  "symbol": "string",  "description": "string",  "brandKitId": "string",  "brand": {    "id": "string",    "name": "string",    "tagline": "string",    "palette": {      "property1": "string",      "property2": "string"    },    "fonts": {      "heading": {        "family": "string",        "weights": [          0        ]      },      "body": {        "family": "string",        "weights": [          0        ]      }    }  },  "imageUrl": "string",  "priceUsd": "string",  "creatorAddress": "string",  "status": "draft",  "supply": {    "supply": 0,    "minted": 0,    "remaining": 0,    "soldOut": true  },  "mintPageUrl": "string",  "createdAt": "string",  "updatedAt": "string"}

Create a drop POST

Registers a drop: a collection rendered with one of your brand kits, with a fixed supply and a price per edition. **The drop renders with your brand kit; it does not copy it.** `brandKitId` must be a kit you own, and the drop reads its colours and fonts from that kit on every render — so editing the brand edits every drop that renders with it. A kit id belonging to another creator is refused with the same answer as one that does not exist, so this route cannot be used to find out whose kits exist. **`supply` is fixed here and can never be changed.** Every buyer of an edition was promised a collection of a given size, and a collection that grows after the fact is not that. **A drop priced above zero needs `creatorAddress` — your own wallet.** putty never holds a creator's takings: the address is handed to the payment provider so the money goes from the collector straight to you. There is no default address and no fallback, so a paid drop with no address is refused rather than quietly pointed somewhere putty controls. A `priceUsd` of "0.00" is a free mint and needs no address.

Change a drop PATCH

Updates the fields named in the body and leaves the rest alone. **`supply` is not in this schema and cannot be changed.** A drop that has sold editions cannot change how many editions exist. The merged result is validated as a whole, not field by field: clearing `creatorAddress` on a drop priced above zero is refused with a 409, because a paid drop with nowhere to send the money is a checkout that takes a collector's payment and loses it. Setting `status` to `live` publishes the mint page; setting it back to `draft` unpublishes it, which is how a creator pulls a drop without deleting it.