---
title: "World Presence Beat"
method: POST
path: "/api/world/beat"
---

# World Presence Beat

`POST /api/world/beat`

## Request

- Base URL: `https://api.exploreyc.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.exploreyc.com/api/world/beat`
- Auth: none declared

One anonymous heartbeat from a World surface, and the same payload
back — so the client gets a fresh count without a second request.

What this stores: an opaque client-generated id and a timestamp. What it
does NOT store: an IP, a user id, a cookie, a user agent, a referrer.
Every beat also prunes rows older than PRESENCE_PRUNE_SECONDS, so the
table cannot accumulate yesterday's visitors.

## Request body

- BeatRequest: The entire body of a presence heartbeat. One field, and the bound is the point: an anonymous, ephemeral id the client generated for this tab. There is nowhere in this shape to put an email, an IP or a user id, which is how "we do not collect that" stops being a promise and becomes a fact about the schema.
  - `session_id` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/exploreyc/apis/yc-company-scraper-api.md) - [All operations](https://skmtc.dev/exploreyc/apis/yc-company-scraper-api/llms.txt) - [OpenAPI document](https://skmtc.dev/exploreyc/apis/yc-company-scraper-api/revisions/d48bd3e241b8?raw)
