Gallery Platform API
Reference

Update an artwork list

Updates a list's title, kind, visibility, description, cover image, room toggles, per-room theme, audience, or access gate (email / room passcode).

PATCH
/gallery/lists/{listId}

Updates a list's title, kind, visibility, description, cover image, room toggles, per-room theme, audience, or access gate (email / room passcode).

Authorization

bearerAuth artworks:update
AuthorizationBearer <token>

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

In: header

Scope: artworks:update

Path Parameters

listId*string

The list id.

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.

Update a list's title, kind, visibility, description, cover image, room toggles, per-room theme, audience, or access gate.

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",  "title": "string",  "description": "string",  "kind": "viewing_room",  "visibility": "public",  "is_dynamic": true,  "dynamic_query": {    "property1": null,    "property2": null  },  "show_prices": true,  "show_status": true,  "show_location": true,  "allow_purchase": true,  "cover_image_path": "string",  "cover_url": "string",  "theme_overrides": {    "accent_color": "string",    "background_color": "string",    "text_color": "string",    "font_family": "sans",    "layout": "grid"  },  "brand_logo_storage_path": "string",  "brand_logo_url": "string",  "metadata": {    "property1": "string",    "property2": "string"  },  "access": {    "audience_kind": "public",    "audience_contact_id": "string",    "audience_contact_list_id": "string",    "audience_label": "string",    "require_email": true,    "email_gate_mode": "collect",    "has_passcode": true  },  "created_at": "string",  "updated_at": "string"}