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

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

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

Lists loops in the workspaces the caller can view. Defaults to newest-first; named orders keep paused loops last.

## 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
- `page[number]` integer
- `order` union
  - 'name'
  - 'runCount'
  - 'lastRun'
- `workspaceId` string, uuid
- `projectId` string, uuid
- `environmentId` string, uuid
- `status` union
  - 'active'
  - 'paused'
- `kind` union
  - 'schedule'
  - 'event'

## 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` 'schedule', required
    - `attributes` union, required
      - object
        - `status` union, required
          - 'active'
          - 'paused'
        - `config` object, required
          - `skillRef` string, required
          - `repoUrl` string, required
          - `baseBranch` string
        - `resolvedSkill` object
          - `kind` union, required
            - 'registry'
            - 'local'
          - `name` string, nullable, required
          - `registry` object, nullable, required
            - `workspace` string, required
            - `tile` string, required
            - `version` string, nullable, required
          - `path` string, nullable, required
          - `description` string, nullable, required
        - `label` string, nullable, required
        - `description` string, nullable, required
        - `workspace` object, required
          - `id` string, uuid, required
          - `name` string, required
        - `project` object
          - `id` string, uuid, required
          - `name` string, required
        - `createdBy` object, nullable, required
          - `id` string, uuid, required
          - `firstName` string, nullable, required
          - `lastName` string, nullable, required
        - `environment` object, nullable, required
          - `id` string, uuid, required
          - `name` string, required
        - `openFindingsCount` integer — Number of open Findings V2 findings observed by this schedule. Absent when the count cannot be determined.
        - `runCount` integer, required
        - `nextRunAt` string, date-time, nullable, required
        - `lastRunAt` string, date-time, nullable, required
        - `lastRun` object
          - `id` string, uuid, required
          - `status` union, required
            - 'pending'
            - 'completed'
            - 'failed'
            - 'cancelled'
          - `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.
              - …
            - `reason` string
          - `updatedAt` string, date-time, required
        - `definitionSource` union
          - 'app'
          - 'repo'
        - `sourceCommit` object
          - `sha` string, required
          - `repoFullName` string, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `kind` 'schedule', required
        - `cron` string, required
        - `timezone` string, required
        - `trigger` unknown, required
        - `action` unknown, required
      - object
        - `status` union, required
          - 'active'
          - 'paused'
        - `config` object, required
          - `skillRef` string, required
          - `repoUrl` string, required
          - `baseBranch` string
        - `resolvedSkill` object
          - `kind` union, required
            - 'registry'
            - 'local'
          - `name` string, nullable, required
          - `registry` object, nullable, required
            - `workspace` string, required
            - `tile` string, required
            - `version` string, nullable, required
          - `path` string, nullable, required
          - `description` string, nullable, required
        - `label` string, nullable, required
        - `description` string, nullable, required
        - `workspace` object, required
          - `id` string, uuid, required
          - `name` string, required
        - `project` object
          - `id` string, uuid, required
          - `name` string, required
        - `createdBy` object, nullable, required
          - `id` string, uuid, required
          - `firstName` string, nullable, required
          - `lastName` string, nullable, required
        - `environment` object, nullable, required
          - `id` string, uuid, required
          - `name` string, required
        - `openFindingsCount` integer — Number of open Findings V2 findings observed by this schedule. Absent when the count cannot be determined.
        - `runCount` integer, required
        - `nextRunAt` string, date-time, nullable, required
        - `lastRunAt` string, date-time, nullable, required
        - `lastRun` object
          - `id` string, uuid, required
          - `status` union, required
            - 'pending'
            - 'completed'
            - 'failed'
            - 'cancelled'
          - `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.
              - …
            - `reason` string
          - `updatedAt` string, date-time, required
        - `definitionSource` union
          - 'app'
          - 'repo'
        - `sourceCommit` object
          - `sha` string, required
          - `repoFullName` string, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `kind` 'event', required
        - `cron` unknown, required
        - `timezone` unknown, required
        - `trigger` object, required
          - `eventCount` integer, required
          - `events` string[], required
        - `action` object, required
          - `skillRef` string, required

## Other responses

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

## Changes

- **2026-10-02** `33081fb139c8` — 2 info
  - added `subschema #1, subschema #2` to the `data/items/attributes` response property `anyOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `data/items/attributes` response property `anyOf` list for the response status `200`
- **2026-10-01** `202970d1e3fb` — 1 info
  - endpoint added

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