putty
API ReferenceArtifacts

The caller's showcase entries

Every entry the authenticated creator owns, newest first, in **any** status — draft, published, and withdrawn alike. This is the only route that can see a draft, and it is scoped to the caller by an owner filter in the query. A creator's unpublished work is invisible to every other account, and the public listing has no owner dimension through which it could leak.

GET
/showcase/entries

Every entry the authenticated creator owns, newest first, in any status — draft, published, and withdrawn alike. This is the only route that can see a draft, and it is scoped to the caller by an owner filter in the query. A creator's unpublished work is invisible to every other account, and the public listing has no owner dimension through which it could leak.

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

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/showcase/entries"
{  "entries": [    {      "id": "string",      "ownerId": "string",      "slug": "string",      "kit": "business",      "title": "string",      "summary": "string",      "projectUrl": "string",      "chain": "ethereum",      "token": "string",      "status": "draft",      "templateOptIn": true,      "remixCount": 0,      "publishedAt": "string",      "createdAt": "string",      "updatedAt": "string"    }  ]}

Mint one edition POST

Mints one edition of a drop. Which of two things happens depends on the drop's price, and the response tells you which: **A free drop (`priceUsd` "0.00") is minted immediately.** The response is a `FreeMintResponse`: the edition that was claimed, the drop's supply after the claim, and the drop itself. The edition number is assigned by the server and is unique within the drop. **A paid drop opens a checkout and is NOT yet minted.** The response is a `MintCheckoutResponse` carrying `checkoutUrl`, the amount, and the `payTo` address the payment settles to. The edition is claimed when the payment provider reports the payment settled, so a collector who abandons the page has not taken an edition off the shelf. `payTo` is **the creator's own address** — putty never holds a creator's takings, and there is no deployment address this route can fall back to. A mint against a drop with nothing left is a 409 with code `sold_out`. The supply check and the claim are one atomic operation, so two collectors racing for the last edition cannot both get it: one is served and one is refused.

Create a showcase entry POST

Create a showcase entry for the authenticated creator, as a **draft**. A draft is not public and is not listed. Call `POST /showcase/entries/{entryId}/publish` to opt in. Nothing about an entry is public until the creator says so (§6.3: "Showcase, badge, Spotlight — everyone who opts in, gate: none"), and that is why creation and publication are two calls rather than one. The `slug` is derived from the title and made unique with a numeric suffix when taken, so two creators can both make a "Coffee Shop". The slug is assigned once and never changes — including after a withdrawal — so a link that was shared can never silently resolve to a different project.