Find the single closest person (per-field)
The person analog of /contacts/search and /entities/search. Send whichever field you have — params are ANDed and at least one is required: q (name + every key value), name, email, linkedin, identity (any key value, optionally pinned with identityType). email/linkedin are normalized before matching, so a raw pasted URL or mixed-case address still lands an exact-tier hit.
Ranked case-insensitive substring (exact > prefix > contains); returns ONE active person, hydrated exactly like GET /persons/{personId} (person + keys + affiliations + recent events), plus a matchedOn block. matchedOn.contacts names WHERE the matched value lives: every stint whose edge carries it verbatim (email / contact identity links; former stints included, disabled excluded), each with entity: { entityId, name, domain } — so a hit through an old employer's address is attributable even though data reports the current one. A name hit returns [] (a name sits on every stint alike). No match → 404.
Request
- Base URLhttp://localhost:3009
- AuthHTTP bearer
Query parameters
Match across the name and all key values.
Match any durable key value (product ids included).
Pin identity to one key type, e.g. perplexity_user_id.
Response
{ data: PersonProfile, matchedOn: { field, value, tier, contacts: [{ contactId, status, title, startedAt, endedAt, entity: { entityId, name, domain } }] } }.
Changes
No recorded changes to this operation across all 1 revision of this API.