---
title: "Browser analytics event ingest (authenticated)"
method: POST
path: "/v1/events"
tags: ["events"]
---

# Browser analytics event ingest (authenticated)

`POST /v1/events`

## Request

- Base URL: `https://api.hillstar.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.hillstar.ai/v1/events`
- Auth: none declared

## Request body

- IngestRequest
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `events` EventInput[], nullable, required: Batch of browser-emitted events
    - `client_ts` string, date-time: Browser-supplied timestamp; clamped to (now-1h, now+5min)
    - `event_id` string, required: UUIDv4 minted by the client; used for streaming insertId dedup
    - `name` string, required: Event name; must be on the server allowlist
    - `path` string: URL pathname only; no query string, no fragment
    - `properties` object: Free-form metadata; SOC 2: no message bodies, no PII
    - `workspace_id` string: Optional workspace id; validated against the caller's memberships server-side, silently dropped on miss

## Response `204`

No Content

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/hillstar/apis/rfpai-api-go.md) - [All operations](https://skmtc.dev/hillstar/apis/rfpai-api-go/llms.txt) - [OpenAPI document](https://skmtc.dev/hillstar/apis/rfpai-api-go/revisions/b2532dc47fc6?raw)
