Get Person
Fetch one person by id.
The read names a workspace because the pool does. Alongside the people your workspace owns, you can read the ones published in the shared ish library, and a library person belongs to no workspace of their own. Naming the workspace you are asking as is what lets the same library person be readable through any workspace you belong to, so this read is workspace-scoped where a session, an environment or a task is not.
Reachability is the same rule the list uses, so a person this workspace can
neither own nor run answers 404 with error_kind person_not_found,
identical to an id that does not exist. That is deliberate: a
distinguishable answer would let anyone test which ids are real.
Authorizations
Workspace API key as a bearer token: Authorization: Bearer ish_sk_live_.... Keys are workspace-scoped machine principals minted in Settings > Developers (shown once at mint). Scopes: sessions:run (create a session, submit turns, close), sessions:read (read the session and its decision trace), environments:read and environments:write (manage the workspace's registered environments), tasks:read and tasks:write (manage the workspace's registered tasks), people:read and people:write (the people the workspace can run a session for), and usage:read (the workspace's own consumption, spend limits and rate-limit budgets). A key is minted with sessions:run, sessions:read, and tasks:read by default; every other scope must be requested, people:read and usage:read included. An ish user access token also works on the same header for personal scripts.
Response
Successful Response
One person, as an external integrator sees them.
The field list is CLOSED and hand-maintained. It carries who the person is (identity + demographics + interests) and nothing about how ish came to hold that row: no moderation verdict, no publisher, no viewer-specific state, no internal config pointer, no custom fields.
The person's display name.
self for a person your workspace owns; platform for one published in the shared ish library. Both are usable in a session; only self rows are yours to edit.
self, platform Declared accessibility needs, as a nested object of boolean and enum flags. Only non-default keys are present. An open union: new keys appear over time.
When this person was archived, or null while they are live. An archived person is hidden from the default listing and closed to edits, but stays readable by id and keeps every session that ran for them intact. POST .../restore clears it.
Publicly fetchable avatar image, when one exists.
Free-text background in the person's own register. This is the bulk of what the model is told about them when a session runs.
less_than_secondary, secondary, some_post_secondary, vocational_or_associate, bachelor, graduate employed_full_time, employed_part_time, self_employed, unemployed_seeking, student, homemaker, retired, unable_to_work, other Your own identifier for this person, if you set one. Unique among the people your workspace owns. Always null on a platform person: the shared library is nobody's to label.
Gender options for people.
male, female, non-binary, prefer_not_to_say The generation job that produced this person, when one did. This is how you collect a job's results: list people filtered by it.
single, couple_no_kids, couple_with_kids, single_parent, shared_housing, adult_with_parents, multi_generational lower, lower_middle, middle, upper_middle, upper, prefer_not_to_say IAB taxonomy node ids this person is tagged with. Filterable via the qualification rule source, where a parent node also matches everyone tagged at a node beneath it.
urban, suburban, small_town, rural Free-text job title, as written on the person.
Canonical ESCO/ISCO code beside the free-text occupation. Codes are hierarchical, so a starts_with filter on a group prefix selects a whole occupational family.
Always ai on this API. ish also models real people who have consented to participate, and they are never readable here or through any credential you can mint. Treat this as an open union and tolerate a value you do not recognize.
"ai"The owning workspace, present only when owner is self. A platform person belongs to no workspace, so this is null rather than naming one.