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

# Ingest Events

`POST /api/v1/events`

## Request

- Base URL: `https://api.casaintelligence.com.au` (the document declares no server; this is the origin it was published from)
- URL: `https://api.casaintelligence.com.au/api/v1/events`
- Auth: API key in header `X-API-Key`

Batch ingest events from extension or dashboard.

Low-latency: batch-inserts to ci_events with minimal processing.
Capped at 100 events per request.

## Request body

- EventsBatchRequest: Batch of events from extension or dashboard.
  - `events` EventItem[], required
    - `event_type` string, required: Event type, e.g. 'property_view', 'ai_question'
    - `event_category` string: Category: 'engagement', 'conversion', 'feature_use', 'navigation'
    - `property_id` string, nullable: Property UUID if applicable
    - `source` string: Source: 'extension', 'dashboard', 'api'
    - `metadata` object, nullable: Event-specific data
  - `anonymous_id` string, nullable: Extension installation ID for anonymous tracking
  - `session_id` string, nullable: Groups events into sessions

## Response `200`

Successful Response

- EventsResponse: Response from event ingestion.
  - `status` string
  - `ingested` integer

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine.md) · [All operations](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/revisions/71d711039de0?raw)
