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

# Person details

> Retrieve a single person with their sessions and activity heatmap

Returns one person (visitor) with their profile, the list of sessions in the range, and a daily
activity heatmap. Responses are always freshly computed (not cached).

**Request:**

```bash cURL theme={null}
curl -X GET 'https://taap.it/api/v1/radar/people/details?visitorId=v_8a1c2d&start=2026-01-01T00:00:00Z&end=2026-01-31T23:59:59Z' \
  -H 'Authorization: Bearer taapit_your_api_key_here'
```

**Response:**

```json theme={null}
{
  "data": {
    "visitor": {
      "visitorId": "v_8a1c2d",
      "name": "Quiet Fox",
      "email": "jane@example.com",
      "status": "identified",
      "countryCode": "FR",
      "countryName": "France",
      "source": "google",
      "browser": "Chrome",
      "device": "desktop",
      "revenue": 120.0,
      "sessions": 4,
      "firstSeen": "2026-01-03T09:12:00.000Z",
      "lastSeen": "2026-01-28T17:42:00.000Z"
    },
    "sessions": [
      {
        "sessionId": "s_5f2a",
        "startTime": "2026-01-28T17:10:00.000Z",
        "endTime": "2026-01-28T17:42:00.000Z",
        "durationSeconds": 1920,
        "referrer": "google",
        "device": "desktop",
        "browser": "Chrome",
        "os": "macOS"
      }
    ],
    "heatmap": [
      { "date": "2026-01-28", "events": 12 }
    ]
  }
}
```

## Authorization

<ParamField header="Authorization" type="string" required>
  Bearer token with your Radar API key. Format: `Bearer taapit_...`
</ParamField>

## Query Parameters

<ParamField query="visitorId" type="string" required>
  The visitor identifier returned by the [People](/api-reference/radar/people) endpoint.
</ParamField>

<ParamField query="start" type="string" required>
  Start of the range, ISO 8601 (UTC).
</ParamField>

<ParamField query="end" type="string" required>
  End of the range, ISO 8601 (UTC).
</ParamField>

## Response Fields

<ResponseField name="data.visitor" type="object">
  The person's profile (same shape as a row in the People endpoint).
</ResponseField>

<ResponseField name="data.sessions" type="array">
  Sessions within the range.

  <Expandable title="Session">
    <ResponseField name="sessionId" type="string">Session identifier.</ResponseField>
    <ResponseField name="startTime" type="string">Session start, ISO 8601.</ResponseField>
    <ResponseField name="endTime" type="string">Session end, ISO 8601.</ResponseField>
    <ResponseField name="durationSeconds" type="number">Session duration in seconds.</ResponseField>
    <ResponseField name="referrer" type="string">Session source / referrer.</ResponseField>
    <ResponseField name="device" type="string">Device type.</ResponseField>
    <ResponseField name="browser" type="string">Browser name.</ResponseField>
    <ResponseField name="os" type="string">Operating system.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data.heatmap" type="array">
  Daily activity, each entry with `date` (YYYY-MM-DD) and `events` count.
</ResponseField>

<ResponseExample>
  ```json 404 Not Found theme={null}
  {
    "error": "Visitor not found"
  }
  ```
</ResponseExample>
