Gallery Platform API
Reference

Update a contact

Updates a contact's base fields and/or its sub-profile.

PATCH
/gallery/contacts/{id}

Updates a contact's base fields and/or its sub-profile.

Authorization

bearerAuth contacts:update
AuthorizationBearer <token>

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

In: header

Scope: contacts: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 a contact's base fields and/or sub-profile.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

{  "id": "string",  "contact_type": "collector",  "name": "string",  "company": "string",  "email": "string",  "phone": "string",  "notes": "string",  "assignee_ids": [    "string"  ],  "lead_status": "new",  "form_of_address": "string",  "do_not_email": true,  "archived_at": "string",  "created_at": "string",  "updated_at": "string",  "custom_fields": {    "property1": null,    "property2": null  },  "collector_profile": {    "collecting_focus": "string",    "budget_band": "string",    "wishlist_notes": "string",    "preferred_contact_method": "string",    "vip": true,    "tax_exempt": true,    "created_at": "string",    "updated_at": "string"  },  "institution_profile": {    "institution_kind": "string",    "tax_exempt": true,    "acquisition_process": "string",    "primary_contact_name": "string",    "created_at": "string",    "updated_at": "string"  },  "metadata": {    "property1": "string",    "property2": "string"  }}