Update a person
Updates the mutable fields of one Person record. Send at least one field. If the Company is linked to a connection with write-back turned on, the change is queued to sync to the source system.
Changing email. An email change moves the whole Person, not one record. Every live record of this Person, at every Company, takes the new address, and each fires contact.updated with changedFields set to ["email"]. The call returns 409 conflict when a different Person in the workspace already uses the address, including a Person whose records are all archived. Addresses are compared without regard to case or surrounding spaces. Changing only the letter case, or sending email: null, stays on this one record.
Scope: write:contacts
Authorizations
Bearer API key. Secret server keys start with gt_live_; client-safe browser keys start with gt_pub_ (write-only, origin-pinned). Create and scope keys in Settings → API Keys.
Path Parameters
Resource UUID. For companies you may also pass ext:<externalId> to address by your external id.
Body
Any subset of the mutable fields. You cannot move a Person to another Company. traits replaces the stored traits.
1 - 255A new address moves the whole Person: every live record of this Person takes it. 409 when another Person already uses it. null clears the address on this record only.
25525550100decision_maker, champion, end_user, billing, influencer, executive_sponsor, technical, other Replaces the stored traits. null clears them.
20002000Response
The updated Person.
One Person at one Company. A Person who belongs to several Companies is returned as one record per Company, each with its own id and accountId.