---
title: "Ingest Events"
method: POST
path: "/api/v1/events"
tags: ["events"]
---

# Ingest Events

`POST /api/v1/events`

## Request

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

Accept a batch of analytics events from one install and one session.

Unauthenticated like every other client endpoint; the batch cap, the shape
checks on the schema and the per-IP rate limit are the abuse control.
Idempotent on event_id, so a client that lost the acknowledgement can send
the same batch again.

## Request body

- EventBatch
  - `install_id` string, uuid, required
  - `session_id` string, uuid, required
  - `app_version` string, required
  - `os_version` string, nullable
  - `events` EventIn[], required
    - `event_id` string, uuid, required
    - `name` string, required
    - `occurred_at` string, date-time, required
    - `props` object

## Response `200`

Successful Response

- EventBatchResponse
  - `accepted` integer, required
  - `dropped` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/actvt/apis/actvt-licensing-api.md) · [All operations](https://skmtc.dev/actvt/apis/actvt-licensing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/actvt/apis/actvt-licensing-api/revisions/f8d53e5bb638?raw)
