---
title: "List Events"
method: GET
path: "/v1/events"
tags: ["events"]
---

# List Events

`GET /v1/events`

List ingested first-party events.

Requires the `events:read` scope on the API key.

## Query parameters

- `page` integer — Page number.
- `size` integer — Number of items per page.
- `sort_by` 'occurred_at'
- `sort_order` 'asc' | 'desc'
- `event_name` string, nullable — Filter by event name.
- `resolution_status` 'PENDING' | 'RESOLVED' | 'UNRESOLVED'
- `external_event_id` string, nullable — Filter by external event id.
- `occurred_at_after` string, date-time, nullable — Return events strictly after this timestamp (exclusive).
- `occurred_at_before` string, date-time, nullable — Return events strictly before this timestamp (exclusive).

## Response `200`

Successful Response

- PublicPaginationEnvelopePublicEventOutput
  - `items` PublicEventOutput[], required — Records on this page.
    - `id` string, uuid, required — Unique identifier.
    - `event_name` string, required — Custom event name.
    - `occurred_at` string, date-time, required — When the event occurred in the source system.
    - `external_event_id` string, nullable — Stable identifier from the caller's system, if provided.
    - `subject` PublicEventSubjectOutput, required
      - `email` string, nullable — Email address of the event subject.
      - `linkedin_url` string, nullable — LinkedIn profile URL of the event subject.
      - `company_domain` string, nullable — Company domain associated with the event subject.
      - `external_contact_id` string, nullable — Contact identifier in the connected CRM.
      - `external_company_id` string, nullable — Company identifier in the connected CRM.
    - `payload` object, required — Free-form JSON attributes for the event.
    - `resolution_status` 'PENDING' | 'RESOLVED' | 'UNRESOLVED', required
    - `contact_id` string, uuid, nullable — Matched org-scoped contact, when resolved.
    - `account_id` string, uuid, nullable — Matched org-scoped account, when resolved.
    - `received_at` string, date-time, required — When Topo received and stored the event.
    - `resolved_at` string, date-time, nullable — When subject resolution completed, if applicable.
  - `total_count` integer, required — Total number of records matching the query.
  - `total_pages` integer, required — Total number of pages.
  - `has_more` boolean, required — Whether more pages remain after the current one.

---

[API](https://skmtc.net/topo/apis/topo-public-api.md) · [All operations](https://skmtc.net/topo/apis/topo-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/topo/topo-public-api/revisions/80f4fd40b75e/schema)
