Update a contact
Updates a contact's base fields and/or its sub-profile. For a member, edits accumulate in the working draft until the next save; for an API key or an installed app, they land on the record. Pass `draft` to choose; `applied_to` in the response says where the write went.
Updates a contact's base fields and/or its sub-profile. For a member, edits accumulate in the working draft until the next save; for an API key or an installed app, they land on the record. Pass draft to choose; applied_to in the response says where the write went.
Authorization
bearerAuth contacts:update, gallery:readA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: contacts:update, gallery:read
Path Parameters
The contact id.
Query Parameters
Where the write lands. true: the working draft (a member's default). false: the record itself, reconciling any pending draft (a key's default). Omit for the principal's default.
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
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" ], "last_interaction_at": "string", "last_interaction_type": "note", "lead_status": "new", "form_of_address": "string", "do_not_email": true, "archived_at": "string", "created_at": "string", "updated_at": "string", "save_state": "new", "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" }, "applied_to": "draft"}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}A contact's unified activity timeline GET
Returns a single time-ordered union of the contact's activity — logged interactions (which already fold in offer sends and viewing-room visits) and their transactions — newest first, with cursor pagination.
List contact versions GET
Lists the contact's save history, newest first, with cursor pagination.