---
title: "List run events"
method: GET
path: "/agent/runs/{id}/events"
tags: ["Agent"]
---

# List run events

`GET /agent/runs/{id}/events`

List stored events for an Agent run. Set `Accept: text/event-stream` to replay stored events as server-sent events. Use `cursor` for JSON pagination or `Last-Event-ID` for SSE replay.

## Path parameters

- `id` string, required — Agent run ID. New run IDs are returned with the `agent_run_` prefix.

## Query parameters

- `limit` integer — Number of results per page
- `cursor` string — Cursor for pagination. Use the `nextCursor` value from the previous event list response.

## Headers

- `Accept` 'application/json' | 'text/event-stream' — Set to `text/event-stream` to receive server-sent events.
- `Last-Event-ID` string — For SSE replay, return only events after this event ID.

## Response `200`

Agent run events

- AgentRunEventList
  - `object` 'list', required
  - `data` AgentRunEvent[], required
    - `id` string, required — Event ID within the run.
    - `event` 'agent_run.created' | 'agent_run.started' | 'agent_run.completed' | 'agent_run.failed' | 'agent_run.cancelled', required
    - `data` union, required — Any JSON value.
      - boolean
      - number
      - string
      - JsonValue[]
      - object
    - `createdAt` string, date-time, required — When the event was created
  - `hasMore` boolean, required — Whether there are more results
  - `nextCursor` string, nullable, required

## Other responses

- `400` — Invalid request.
- `401` — Team context or authentication was not found.
- `404` — Run not found.
- `429` — Agent run concurrency limit reached.
- `500` — Server error or run timeout.

---

[API](https://skmtc.net/exa/apis/exa-public-api.md) · [All operations](https://skmtc.net/exa/apis/exa-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/exa/exa-public-api/versions/982a352e3781/schema)
