Skip to contentDevelopersPrezly website
Contacts

Update a contact

Change selected fields on a known CRM contact.

Personal token scopes: contacts:write. Your account must also have access to the requested data. Authentication

Omitted fields remain unchanged; supplied collections replace their previous values. Contact type cannot be changed.

Read the guide

PATCH
/contacts/{id}

Personal access tokens: contacts:write. Every listed scope is required; the token owner's permissions, feature availability and newsroom access still apply.

Authorization

API_key
headerAuthorizationBearer <token>

Bearer authentication using an integration API key, or a personal access token only where the operation explicitly supports it. Every listed personal-token scope is required; owner permissions and newsroom access still apply.

Path Parameters

id*string

Request Body

application/json
  1. body

Partial update of an existing contact. Contact type is immutable. Only fields supported for its existing type are accepted. Omitted fields remain unchanged; supplied collections replace their previous values. +tags and -tags add and remove tags separately.

first_name?string

Only available when contact_type is "person".

last_name?string

Only available when contact_type is "person".

company_name?string

Required when contact_type is "organisation".

gender?string

Only available when contact_type is "person".

Value in"male""female""unspecified"
function_name?string

Only available when contact_type is "person".

organisations?array<|>

Only available when contact_type is "person". It can be either list of organisation names or list of contact IDs.

avatar_image?|

JSON-encoded Uploadcare image metadata, not a parsed image object. Send null to clear the avatar.

languages?array<>
emails?array<>
phone_numbers?array<>
urls?array<string>
social_accounts?array<>
tags?array<|>
periodicity?string
Value in"daily""weekdays""weekly""bi-weekly""monthly""bi-monthly""quarterly""annually""bi-annually""semi-annually"
medium_types?array<>
salutation?string
custom_fields?

Only the literal custom_value key is writable; arbitrary field names are rejected. Requires the account custom-value feature.

address?
+tags?array<string|integer>
-tags?array<string|integer>
domain?|

Organisation contacts only.

Response Body

OK

application/json
  1. response
contact*
Example Request
curl -X PATCH 'https://api.prezly.com/v2/contacts/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response200
{  "contact": {    "id": 0,    "contact_type": "person",    "is_person": true,    "is_deleted": true,    "salutation": "string",    "custom_fields": {      "property1": "string",      "property2": "string"    },    "company_name": "string",    "first_name": "string",    "last_name": "string",    "gender": "string",    "display_name": "string",    "avatar_url": "string",    "avatar_image": {      "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",      "version": 0,      "filename": "string",      "mime_type": "string",      "size": 0,      "original_width": 0,      "original_height": 0,      "effects": [        "string"      ]    },    "bio": "string",    "primary_email": "user@example.com",    "emails": [      "user@example.com"    ],    "phone_numbers": [      {        "type": "cell",        "number": "string"      }    ],    "social": [      {        "type": "bluesky",        "username": "string"      }    ],    "urls": [      "http://example.com"    ],    "function_name": "string",    "periodicity": "daily",    "medium_types": [      "wire"    ],    "address": {      "street": "string",      "number": "string",      "box": "string",      "zip": "string",      "city": "string",      "region": "string",      "country": "string"    },    "address_text": "string",    "coverage_number": 0,    "last_coverage_at": "2019-08-24T14:15:22Z",    "organisations_number": 0,    "organisations": [      {        "id": 0,        "display_name": "string",        "links": {          "view": "http://example.com"        }      }    ],    "employees_number": 0,    "tags": [      "string"    ],    "is_bounced": true,    "is_duplicated": true,    "is_unsubscribed": true,    "is_unsubscribed_from_all_communications": true,    "has_enrichments": true,    "unsubscribed_newsrooms": [      "string"    ],    "duplicate_contacts": [      {        "contact": {          "id": 0,          "contact_type": "person",          "display_name": "string",          "function_name": "string",          "avatar_url": "http://example.com",          "is_deleted": true,          "links": {            "api": "http://example.com",            "view": "http://example.com"          }        },        "score": 0,        "status": "unseen",        "links": {          "merge_api": "http://example.com"        }      }    ],    "created_at": "2019-08-24T14:15:22Z",    "modified_at": "2019-08-24T14:15:22Z",    "stats": {      "sent": 0,      "replied": 0,      "clicked": 0,      "clicked_rate": 0,      "opened": 0,      "opened_rate": 0    },    "meta": {      "is_unsubscribed": true,      "is_bounced": true,      "is_duplicated": true    },    "links": {      "api": "http://example.com",      "view": "http://example.com",      "edit": "http://example.com",      "convert": "http://example.com",      "exclude_mailbox_conversations": "http://example.com",      "organisations_api": "http://example.com",      "employees_api": "http://example.com",      "enrichments_api": "http://example.com",      "duplicates_api": "http://example.com",      "data_privacy_requests_api": "http://example.com",      "export_personal_data_api": "http://example.com"    },    "tag_entities": [      {        "id": 0,        "name": "string"      }    ]  }}