---
title: "List Runs"
method: GET
path: "/gtm-internal/runs"
tags: ["gtm-internal"]
---

# List Runs

`GET /gtm-internal/runs`

## Request

- Base URL: `https://api-v1.unusual.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api-v1.unusual.ai/gtm-internal/runs`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

List NEW-pathway runs across ALL accounts — the ``analysis_run`` registry
and the ``routine_run`` engine, UNIONED into one stream (run-type filter, not
tabs). Staff-only global view; the legacy Temporal fleet is NOT surfaced.

The page is a CHRONICLE of executions (research-run model): top-level rows
are firings, bundled steps nest under them (routine executions own steps
via ``routine_run_id``; a simulation batch owns its members via the
member-side ``batch_run_ref`` stamp), the investigation is a LABEL on
each row — never a grouping level. ``work=research`` is that chronicle
narrowed to research firings, with unbundled legacy ``analysis_run`` rows
interleaved (analysis work IS research; operational routines write no
analysis rows). ``work=operational`` is the ops activity stream (routine
firings only). ``investigation_id`` filters to one question's WORK — its
executions (steps nested) plus unbundled ad-hoc runs stamped at launch.

Filters compose: ``run_type`` (an analysis type key, an ACTIVITY key —
the human-oriented grouping in ``_ACTIVITY_RUN_TYPES``, spanning both
tables — or a routine slug), ``status``, ``source`` (which table),
``domain_id`` / ``org_id`` /
``scope="global"`` (the subject), ``since`` / ``until`` (created_at range).
Newest first; ``page`` / ``page_size`` like the Tasks list.

## Query parameters

- `run_type` string, nullable
- `status` string, nullable
- `source` string, nullable
- `account_id` string, nullable
- `domain_id` string, nullable
- `org_id` string, nullable
- `scope` string, nullable
- `work` string, nullable
- `investigation_id` string, nullable
- `since` string, nullable
- `until` string, nullable
- `page` integer
- `page_size` integer

## Response `200`

Successful Response

- RunListResponse
  - `runs` RunOut[], required
    - `run_ref` string, required
    - `source` string, required
    - `run_type` string, required
    - `run_type_label` string, required
    - `status` string, nullable
    - `subject_kind` string, required
    - `account_id` string, nullable
    - `domain_id` string, nullable
    - `domain_host` string, nullable
    - `org_id` string, nullable
    - `org_name` string, nullable
    - `trigger` string, nullable
    - `owner` string, nullable
    - `started` string, nullable
    - `completed` string, nullable
    - `duration_seconds` number, nullable
    - `cost` number, nullable
    - `error` string, nullable
    - `cancel_requested_at` string, nullable
    - `routine_run_id` string, nullable
    - `investigation_id` string, nullable
    - `investigation_question` string, nullable
    - `steps` RunOut[]
  - `total` integer, required
  - `page` integer
  - `page_size` integer

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unusual/apis/dashboard-server.md) - [All operations](https://skmtc.dev/unusual/apis/dashboard-server/llms.txt) - [OpenAPI document](https://skmtc.dev/unusual/apis/dashboard-server/revisions/89f716930ead?raw)
