Create a publication
Creates a publication in the gallery. A supplied price writes the gated pricing sibling; `published: true` sets its published_at.
Creates a publication in the gallery. A supplied price writes the gated pricing sibling; published: true sets its published_at.
Authorization
bearerAuth publications:createA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: publications:create
Header Parameters
Optional. Send a unique key per logical operation to make retries safe: a retry with the same key replays the stored success for 14 days instead of re-running the write. Reusing a key with a different body returns 400.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Create a publication.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "id": "string", "title": "string", "subtitle": "string", "publisher": "string", "isbn": "string", "editor": "string", "author": "string", "page_count": -9007199254740991, "publication_year": -9007199254740991, "dimensions_text": "string", "inventory_number": "string", "description": "string", "stock_quantity": -9007199254740991, "availability_state": "available", "cover_image_path": "string", "published_at": "string", "visibility": "public", "show_price_publicly": true, "price_cents": -9007199254740991, "currency": "string", "metadata": { "property1": "string", "property2": "string" }, "created_at": "string", "updated_at": "string"}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}Mint a signed publication cover-image upload URL POST
Returns a one-time signed target for uploading a publication's cover image directly to Storage. The server derives the gallery-scoped object key; the client uploads the bytes, then sets it via PATCH /gallery/publications/{id} with `cover_image_path`. Requires a first-party session.
Delete a publication DELETE
Permanently deletes a publication.