putty
API ReferenceArtifacts

Who remixed one of the caller's entries

The remix records for one entry the authenticated creator owns, newest first. Each record names who built on the work and how many credits it earned the author. A foreign or missing entry id answers 404, so this cannot be used to learn that someone else has published a remixed project.

GET
/showcase/entries/{entryId}/remixes

The remix records for one entry the authenticated creator owns, newest first. Each record names who built on the work and how many credits it earned the author. A foreign or missing entry id answers 404, so this cannot be used to learn that someone else has published a remixed project.

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

entryId*string

The entry's surrogate id, from POST /showcase or GET /showcase/entries. Not a public identity.

Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/showcase/entries/string/remixes"
{  "remixes": [    {      "id": "string",      "entryId": "string",      "authorId": "string",      "remixerId": "string",      "creditsGranted": 0,      "createdAt": "string"    }  ],  "remixCount": 0}

Opt an entry out of the public showcase POST

Withdraw one entry the authenticated creator owns. It stops being listed, its page and badge stop resolving, and its slug is retired **permanently** — it is never handed to another entry, so a link that used to work can never resolve to different content later. This is the creator's right and needs no justification, which is why there is no second factor and no reason parameter: an opt-out that can be argued with is not an opt-out.

Remix a published showcase entry POST

Record that the authenticated caller has built on a published entry, and pay its author a credit grant from the existing credit ledger. **A bearer token is required**, and not only for the usual reasons: this call *moves credits* to another account. An unauthenticated POST that pays someone is a payout endpoint, so the loop is authenticated end to end. It succeeds only when the entry is published, its author has opted in as a remix template, and the caller is not the author. Every refusal answers 409 and **records nothing**: no remix row, no counter movement, no credit. That is what stops the public "remixed N times" number from being inflatable by anyone who can POST. How much the author earns is **configuration, not a constant** (`GROWTH_REMIX_AUTHOR_CREDITS`, in credits where 1 credit = $0.01), because the plan fixes no amount — it only says the author "earns credits". At the default of 0 the remix is still recorded and the author still sees who built on their work, but `creditsGranted` is `null` and no credits move, so the loop is wired without a number nobody agreed to. Set the variable and the same call pays. The record is written before the credit is granted. If the grant then fails, the remix stands (it happened) with its credit unmade and visible, which is recoverable; the other order could pay for a remix that never recorded, which is not.