Update a contact
Update a single contact by ID — the single-record equivalent of one POST /v1/contacts/update item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept null to clear the stored value; unknown fields are rejected. A body with no updatable fields returns 400 (No fields to update). Changing email or phone to a value already used by another contact returns 409 with the conflicting contact in details.existing_contact, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including custom_fields.
Authorizations
Workspace API key, e.g. Authorization: Bearer tented_.... Create keys in Workspace Settings → API Keys.
Path Parameters
Contact ID.
Body
Fields to change on a contact. Only supplied fields are modified; unknown fields are rejected. A contact must always keep at least one of email or phone.
Email address. Pass null to clear (only allowed if a valid phone remains).
Phone number. Pass null to clear (only allowed if a valid email remains).
Display name. Pass null to clear.
255First name. Pass null to clear.
255Last name. Pass null to clear.
255Usually auto-derived from email.
255Company. Pass null to clear.
255Job title. Pass null to clear.
255Street address. Pass null to clear.
500Address line 2. Pass null to clear.
255City. Pass null to clear.
255State or region. Pass null to clear.
255Country. Pass null to clear.
255Postal code. Pass null to clear.
50Original source. Pass null to clear.
255Original source detail. Pass null to clear.
255Lead status. Pass null to clear.
100Lifecycle stage. Pass null to clear.
100Contact score. Pass null to clear.
Global unsubscribe flag.
Email marketing subscription state.
SMS marketing subscription state.
Mark the phone number invalid.
Editable custom fields keyed by API name. Pass null to clear a value.
Response
The updated contact, including custom_fields.
A contact record including its custom field values.
Contact ID.
Display name.
First name.
Last name.
Email address.
Phone number.
Domain derived from the email address.
Company.
Job title.
Street address.
Address line 2.
City.
State or region.
Country.
Postal code.
How the contact was first created, e.g. Public API.
Additional source detail.
Lead status.
Lifecycle stage.
Contact score.
Global unsubscribe flag.
Email marketing subscription state.
SMS marketing subscription state.
Whether the email address is known to be invalid.
Whether the phone number is known to be invalid.
Most recent tracked activity.
Creation time.
Last update.
Custom field values keyed by field API name. Values are returned as stored strings (or null) regardless of the field's declared value type.