Update an existing contact in your account
PUT for a full update (replacing all fields) or PATCH for a partial update (only updating specified fields).
can_read_contacts permission.
| Parameter | Type | Required | Description |
|---|---|---|---|
contact_id | integer | Yes | The ID of the contact to update |
PATCH.
| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | No | First name of the contact |
last_name | string | No | Last name of the contact |
email | string | No | Email address of the contact |
company | string | No | Company or organization name |
website | string | No | Company or personal website URL |
address | string | No | Street address |
city | string | No | City |
state | string | No | State or province |
zip_code | string | No | Postal or ZIP code |
country | string | No | Country |
status | string | No | Contact status |
stage | string | No | Contact stage |
team_id | integer | No | ID of the team to assign the contact to |
tags | array | No | Array of tag names (replaces existing tags) |
phone_numbers | array | No | Array of phone number objects |
custom_context | object | No | Custom fields and data |
industry_context | object | No | Industry-specific information |
id to update existing numbers:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | No | ID of an existing phone number (for updates) |
phone_number | string | Yes | Phone number in E.164 format |
phone_type | string | No | Type of phone (mobile, work, home, etc.) |
primary | boolean | No | Whether this is the primary phone number |
do_not_call | boolean | No | Whether this number is on the do not call list |
| Status Code | Error Code | Description |
|---|---|---|
| 400 | invalid_json | Invalid JSON payload |
| 400 | validation_error | Validation error with details |
| 401 | authentication_required | No API key was provided |
| 401 | invalid_key | The API key is invalid or inactive |
| 403 | permission_denied | The API key doesn’t have the required permission |
| 403 | team_access_denied | You do not have access to this team |
| 404 | not_found | Contact not found or you do not have access |
| 404 | team_not_found | Team not found |
| 500 | server_error | An unexpected server error occurred |
PUT requests replace the entire contact object. Any fields not included in the request will be set to their default values or null.PATCH requests only update the fields included in the request. Existing fields not mentioned in the request remain unchanged.PUT, all existing phone numbers will be deleted and replaced with those in the request.PATCH:
id will be updated if they exist.id will be added as new numbers.tags array completely replaces the existing tags for both PUT and PATCH requests.PUT, the entire context object is replaced.PATCH, the context objects are merged with existing data, with new values overwriting old ones for the same keys.