---
title: "List sending schedules (send windows + timezone)"
method: GET
path: "/schedules"
tags: ["GTM Launch Helpers"]
---

# List sending schedules (send windows + timezone)

`GET /schedules`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/schedules`
- Auth: HTTP bearer

Return the org's send-window schedules.

Each row carries `id`, `name`, `timezone`, and a flattened per-day
`windows` list. Pass `id` back as `schedule_id` on
`POST /campaigns/{id}/launch` or `PATCH /sequences/{id}` to attach the
schedule before the scheduler starts queueing sends.

The underlying sequencer route is `GET /schedules` (unprefixed inside the
sequencer app); this dev-API route is a thin org-scoped proxy that
rewraps the rows into the launch-helper DTO shape and returns a
`{data: [...]}` envelope for consistency with the rest of the dev API.

## Query parameters

- `include_archived` boolean: Include archived schedules in the response. Default False matches the sequencer schedule picker.
- `search` string, nullable: Substring filter on schedule name + description. Case-insensitive on the underlying SQL.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Response `200`

Successful Response

- SchedulesListResponse: Envelope for `GET /schedules`.
  - `data` ScheduleListItem[], required
    - `id` string, required: Schedule UUID; pass back to launch / PATCH endpoints.
    - `name` string, required: Display name as set in the Sequencer schedule UI.
    - `description` string, nullable: Optional human description.
    - `timezone` string, required: IANA timezone name applied to every window (e.g. 'Europe/Madrid').
    - `windows` ScheduleDayWindow[]: Per-day send windows for the schedule. Days with no window are omitted.
      - `day` string, required: Lowercase day name: monday | tuesday | wednesday | thursday | friday | saturday | sunday.
      - `start` string, required: Window start, 24h HH:MM in `timezone`.
      - `end` string, required: Window end, 24h HH:MM in `timezone`.
    - `is_archived` boolean: Archived schedules are excluded by default — pass `include_archived=true` to include them.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/89fc11143b70?raw)
