---
title: "Get a visit"
method: GET
path: "/v1/projects/{projectId}/sessions/{sessionId}"
tags: ["Visits"]
---

# Get a visit

`GET /v1/projects/{projectId}/sessions/{sessionId}`

## Request

- Base URL: `https://hootlens-api-368877148687.us-east1.run.app`
- URL: `https://hootlens-api-368877148687.us-east1.run.app/v1/projects/{projectId}/sessions/{sessionId}`
- Auth: HTTP bearer

The page views of one visit, ordered by page index.

Required token scopes are listed in x-hootlens-scopes. A signed-in person needs the matching permission on the site instead (the viewer and editor roles are presets of the permissions).

## Path parameters

- `projectId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.
- `sessionId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.

## Response `200`

The visit.

- object
  - `sessionId` string, required
  - `segments` RecordingSummary[], required
    - `id` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.
    - `sessionId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.
    - `projectId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.
    - `path` string, required
    - `revision` string
    - `buildId` string: The release.
    - `variant` string
    - `viewport` Viewport
      - `width` integer, required
      - `height` integer, required
    - `deviceClass` 'desktop' | 'tablet' | 'mobile'
    - `startedAt` integer, required: Epoch milliseconds.
    - `endedAt` integer, required: Epoch milliseconds.
    - `pageIndex` integer
    - `group` string: Page group ID.
    - `pageVersion` string
    - `browser` 'chrome' | 'safari' | 'firefox' | 'edge' | 'other'
    - `os` 'windows' | 'macos' | 'ios' | 'android' | 'linux' | 'other'
    - `eventCount` integer, required
    - `batchCount` integer, required
    - `clickCount` integer, required
    - `rageClickCount` integer, required
    - `deadClickCount` integer, required
    - `errorClickCount` integer, required
    - `errorCount` integer: JavaScript errors recorded in the page view.
    - `marks` ClickMark[]
      - `t` integer, required: Milliseconds from the start of the page view.
      - `k` 'click' | 'rage-click' | 'dead-click' | 'error-click', required
      - `y` number: Where the click landed down the document, 0 to 1.
    - `tags` string[]
    - `automated` boolean: True when strong automation signals fired.
    - `automation` object
      - `level` 'suspected' | 'automated'
    - `internal` boolean: True when the site's own team made this page view. It reaches no aggregate.
    - `goalIds` string[]: Goals this page view converted, as goal IDs.
    - `exitTo` string: Where the last link click led when it left the page: a same-site path, or another site's origin only. Never a query or fragment.

## Other responses

- `401`: The credential is missing, expired or revoked.
- `403`: The credential or the person's permissions on the site do not permit this action.
- `404`: The site, or the record inside it, does not exist or the caller is not a member (a non-member cannot tell the two apart).
- `429`: A rate limit or a per-site limit was reached.

---

[API](https://skmtc.dev/hootlens/apis/hoot-lens-api.md) · [All operations](https://skmtc.dev/hootlens/apis/hoot-lens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hootlens/apis/hoot-lens-api/revisions/f64f8dc7b84e?raw)
