---
title: "Track Page View"
method: POST
path: "/public/track-view"
tags: ["page-views"]
---

# Track Page View

`POST /public/track-view`

Track a page view for any public-facing page.

- Invoice/proposal owner and preview views are ignored.
- Other public surfaces continue recording all viewer classifications.
- Client views on invoices/proposals also publish to the events table.
- Fire-and-forget: always returns success to the caller.

## Request body

- PageViewRequest
  - `entity_type` 'invoice' | 'proposal' | 'booking_page' | 'client_portal', required
  - `entity_id` string, required
  - `page` string
  - `viewer_type` 'client' | 'owner' | 'preview', required
  - `client_id` string, nullable
  - `metadata` object

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/every/apis/every-api.md) · [All operations](https://skmtc.net/every/apis/every-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/every/every-api/versions/9744001af85d/schema)
