Browse docsget_person
get_person
Reads one exact person in your own private Rolodex, with effective identity, email addresses, LinkedIn details, six profile sections, and a version for editing. Resolve an ambiguous name with find_people first. Reading changes nothing.
Annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false
Inputs#
| Input | Required | Description |
|---|---|---|
personId | yes | Exact owned-person UUID. |
Returns#
{ state: { person, version } }. person contains personId, contactAuthoredName, ownerAuthoredName, emails, linkedIn (nullable URL, company, and position), and profile. The profile contains summaries plus claim arrays for general, areasOfDepth, currentWork, currentNeeds, and relationshipContext. These are your effective sections after private corrections, including member-added people without an email address.
The opaque 64-character version is private to this member and person. Pass it unchanged as expectedVersion for save_person. No raw mailbox evidence, inferred readings, private notes, or another member's context is returned. Use get_person_notes for note history. Missing and inaccessible people both return unavailable.
Example#
{
"personId": "00000000-0000-4000-a000-000000000005"
}
Result (synthetic data):
{
"state": {
"person": {
"personId": "00000000-0000-4000-a000-000000000005",
"contactAuthoredName": "Synthetic Pat",
"ownerAuthoredName": null,
"emails": [
"pat@example.test"
],
"profile": {
"summaries": [
"Synthetic private profile"
],
"general": [],
"areasOfDepth": [],
"currentWork": [
"Building a synthetic product"
],
"currentNeeds": [],
"relationshipContext": [
"You worked together"
]
},
"linkedIn": {
"url": null,
"company": "Synthetic company",
"position": "Designer"
}
},
"version": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
}
}
Related#
See person editing and save_person.