# Events

Source: https://kirora.io/docs/api/reference/events

An event is something a contact did, such as `Order Completed`, with properties describing it. Events start journeys, feed segment rules and conversion goals; they are not webhook events, which Kirora sends to you. Send each with an `Idempotency-Key` from your own event id, and keep event names fixed (a varying value belongs in `properties`), since a workspace holds at most 1,000 names. See [Events](https://kirora.io/docs/api/events). A contact's events: `GET /v1/contacts/{id}/events`.

## Endpoints

- [Track an event](https://kirora.io/docs/api/reference/trackEvent): `POST /v1/events/track`
- [Track events in a batch](https://kirora.io/docs/api/reference/trackEventsBatch): `POST /v1/events/batch`
- [List events](https://kirora.io/docs/api/reference/listEvents): `GET /v1/events`
- [List the event catalogue](https://kirora.io/docs/api/reference/listEventCatalog): `GET /v1/events/catalog`
- [Retrieve an event's summary](https://kirora.io/docs/api/reference/getEventSummary): `GET /v1/events/summary`
- [Retrieve an event's time series](https://kirora.io/docs/api/reference/getEventSeries): `GET /v1/events/series`
- [Define or describe an event name](https://kirora.io/docs/api/reference/defineEventName): `PUT /v1/events/catalog/{name}`
- [Delete an event name and its events](https://kirora.io/docs/api/reference/deleteEventName): `DELETE /v1/events/catalog/{name}`
- [List the standard event names](https://kirora.io/docs/api/reference/listStandardEventNames): `GET /v1/events/standard-names`

## The TrackedEvent object

```json
{
  "id": "018f2a4e-6b1c-7d3e-9f40-37386ae05a6b",
  "occurredAt": "2030-03-14T09:30:00Z",
  "expiresAt": "2030-03-14T09:30:00Z"
}
```

- `id` (string, required, uuid)
- `occurredAt` (string, required, date-time)
- `expiresAt` (string, required, date-time) — When retention deletes it: when it happened plus the days the plan kept events when it was stored. Fixed: a plan change moves only later events.
