---
title: "List Runs"
method: GET
path: "/monitors/{id}/runs"
tags: ["Runs"]
---

# List Runs

`GET /monitors/{id}/runs`

Lists all runs for a monitor with cursor-based pagination. Runs are returned in reverse chronological order.

## Path parameters

- `id` string, required — The monitor ID

## Query parameters

- `cursor` string — Pagination cursor from a previous response
- `limit` integer — Number of results per page

## Response `200`

A paginated list of runs

- ListSearchMonitorRunsResponse
  - `data` SearchMonitorRun[], required — The list of runs
    - `id` string, required — The unique identifier for the run
    - `monitorId` string, required — The monitor this run belongs to
    - `status` 'pending' | 'running' | 'completed' | 'failed' | 'cancelled', required — The status of the run
    - `output` SearchMonitorRunOutput, required
      - `results` object[], nullable — The search results
      - `content` union — Any JSON value.
        - boolean
        - number
        - string
        - JsonValue[]
        - object
      - `grounding` object[], nullable — Field-level citations with confidence levels
        - `field` string, required — The output field this citation applies to
        - `citations` object[], required
          - `url` string, uri, required — Source URL.
          - `title` string, required — Source title.
        - `confidence` 'low' | 'medium' | 'high', required — Model-reported reliability for this field.
    - `failReason` 'api_key_invalid' | 'insufficient_credits' | 'invalid_params' | 'rate_limited' | 'source_not_available' | 'forbidden' | 'search_unavailable' | 'search_failed' | 'internal_error', nullable, required — The reason the run failed. Null unless status is `failed`. `source_not_available` means the search requested a domain Exa cannot return (remove it from the search), and `forbidden` means the request was otherwise not permitted.
    - `startedAt` string, date-time, nullable, required — When the run started executing
    - `completedAt` string, date-time, nullable, required — When the run completed successfully
    - `failedAt` string, date-time, nullable, required — When the run failed
    - `cancelledAt` string, date-time, nullable, required — When the run was cancelled
    - `durationMs` integer, nullable, required — Total execution time in milliseconds
    - `createdAt` string, date-time, required — When the run was created
    - `updatedAt` string, date-time, required — When the run was last updated
  - `hasMore` boolean, required — Whether there are more results
  - `nextCursor` string, nullable — Cursor for the next page

---

[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)
