Edit a person row's field values
Person-grain equivalent of PATCH /observe/companies/{entityId}/fields (#329) - a batch { "<fieldKey>": <value>, … }. Only TWO kinds of field are editable on a human: name (a direct persons.name UPDATE) and the durable-key columns (idl__<type>, replace-the-set through the same layer POST /persons/{personId}/links uses - values are normalized, role inboxes refused, and a value owned by ANOTHER human is REFUSED and recorded as a merge candidate, never re-pointed (first-writer-wins)). Everything else is rejected per-field: there are no person traits, the rollups (affiliation_count, key_count, is_internal, last_active, companies, activity, event columns) are computed, and status is the identity lifecycle set by the merge endpoints. Partial success: valid fields apply, the rest (including key conflicts) come back in errors. An idl__email_address add DECLINED as a fallback (#575 — the person already holds a linkedin_url anchor) that changed nothing else is reported in errors as a per-field notice, never counted in updated: email is a fallback anchor, and this grain has no edge to store it on.
Request
- Base URLhttp://localhost:3009
- AuthHTTP bearer
Path parameters
The person_id of the person row to edit.
Request body
Field key → new value. Multiple fields allowed.
Example request
{
"name": "Elly Chen",
"idl__email_address": [
"elly@acme.com",
"elly@globex.com"
]
}Response
The keys that were updated + a per-field error map for any that were rejected.
Example response
{
"data": {
"updated": [
"measure_status"
],
"errors": {
"activity": "Field \"activity\" is computed and cannot be edited directly."
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.