> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trytalkvalue.com/llms.txt
> Use this file to discover all available pages before exploring further.

# talkvalue path person get

> Fetch a single person record by ID, including channels and events.

Pull the full record for one person. The response is the same shape the dashboard People detail page renders: primary email and phone, company, job title, and the channels and events the person has joined.

## Synopsis

```bash theme={null}
talkvalue path person get <id>
```

## Arguments

| Argument | Type    | Description                                                                 |
| -------- | ------- | --------------------------------------------------------------------------- |
| `<id>`   | integer | Person ID. Use [`person list`](/cli/commands/path/person/list) to find one. |

## Examples

### 1. Inspect a person in the terminal

```bash theme={null}
talkvalue path person get 142
```

Prints a single-row table with the headline fields. Use `--json` if you need the nested `company`, `channels`, and `events` arrays.

### 2. Read one field with jq

```bash theme={null}
talkvalue path person get 142 --json | jq -r '.data.primaryEmail.email'
```

Returns the primary email address as a raw string. `primaryEmail` is an object with `email`, `type`, and `domain` fields. Use `.email` to pull the address. Combine with other commands when you only need an identifier, for example, looking up an email before calling `update`.

### 3. Use inside a guard

```bash theme={null}
if talkvalue path person get 142 --json >/dev/null 2>&1; then
  echo "Person 142 exists"
else
  echo "Person 142 not found"
fi
```

The CLI exits non-zero on `404` so the guard above branches cleanly. See [Exit codes](/cli/exit-codes) for the full mapping.

## Response

```jsonc theme={null}
{
  "data": {
    "id": 142,
    "name": "Alice Kim",
    "primaryEmail": { "email": "alice@acme.com", "type": "WORK", "domain": "acme.com" },
    "emails": [
      { "email": "alice@acme.com", "type": "WORK", "domain": "acme.com" }
    ],
    "primaryPhone": "+1-415-555-0199",
    "company": {
      "id": 88,
      "displayName": "Acme Inc.",
      "domain": "acme.com",
      "nameUpdatable": true
    },
    "jobTitle": "Head of Growth",
    "channels": [
      { "id": 7, "name": "Newsletter", "icon": null, "joinedAt": "2026-04-12T00:00:00Z" }
    ],
    "events": [
      { "id": 18, "name": "Spring Summit", "startAt": "2026-05-02T17:00:00Z", "joinedAt": "2026-05-02T00:00:00Z" }
    ],
    "mergeOperations": [],
    "createdAt": "2026-04-12T00:00:00Z"
  }
}
```

`primaryEmail` is an object with `email`, `type`, and `domain` fields. The full email list lives on `emails`. `channels` and `events` arrays are limited to the records the person currently belongs to. `mergeOperations` records every merge that produced this person; pass the entry's `id` to [`person merge-undo`](/cli/commands/path/person/merge-undo) to reverse one within the retention window.

## See also

* [`person list`](/cli/commands/path/person/list). Find the ID first.
* [`person update`](/cli/commands/path/person/update). Change fields on the returned record.
* [`person activity`](/cli/commands/path/person/activity). See how this record has changed over time.
* [People](/path/manage/people). The dashboard surface this command mirrors.
