Gallery Platform API
Reference

Update an artist

Updates an artist's editable fields (name, filing name, biography, statement, CV, socials, published contact). Only the fields you pass change.

PATCH
/gallery/artists/{id}

Updates an artist's editable fields (name, filing name, biography, statement, CV, socials, published contact). Only the fields you pass change.

Authorization

bearerAuth artists:update
AuthorizationBearer <token>

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

In: header

Scope: artists:update

Path Parameters

id*string

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.

Update an artist's editable fields (only supplied keys change).

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

{  "id": "string",  "name": "string",  "sort_name": "string",  "nationality": "string",  "birth_year": -9007199254740991,  "death_year": -9007199254740991,  "biography": "string",  "website_url": "string",  "pronouns": "string",  "birthplace": "string",  "based_in": "string",  "statement": "string",  "cv_url": "string",  "socials": {    "property1": "string",    "property2": "string"  },  "public_email": "string",  "public_phone": "string",  "visibility": "private",  "created_at": "string"}