---
title: "List Schedules"
method: GET
path: "/worker/{worker_id}/schedules"
tags: ["worker-schedules"]
---

# List Schedules

`GET /worker/{worker_id}/schedules`

## Path parameters

- `worker_id` string, required

## Query parameters

- `page` integer — Page number for pagination
- `limit` integer — Number of schedules per page (max 1000)
- `status` 'active' | 'completed' — Visibility filter for paginated Worker schedule lists. Active rows have no ``completed_at``. Completed rows are one-shots that have already fired. Soft-deleted rows are never returned.

## Response `200`

Successful Response

- ListWorkerSchedulesResponse
  - `schedules` WorkerScheduleResponse[], required
    - `id` string, uuid, required
    - `worker_id` string, required
    - `name` string, required
    - `directive` string, required
    - `timing` union, required
      - OneShotScheduleTiming
        - `kind` 'one_shot', required
        - `datetime` string, date-time, required
        - `timezone` string, required
      - RecurringScheduleTiming
        - `kind` 'recurring', required
        - `cron_expression` string, required
        - `timezone` string, required
    - `created_by_user` WorkerScheduleUserResponse, required — Schedule creator: a Traversal user or a resolved Slack/Teams identity.
      - `id` string, required
      - `email` string, nullable, required
      - `name` string, nullable, required
      - `profile_photo_url` string, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `completed_at` string, date-time, nullable, required
  - `count` integer, required
  - `prev` integer, nullable
  - `next` integer, nullable
  - `total` integer, required

## Other responses

- `422` — Validation Error

## Changes

> 28 revisions in range; 7 not diffed.

- **2026-08-28** `6bbc7dd4088c` — 2 breaking
  - response property `schedules/items/created_by_user/anyOf[subschema #1: WorkerScheduleUserResponse]/email` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - the `schedules/items/created_by_user/anyOf[subschema #1: WorkerScheduleUserResponse]/id` response's property format changed from `uuid` to no format for status `200`
- **2026-08-26** `6ee9e975dda2` — 9 info
  - added the new optional `query` request parameter `limit`
  - added the new optional `query` request parameter `page`
  - added the new optional `query` request parameter `status`
  - added the optional property `next` to the response with the `200` status
  - …5 more

[Change history](https://skmtc.dev/traversal/apis/fastapi/changes/worker/:worker_id/schedules/get.md)

---

[API](https://skmtc.dev/traversal/apis/fastapi.md) · [All operations](https://skmtc.dev/traversal/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/traversal/fastapi/revisions/b68d9bf4b28f/schema)
