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.

PATCH
/v1/contacts/{id}

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.

x-api-key<token>

In: header

Path Parameters

id*string
Match^contact_[0-9a-hjkmnp-tv-z]{16,24}$

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

name?string|null
displayName?string|null|null
avatar?string|null|null
profile?|null
preferences?|null|null
status?|null
statusReason?string|null|null
externalId?string|null|null
metadata?|null

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"}

Related documentation