---
title: "Explore Events Ingest"
method: POST
path: "/explore/events"
tags: ["explore"]
---

# Explore Events Ingest

`POST /explore/events`

Batched client-event beacon (EXPLORE_INSTRUMENTATION_SPEC.md §3.2).

Never 4xxes on bad rows — unknown event types are dropped and counted,
because a beacon client must not retry-loop. Regular (non-admin) auth:
any authed user may write telemetry attributed to themselves; rows with
no matching insertion are inert.

## Request body

- EventBatch
  - `session_id` string, required
  - `events` ClientEvent[], required
    - `event_type` string, required
    - `request_id` string, required
    - `position` integer, nullable
    - `place_id` string, nullable
    - `value_ms` integer, nullable
    - `payload` object, nullable
    - `client_seq` integer, required
    - `client_ts` string, date-time, required

## Response `200`

Successful Response

- IngestResult
  - `accepted` integer, required
  - `dropped` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stardrift/fastapi/revisions/00746572572a/schema)
