Update a contact
Updates the fields you name and keeps the rest. `metadata` merges into the stored metadata by key, and a `null` value deletes that key.
Updates the fields you name and keeps the rest. metadata merges into the stored metadata by key, and a null value deletes that key. profile replaces each field it names and null clears one; its customFields merge by key the same way. Identities and tags are not updated here: use POST /v1/contacts/{id}/identities, DELETE /v1/contacts/{id}/identities/{identityId}, POST /v1/contacts/{id}/tags, and DELETE /v1/contacts/{id}/tags.
Authorization
apiKey In: header
Path Parameters
^contact_[0-9a-hjkmnp-tv-z]{16,24}$Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/contacts/string" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "name": "string", "displayName": "string", "avatar": "string", "status": "active", "statusReason": "string", "externalId": "string", "identities": [ { "id": "string", "channel": "email", "identifier": "string", "verified": true } ], "profile": { "firstName": "string", "lastName": "string", "company": "string", "jobTitle": "string", "location": { "country": "string", "state": "string", "city": "string", "timezone": "string" }, "customFields": { "property1": "string", "property2": "string" }, "source": "api" }, "preferences": { "preferredChannels": [ "email" ], "language": "string", "timezone": "string", "notifications": { "email": true, "quiet_hours": { "start": "string", "end": "string" } } }, "tags": [ "string" ], "metadata": {}, "createdAt": "string", "updatedAt": "string"}