Update a person
Patch a person’s editable fields; only the fields you send change. Note that customFields replaces the entire custom-field bag — send the full set, not a partial delta.
Authorizations
Org-scoped Norbelys API key. Create one in Settings → API keys and send it as Authorization: Bearer ak_….
Path Parameters
The person id to update.
"con_tz4a98xat96iws9zmbrgj3a"
Body
Replaces the person's entire set of custom-field values, keyed by code.
The person's last name.
"Lovelace"
The person's first name.
"Ada"
A private note about this person, visible only in your dashboard.
"Met at SaaStr; wants a demo in Q3."
Set the lifecycle status: active, replied, bounced, undeliverable, spam, unsubscribed, finished. Bounced and spam people are terminal and cannot be reactivated through this endpoint.
active, replied, bounced, undeliverable, spam, unsubscribed, finished "unsubscribed"
Set the PRIMARY telephone number (normalized to E.164; it becomes telephones[0], keeping the person's other numbers). Null clears ALL the person's numbers. An invalid number is dropped (no change), never fatal.
"+14155550132"
REPLACE the person's full number set (normalized to E.164, deduped, first = primary; invalid entries dropped). Null clears all numbers.
Set the person's IANA timezone, or null to clear it. Recipient-local campaigns fall back to their own timezone when it is absent.
"America/New_York"
Response
OK
Custom field values, keyed by each field's code (the merge tag). Define fields on the Fields page.
The person's email address.
The domain portion of the email address.
"acme.com"
System-owned sendability verdict. False means the address must not be enrolled or emailed; null means it has not been verified yet.
true
The person's last name.
"Lovelace"
The person's first name.
"Ada"
The person id.
"con_tz4a98xat96iws9zmbrgj3a"
The CSV import batch that created this person, if any.
"imp_tz4a98xat96iws9zmbrgj3a"
A private note about this person, visible only in your dashboard.
"Met at SaaStr; wants a demo in Q3."
Engagement score, 0–100 (system-computed).
0 <= x <= 10042
Where the person came from: csv_import, manual, api, form, inbound, integration.
csv_import, manual, api, form, inbound, integration "csv_import"
Lifecycle status: active, replied, bounced, undeliverable, spam, unsubscribed, finished.
active, replied, bounced, undeliverable, spam, unsubscribed, finished "active"
The PRIMARY telephone number (E.164), if known.
"+14155550132"
EVERY known telephone number (E.164), primary first — telephone is always telephones[0]. Null when none.
The person's IANA timezone. Campaigns using timezoneSource: recipient evaluate their send window in this timezone.
"America/New_York"
When this person was archived, or null if still active.
When the person was created (RFC 3339 timestamp).
"2026-05-20T09:00:00.000Z"
When the person last had outbound or inbound activity (RFC 3339).
"2026-06-01T12:30:00.000Z"
Always "person". Identifies the resource type.
When the person was last updated (RFC 3339 timestamp).
"2026-06-01T12:30:00.000Z"
Expansion: the person's enrollments across all campaigns.
Expansion: the static groups this person belongs to.
Expansion: the dynamic segments this person currently matches.
Expansion: the person's merged sent + received messages, newest first.
- OutboundMessage
- InboundMessage