Skip to main content
PATCH
Update person

Authorizations

Authorization
string
header
required

Authenticate with a Bearer token: API key, OAuth token, or session token.

Path Parameters

id
string
required

Person ID

Body

application/json
linkedin_url
string

LinkedIn profile URL.

emails
object[]

Replace all email addresses. Cannot be combined with work_email or personal_email.

phone_numbers
object[]

Replace all phone numbers. Cannot be combined with work_phone or mobile_phone.

name
string

Full name.

first_name
string

First name.

last_name
string

Last name.

current_job_title
string

Current job title.

company_name
string

Current employer company name.

location
string

Location (e.g. city, region, or country).

linkedin_headline
string

LinkedIn headline text.

address
string

Physical/mailing address.

enrich_record
boolean

When true, triggers background enrichment via data providers.

work_email
string

Work email address.

personal_email
string

Personal email address.

mobile_phone
string

Mobile phone number.

work_phone
string

Work phone number.

job_id
string

Job UUID to add this person to that job pipeline as a candidate (creates the candidacy). Get IDs from POST /v1/jobs/search.

sourced_by
string<uuid>

UUID of the team member who sourced this candidate, recorded as "Sourced by" on the candidacy created by job_id. Get IDs from GET /v1/team-members. Requires job_id. Only applies to API-key requests; requests made as a signed-in user (session or OAuth, including MCP) always credit that user. If the person is already a candidate on the job, the existing sourcer is kept.

do_not_contact
boolean

Set to true to mark this person as do-not-contact, or false to clear the flag.

do_not_contact_reason
string

Free-text reason for the do-not-contact flag (e.g. "Requested removal from outreach"). Only meaningful when do_not_contact is true. When omitted, any existing reason is preserved.

do_not_contact_expiration_date
string<date-time> | null

ISO 8601 timestamp when do-not-contact should automatically expire. Only meaningful when do_not_contact is true. Pass an explicit date to set a custom expiration, or null for an indefinite do-not-contact. When omitted on a new do-not-contact flag, the flag is indefinite. When omitted on an existing do-not-contact flag, the current expiration is preserved.

custom_fields
object[]

Custom field values to update. Each attribute_id should appear once. Get attribute definitions from GET /v1/custom-fields/persons. For select fields, pass the tag NAME (e.g. "Remote") or the tag option UUID returned in that definition.

Response

Person updated

success
enum<boolean>
required
Available options:
true
data
object
required