# Retrieve an event's summary

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

`GET /v1/events/summary`

Requires an API key with the `events:read` scope. [About keys and scopes](https://kirora.io/docs/api/reference/authentication)

Works with integration, agent and partner keys. Also available to embed sessions.

Whether an event is arriving and what it looks like, before a segment or journey is built on it: when it last happened, how many happened in the last 30 days (counted up to 100,000, `countExact: false` past it), the property keys its latest 1,000 events carry with their types and up to five sample values, and what reads it. A custom name never tracked nor defined, or deleted, is a 404. For charts, read the series. An API key always gets the sample values. An embed session gets none unless minted with `includeAttributeValues`, and none for a key that is a masked attribute.

## Query parameters

- `name` (string, required, 1–128 characters) — The event name, exactly as it was tracked.

## Header parameters

- `Kirora-Workspace` (string, optional, pattern `^[A-Za-z0-9._:-]{1,128}$`) — Partner keys only: the child workspace to act in, by the external id the partner gave it. Without it, a partner key acts in its own workspace. Any other key that sends it is refused with 403, and an unknown workspace is 404.

## Returns

Returns `200 OK` with an `EventSummary` in `data`. Otherwise returns an error; [Errors](https://kirora.io/docs/api/reference/errors) lists every code and which to retry.

- `name` (string, required)
- `origin` (string, required, one of `system`, `standard`, `custom`)
- `description` (string | null, required) — The workspace's description, else Kirora's meaning for a system or standard name.
- `lastSeenAt` (string | null, required, date-time) — When the latest event happened; null when none is held: a standard or system name never sent, or every event past retention.
- `last30Days` (object, required) — Events that happened in the last 30 days.
  - `count` (integer, required, min 0)
  - `countExact` (boolean, required) — False when counting stopped at 100,000: the event is busier.
- `sample` (object, required) — What the latest events of this name look like.
  - `events` (integer, required, min 0) — How many of the latest events were sampled, up to 1,000.
  - `properties` (object[], required) — The keys the sampled events carry, most common first.
    - `key` (string, required)
    - `types` (string[], required) — The value types seen. `date` is a string written as an ISO-8601 date or date and time, which segment date operators can read; a property whose values are mixed lists each type, such as `date` and `string`.
    - `samples` ((string | number | boolean)[], required) — Up to five distinct scalar values.
    - `seenIn` (integer, required, min 0) — How many of the sampled events carry this key.
- `usedBy` (object, required) — What reads this event, up to 50 of each: journeys (trigger, exit conditions, waits and rules in their steps), segments and campaign audiences (event rules), conversion goals, and active workspace goals (any event in the measure, including a cohort's rules).
  - `journeys` (object[], required)
    - `id` (string, required, uuid)
    - `name` (string, required)
    - `status` (string, required, one of `draft`, `active`, `paused`, `ended`)
  - `segments` (object[], required)
    - `id` (string, required, uuid)
    - `name` (string, required)
  - `campaigns` (object[], required)
    - `id` (string, required, uuid)
    - `name` (string, required)
    - `status` (string, required, one of `draft`, `scheduled`, `sending`, `testing`, `sent`, `cancelled`)
  - `conversionGoals` (object[], required)
    - `id` (string, required, uuid)
    - `campaignId` (string | null, required, uuid)
    - `journeyId` (string | null, required, uuid)
  - `goals` (object[], required) — Active workspace goals whose measure names the event.
    - `id` (string, required, uuid)
    - `name` (string, required)
  - `hasMore` (boolean, required) — More use it than are listed: each list stops at 50.

## Example

```bash
curl 'https://api.kirora.io/v1/events/summary?name=Order%20Completed' \
  -H "Authorization: Bearer $KIRORA_API_KEY"
```

Response `200`:

```json
{
  "data": {
    "name": "Order Completed",
    "origin": "standard",
    "description": "A contact paid for an order: order_id, total, currency, products[].",
    "lastSeenAt": "2026-10-01T09:30:00.000Z",
    "last30Days": {
      "count": 412,
      "countExact": true
    },
    "sample": {
      "events": 412,
      "properties": [
        {
          "key": "total",
          "types": [
            "number"
          ],
          "samples": [
            46.5,
            18.5
          ],
          "seenIn": 412
        },
        {
          "key": "currency",
          "types": [
            "string"
          ],
          "samples": [
            "USD",
            "EUR"
          ],
          "seenIn": 410
        },
        {
          "key": "deliver_by",
          "types": [
            "date"
          ],
          "samples": [
            "2026-10-03",
            "2026-10-05"
          ],
          "seenIn": 388
        }
      ]
    },
    "usedBy": {
      "journeys": [
        {
          "id": "0192f3a4-3d5e-7a7f-8c43-6b8c9d0e1f2a",
          "name": "Post-purchase thank you",
          "status": "active"
        }
      ],
      "segments": [
        {
          "id": "0192f3a3-2c4d-7f6e-9b32-5a7b8c9d0e1f",
          "name": "Repeat buyers"
        }
      ],
      "campaigns": [],
      "conversionGoals": [],
      "goals": [],
      "hasMore": false
    }
  }
}
```
