---
title: "GET /experimental/orgs/{orgId}/loops/runs"
method: GET
path: "/experimental/orgs/{orgId}/loops/runs"
tags: ["Launch Runs"]
---

# GET /experimental/orgs/{orgId}/loops/runs

`GET /experimental/orgs/{orgId}/loops/runs`

## Request

- Base URL: `https://api.tessl.io`
- URL: `https://api.tessl.io/experimental/orgs/{orgId}/loops/runs`
- Auth: none declared

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

## Path parameters

- `orgId` string, uuid, required

## 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'
- `filter[linkRel]` union
  - 'produced'
  - 'references'
- `filter[linkType]` union
  - 'github_pr'
  - 'github_issue'
  - 'linear_issue'
- `filter[linkValue]` string
- `filter[createdAt][gte]` string, date-time
- `filter[createdAt][lt]` string, date-time
- `label` string

## 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
      - `loops` object[]
        - `id` string, uuid, required
        - `label` string, nullable, required
        - `project` object, required
          - `id` string, uuid, required
          - `name` string, required
      - `loopsTruncated` boolean
      - `triggerNames` string[]
      - `triggerEvents` string[]
      - `status` union, required
        - 'pending'
        - 'completed'
        - 'failed'
        - 'cancelled'
      - `config` object, required
        - `skillRef` string, required
        - `skillVersion` string: Registry plugin version recorded when the run was first prepared. For a skill ref that names a version, it is that version, which the run installs. For a ref without one, it is the latest version the run's workspace could see, which the run installs unless the target repository's tessl.json declares the plugin itself or the ref names a directory in the repository. Absent for built-in and local skills, when no version was visible to the run's workspace, and for runs prepared before versions were recorded.
        - `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.
          - 'minimal'
          - 'low'
          - 'medium'
          - 'high'
          - 'xhigh'
          - 'max'
        - `triggerSource` union, required
          - 'manual'
          - 'api'
          - 'webhook'
          - 'scheduled'
          - 'memory-promotion'
        - `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
      - `linkCount` integer, required
      - `hasResult` boolean, required

## Other responses

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

## Changes

- **2026-10-20** `785ae6fc1ed0`: 1 info
  - added the optional property `data/items/attributes/config/skillVersion` to the response with the `200` status
- **2026-10-08** `8cae535b1242`: 1 info
  - added `subschema #5` to the `data/items/attributes/config/triggerSource` response property `anyOf` list for the response status `200`
- **2026-10-05** `cf6653b6f8ee`: 2 info
  - added the optional property `data/items/attributes/triggerEvents` to the response with the `200` status
  - added the optional property `data/items/attributes/triggerNames` to the response with the `200` status
- **2026-10-01** `b46feecd5859`: 1 info
  - added `subschema #1` to the `data/items/attributes/config/effort` response property `anyOf` list for the response status `200`
- **2026-10-01** `202970d1e3fb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/orgs/:orgId/loops/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/7386f1e6295b?raw)
