Gallery Platform API
Reference

Set a show's visibility

Sets who can see the show's public page — live on the record now, whoever sends it. Setting `public` publishes the show. Use this, not `PATCH`, to change visibility.

POST
/gallery/shows/{showId}/visibility

Sets who can see the show's public page — live on the record now, whoever sends it. Setting public publishes the show. Use this, not PATCH, to change visibility.

Authorization

bearerAuth shows:update
AuthorizationBearer <token>

A gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).

In: header

Scope: shows:update

Path Parameters

showId*string

The show id.

Query Parameters

dry_run?boolean

Preview this operation without committing it. When true, the request is authenticated, scoped, and validated, but no side effect runs — no write, no idempotency claim, no audit event, no outbound delivery. The response is HTTP 200 with an X-Dry-Run: true header and a body of { "dry_run": true }, plus an effect object describing what the real call would change when this operation can resolve one.

Header Parameters

Idempotency-Key?string

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.

Set a show's visibility — live on the record now.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

{  "id": "string",  "slug": "string",  "show_type": "exhibition",  "title": "string",  "subtitle": "string",  "summary": "string",  "press_release": "string",  "press_embargo_until": "string",  "start_date": "string",  "end_date": "string",  "location_id": "string",  "venue_name": "string",  "art_fair_id": "string",  "booth": "string",  "checklist_list_id": "string",  "cover_image_path": "string",  "cover_url": "string",  "visibility": "public",  "is_cancelled": true,  "metadata": {    "property1": "string",    "property2": "string"  },  "created_at": "string",  "updated_at": "string",  "save_state": "new"}