---
title: "Get navigation around a page surface"
method: GET
path: "/v3/web-analytics/entity-journey"
tags: ["Web Analytics"]
---

# Get navigation around a page surface

`GET /v3/web-analytics/entity-journey`

Requires entity_type, legacy page_id, or page_path. entity_type alone is a valid focus; entity_id optionally narrows its owner. Entity and page_path focus combine. Returns immediate inbound and outbound neighbours without deleting them from the session. Requires web_analytics:read. The authenticated credential determines the business; no business_id override is accepted. Reporting and scope-option calls share a 600-request/hour limit per API key or OAuth installation, in addition to the normal burst and hourly limits. Responses contain recorded analytics, which may be lower than actual traffic because of consent choices, self-traffic exclusion, blockers, and unavailable attribution.

## Query parameters

- `from` string, date, required
- `to` string, date, required
- `timezone` string
- `store_id` integer
- `entity_type` 'landing_page' | 'product' | 'bundle_price_option' | 'store_home' | 'cart' | 'checkout' | 'payment_link' | 'order_detail' | 'order_success' | 'order_invoice' — Customer-facing page surface. The owner is a landing page, product, bundle price option, store, or protected payment-link scope; order surfaces use the store owner, never an order ID.
- `entity_id` string
- `entity_path` string
- `page_id` integer
- `page_host` string
- `page_path` string
- `ad_click` 'paid' | 'organic' | 'meta' | 'google' | 'tiktok'
- `limit` integer

## Response `200`

Success

- WebAnalyticsEntityJourney — Immediate page-view neighbours around the selected focus. A terminal neighbour means the session began or ended there. Payment events are not navigation nodes.
  - `came_from` WebAnalyticsNeighbour[], required
    - `node` string, required — Entity node or sanitized path. Terminal nodes are entered_here for came_from and left for went_to.
    - `path` string, nullable, required — Recorded sanitized neighbour path; empty for terminal outcomes.
    - `is_terminal` boolean, required
    - `sessions` integer, required
  - `went_to` WebAnalyticsNeighbour[], required
    - `node` string, required — Entity node or sanitized path. Terminal nodes are entered_here for came_from and left for went_to.
    - `path` string, nullable, required — Recorded sanitized neighbour path; empty for terminal outcomes.
    - `is_terminal` boolean, required
    - `sessions` integer, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too Many Requests. Storefront public requests using `X-Scalev-Storefront-Api-Key` or `X-Scalev-Guest-Token` are rate-limited as direct client/browser requests. Machine-authenticated business requests are rate-limited per API key or OAuth installation. Rate-limit responses may be plain text instead of the normal JSON error shape.

## Changes

- **2026-09-20** `af4231e0cad9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/scalev/apis/nexus-commerce-api/changes/v3/web-analytics/entity-journey/get.md)

---

[API](https://skmtc.dev/scalev/apis/nexus-commerce-api.md) · [All operations](https://skmtc.dev/scalev/apis/nexus-commerce-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalev/apis/nexus-commerce-api/revisions/215156c4eee0?raw)
