---
title: "GET /experimental/launch-runs"
method: GET
path: "/experimental/launch-runs"
tags: ["Launch Runs"]
---

# GET /experimental/launch-runs

`GET /experimental/launch-runs`

Lists launch runs in the workspaces the caller can view, newest-first.

## Query parameters

- `sort` union
  - union[]
    - union
      - 'createdAt'
      - '-createdAt'
      - 'updatedAt'
      - '-updatedAt'
      - 'id'
      - '-id'
  - 'createdAt'
  - '-createdAt'
  - 'updatedAt'
  - '-updatedAt'
  - 'id'
  - '-id'
- `page[size]` number
- `page[after]` string
- `page[before]` string
- `workspaceId` string, uuid
- `status` union
  - 'pending'
  - 'completed'
  - 'failed'
  - 'cancelled'

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
    - `next` string, uri, nullable, required
    - `prev` string, uri, nullable, required
  - `meta` object, required
    - `count` number, required
  - `data` object[], required
    - `id` string, uuid, required
    - `type` 'launch-run', required
    - `attributes` object, required
      - `status` union, required
        - 'pending'
        - 'completed'
        - 'failed'
        - 'cancelled'
      - `config` object, required
        - `skillRef` string, required
        - `repoUrl` string, required
        - `agent` string, required
        - `model` string, required
        - `effort` union — Explicit reasoning effort for the selected agent. Omitted keeps the agent default. Unsupported agent and effort combinations are rejected before the run is created.
          - 'low'
          - 'medium'
          - 'high'
          - 'xhigh'
          - 'max'
        - `triggerSource` union, required
          - 'manual'
          - 'api'
          - 'webhook'
          - 'scheduled'
        - `mcpServers` string[]
      - `label` string, nullable, required
      - `workspace` object, required
        - `id` string, uuid, required
        - `name` string, required
      - `createdBy` object, nullable, required
        - `id` string, uuid, required
        - `firstName` string, nullable, required
        - `lastName` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `progressUpdatedAt` string, date-time, nullable, required
      - `liveness` object
        - `phase` union, required
          - 'queued'
          - 'starting'
          - 'preparing'
          - 'running'
          - 'recovering'
          - 'retrying'
          - 'finalizing'
        - `message` string
        - `updatedAt` string, date-time, nullable, required
      - `failureReason` object
        - `code` string, required
        - `explanation` string, required
      - `outcome` object
        - `status` union, required — What the skill did: `succeeded` — it did its work; `no_action` — it ran but made no change; `needs_input` — it asked a blocking question and stopped; `failed` — it tried and could not complete. Not the same as the launch run's own status, which says whether the platform got the skill to run at all.
          - 'succeeded'
          - 'no_action'
          - 'needs_input'
          - 'failed'
        - `reason` string
      - `summary` string
      - `pr` object
        - `url` string, required
        - `number` number
      - `hasResult` boolean, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-09-10** `e57a144d1cab` — 1 info
  - added the optional property `data/items/attributes/config/effort` to the response with the `200` status
- **2026-09-08** `78f96a975834` — 3 info
  - added `subschema #2, subschema #3` to the `data/items/attributes/outcome/status` response property `anyOf` list for the response status `200`
  - removed `subschema #2` from the `data/items/attributes/outcome/status` response property `anyOf` list for the response status `200`
  - added the required property `data/items/attributes/failureReason/explanation` to the response with the `200` status
- **2026-08-30** `11217e48a1a9` — 1 breaking
  - removed the required property `data/items/attributes/failureReason/message` from the response with the `200` status
- **2026-08-27** `4e0376ae878b` — 3 info
  - added the optional property `data/items/attributes/liveness` to the response with the `200` status
  - added the required property `data/items/attributes/config/triggerSource` to the response with the `200` status
  - added the required property `data/items/attributes/progressUpdatedAt` to the response with the `200` status
- **2026-08-26** `c3a0e6fe9b65` — 2 info
  - added the optional property `data/items/attributes/pr` to the response with the `200` status
  - added the optional property `data/items/attributes/summary` to the response with the `200` status

[Full history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/launch-runs/get.md)

---

[API](https://skmtc.dev/tessl/apis/tessl-api.md) · [All operations](https://skmtc.dev/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tessl/apis/tessl-api/revisions/4b753c0f273e?raw)
