Update contact
Updates a contact identified by _id in the body. Resolves pipeline stage / status pairs to keep them in sync, records pipeline transitions, logs a manual event with field-level diffs, and emits the contact_updated socket event. Org-scoped unless caller is SUPERADMIN.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Target contact _id; required to locate the document.
Suppresses side-effects (audit log, socket emit) when the update originates from the history viewer.
New pipeline status name; resolved together with pipelineStage.
Stage _id. Set to null to clear the stage assignment (legacy status-only update).
Optional pipeline _id used to scope stage resolution; inferred from the resolved stage when omitted.
Response
Contact updated
{
"_id": "64f0a1b2c3d4e5f6a7b8c9d0",
"firstName": "Jane",
"lastName": "Doe",
"phoneNumber": [
{
"value": "+14165550100",
"isPrimary": true
}
],
"secondaryPhoneNumber": [],
"email": "jane.doe@example.com",
"status": "New Lead",
"pipelineId": "64f0a1b2c3d4e5f6a7b8c9d1",
"pipelineStage": "64f0a1b2c3d4e5f6a7b8c9d2",
"organizationId": "64f0a1b2c3d4e5f6a7b8c9d3",
"userId": "64f0a1b2c3d4e5f6a7b8c9d4",
"createdBy": "64f0a1b2c3d4e5f6a7b8c9d4",
"assignees": ["64f0a1b2c3d4e5f6a7b8c9d4"],
"createdAt": "2026-05-01T14:30:00.000Z",
"updatedAt": "2026-05-15T09:12:00.000Z"
}