---
title: "Track Event"
method: POST
path: "/events"
tags: ["events"]
---

# Track Event

`POST /events`

## Request

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

First-party funnel analytics. Unauthenticated, on purpose — anonymous
visitors are the point, so there's no `get_current_user_id` dependency.

Accepted risk: there is no rate limiting anywhere in this backend, so
this endpoint is spammable. Inserts are cheap and the table is
operator-read-only, so poisoning is an annoyance, not a breach — rate
limiting is future backend work, not part of this change.

Always 204: an unknown/non-allowlisted `name` is silently dropped rather
than erroring (a 4xx here would be console noise on every page load), and
a DB failure is logged, not raised, so analytics never surfaces an error
to a visitor. Malformed JSON bodies still 422 via FastAPI's normal
request validation, which is unchanged.

## Request body

- TrackEventRequest
  - `name` string, required
  - `path` string, nullable
  - `locale` string, nullable

## Response `204`

Successful Response

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sumvid/apis/summarize-vid.md) · [All operations](https://skmtc.dev/sumvid/apis/summarize-vid/llms.txt) · [OpenAPI document](https://skmtc.dev/sumvid/apis/summarize-vid/revisions/c03d66e07deb?raw)
