---
title: "Get Schedule"
method: GET
path: "/worker/{worker_id}/schedules/{schedule_id}"
tags: ["worker-schedules"]
---

# Get Schedule

`GET /worker/{worker_id}/schedules/{schedule_id}`

## Request

- Base URL: `https://api.traversal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.traversal.com/worker/{worker_id}/schedules/{schedule_id}`
- Auth: none declared

## Path parameters

- `worker_id` string, required
- `schedule_id` string, required

## Response `200`

Successful Response

- WorkerScheduleResponse
  - `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

## Other responses

- `422`: Validation Error

## Changes

> 66 revisions in range; 9 not diffed.

- **2026-08-28** `6bbc7dd4088c`: 2 breaking
  - response property `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 `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`: 2 info
  - added the required property `completed_at` to the response with the `200` status
  - added the required property `created_by_user` to the response with the `200` status

[Operation history](https://skmtc.dev/traversal/apis/traversal-api/changes/worker/:worker_id/schedules/:schedule_id/get.md)

---

[API](https://skmtc.dev/traversal/apis/traversal-api.md) - [All operations](https://skmtc.dev/traversal/apis/traversal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/traversal/apis/traversal-api/revisions/31e1a8b7cf89?raw)
