---
title: "List runners"
method: GET
path: "/runners"
---

# List runners

`GET /runners`

Get all self-hosted runners for the current account.

## Query parameters

- `page` integer — The page number to fetch.
- `page_size` integer — The number of records to fetch on each page.

## Response `200`

OK

- ListRunnersResponse
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `pages` Pagination, required
    - `num_pages` integer, required
    - `page` integer, required
    - `page_size` integer, required
    - `total` integer, required
  - `runners` Runner[], required
    - `active_runs` Run[], required
      - `$link` string, required — $link is deprecated. Individual responses include links.
      - `app_name` string, required
      - `app_slug` string — This property is deprecated. Use app_name instead.
      - `app_version` string, required
      - `attempts` RunAttempt[] — Previous attempt details. Populated on describe, omitted on list.
        - `ended_at` string, date-time, nullable, required — When this attempt ended.
        - `exit_code` integer, nullable, required — Exit code for this attempt.
        - `seq` integer, required — 1-based attempt number.
        - `started_at` string, date-time, nullable, required — When the run started executing your code.
        - `starting_at` string, date-time, nullable, required — When the runner environment started to get setup.
        - `status` string, required — Terminal status of this attempt.
      - `cancelled_at` string, date-time, nullable, required
      - `created_at` string, date-time, required
      - `created_by` RunCreator
        - `name` string, required — The creator's name: a user's full name (or email) or a service account's name.
        - `type` 'user' | 'service_account', required — The kind of principal that created the run.
      - `ended_at` string, date-time, nullable, required
      - `environment` string, required
      - `exit_code` integer, nullable, required — Exit code of the run, if the run is completed. Null if there is no exit code
      - `hostname` string — hostname is deprecated, use subdomain
      - `initiator` RunInitiator, required
        - `details` union, required — Additional information about the initiator of a run.
          - object
            - `schedule_name` string — The name of the schedule that initiated this run, if type is 'tower_schedule'
          - object
            - `run_app_name` string — The name of the app that initiated this run, if type is 'tower_run'
            - `run_number` integer — The number of the run that initaited this run, if type is 'tower_run'
        - `type` string, nullable, required — The type of initiator for this run. Null if none or unknown.
      - `is_scheduled` boolean, required — Whether this run was triggered by a schedule (true) or on-demand (false). Historical records default to false.
      - `num_attempts` integer, required — Number of attempts for this run (1 = original, 2+ = retries).
      - `number` integer, required
      - `parameters` RunParameter[], required — Parameters used to invoke this run.
        - `hidden` boolean — Whether this parameter is hidden/secret. Defaults to false.
        - `is_override` boolean, nullable — Whether this parameter's value was supplied as an override at run/schedule creation time (true) or comes from the app version's default (false).
        - `name` string, required
        - `value` string, required
      - `retry_policy` RunRetryPolicy
        - `max_retries` integer, required
        - `retry_delay_seconds` integer, required
        - `use_exponential_backoff` boolean, required
      - `run_id` string, required
      - `scheduled_at` string, date-time, required
      - `started_at` string, date-time, nullable, required — When the run started executing your code.
      - `starting_at` string, date-time, nullable, required — When the runner environment started to get setup.
      - `status` 'scheduled' | 'retrying' | 'pending' | 'starting' | 'running' | 'crashed' | 'errored' | 'exited' | 'cancelled', required
      - `status_group` 'successful' | 'failed' | '', required
      - `subdomain` string, nullable — If app is externally accessible, then you can access this run with this hostname.
    - `created_at` string, required
    - `id` string, required
    - `last_health_check_at` string
    - `max_concurrent_apps` integer, required
    - `name` string — Optional human-readable name for the runner
    - `num_runs` integer, required
    - `status` string, required

## Other responses

- `default` — Error

---

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