> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ingestly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List events

> Returns the events of the last 7 days, oldest first by `id`, in the same shape a subscription delivers them. `after` returns only events whose `id` is greater. Ids reflect creation time, not commit time, so an event can appear later with a lower id than one you already read: to poll, set `after` to an id seen a few minutes before your newest one, read from page 1, and dedupe on `id`. Events carry no ordering guarantee across types. Filter by `type` (`run.completed` style). Subscription pings are never listed. `page` starts at 1; `pageSize` defaults to 20, at most 100.

Requires the `events:read` [scope](/api-reference/authentication#scopes). Returns the [events](/api-reference/events) of the last 7 days in your key's environment, in the shape a subscription delivers them. Test `ping` events are never listed. See [reading events with the API](/api-reference/events#reading-events-with-the-api) for how to set `after` so you do not miss an event.


## OpenAPI

````yaml GET /events
openapi: 3.1.1
info:
  title: Ingestly API
  description: >-
    Public Ingestly API. Authenticate every request with an API key in the
    `X-Api-Key` header. A key belongs to one organization and carries scopes
    (such as `workflows:trigger` or `runs:read`); each operation requires one
    scope, and a key without it is rejected with 403. Errors use RFC 7807
    problem details.
  version: 1.0.0
servers:
  - url: https://api.ingestly.ai
security:
  - ApiKey: []
tags:
  - name: Workflows
  - name: Runs
  - name: Review Tasks
  - name: Events
  - name: Documents
paths:
  /events:
    get:
      tags:
        - Events
      summary: List events
      description: >-
        Returns the events of the last 7 days, oldest first by `id`, in the same
        shape a subscription delivers them. `after` returns only events whose
        `id` is greater. Ids reflect creation time, not commit time, so an event
        can appear later with a lower id than one you already read: to poll, set
        `after` to an id seen a few minutes before your newest one, read from
        page 1, and dedupe on `id`. Events carry no ordering guarantee across
        types. Filter by `type` (`run.completed` style). Subscription pings are
        never listed. `page` starts at 1; `pageSize` defaults to 20, at most
        100.
      operationId: listEvents
      parameters:
        - name: type
          in: query
          schema:
            enum:
              - document.received
              - run.completed
              - run.failed
              - run.cancelled
              - review.created
              - review.completed
            type: string
        - name: after
          in: query
          schema:
            type: string
            format: uuid
        - name: page
          in: query
          schema:
            type: integer
            format: int32
        - name: pageSize
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          headers:
            X-Correlation-ID:
              description: >-
                Server-generated request identifier. Quote it when contacting
                support.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedResponseOfGetEventsResponse'
        '400':
          description: >-
            Bad Request. `page` is less than 1 or too large, `pageSize` is not
            between 1 and 100, or `type` is not an event type.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetailResponse'
        '401':
          description: >-
            Unauthorized. The API key is missing, invalid, expired or
            deactivated.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetailResponse'
        '403':
          description: >-
            Forbidden. The API key lacks the `events:read` scope, or the plan
            does not include API access.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetailResponse'
        '429':
          description: >-
            Too Many Requests. The plan's rate limit was exceeded; retry after
            the seconds in Retry-After.
          headers:
            Retry-After:
              description: Seconds until the rate limit window resets.
              schema:
                type: integer
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetailResponse'
        '500':
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetailResponse'
components:
  schemas:
    PagedResponseOfGetEventsResponse:
      required:
        - count
        - pages
        - data
      type: object
      properties:
        count:
          type: integer
          format: int32
        pages:
          type: integer
          format: int32
        data:
          type: array
          items:
            $ref: '#/components/schemas/GetEventsResponse'
    ProblemDetailResponse:
      required:
        - status
        - title
        - type
        - instance
        - traceId
      type: object
      properties:
        status:
          type: integer
          format: int32
        title:
          type: string
        type:
          type: string
        instance:
          type: string
        traceId:
          type: string
        detail:
          type:
            - 'null'
            - string
        errors:
          type:
            - 'null'
            - object
          additionalProperties:
            type: array
            items:
              type: string
    GetEventsResponse:
      required:
        - id
        - type
        - createdOn
        - environment
        - data
      type: object
      properties:
        id:
          examples:
            - 0199a6c4-2a3b-7c4d-8e5f-6a7b8c9d0e1f
          type: string
          format: uuid
        type:
          examples:
            - run.completed
          enum:
            - document.received
            - run.completed
            - run.failed
            - run.cancelled
            - review.created
            - review.completed
          type: string
        createdOn:
          examples:
            - '2026-10-02T14:05:12+00:00'
          type: string
          format: date-time
        environment:
          examples:
            - prod
          enum:
            - dev
            - prod
          type: string
        data:
          $ref: '#/components/schemas/JsonObject'
    JsonObject:
      type: object
  securitySchemes:
    ApiKey:
      type: apiKey
      name: X-Api-Key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.