---
title: "Get schedule"
method: GET
path: "/api/v1/schedules/{scheduleId}"
tags: ["Schedules"]
---

# Get schedule

`GET /api/v1/schedules/{scheduleId}`

## Path parameters

- `scheduleId` string, uuid, required — The UUID of the scheduled task. Can be found in the schedule's URL after /schedules/.

## Query parameters

- `userId` string, uuid — Membership ID of the user whose access should be checked (org API keys only). When provided, the endpoint checks if that user has permission to view the schedule. User-scoped API keys cannot use this parameter.

## Response `200`

Schedule details

- SchedulesGetResponse
  - `conditionQueryMapKey` string, nullable, required — Query key used for alert condition (null for standard schedules)
  - `conditionType` string, nullable, required — Alert condition type: RESULTS_CHANGED, RESULTS_PRESENT, RESULTS_MISSING
  - `createdAt` string, date-time, required — Creation timestamp
  - `destinations` SchedulesGetDestination[], required — Delivery destination configurations
    - `format` string, required — Output format: pdf, png, csv, xlsx, json, link_only
    - `id` string, uuid, required — Destination UUID
    - `lastCompletedAt` string, date-time, nullable, required — Timestamp of last completed delivery
    - `lastStatus` string, nullable, required — Status of last delivery: COMPLETE, ERROR, ERROR_DELIVERED, KILLED, CONDITION_UNMET
    - `metadata` unknown
    - `recipients` SchedulesGetRecipient[], required — Individual email recipients
      - `id` string, uuid, required — Recipient ID
      - `membership` object, required
        - `user` object, required
          - `email` string, email, required — Recipient email
          - `name` string, nullable, required — Recipient name
      - `membershipId` string, uuid, required — Membership ID
    - `userGroupRecipients` unknown[], required — User group recipients
      - unknown
  - `disabledAt` string, date-time, nullable, required — Timestamp when the schedule was paused (null if active)
  - `entityId` string, required — ID of the associated dashboard
  - `fanOut` boolean, required — Whether personalized fan-out delivery is enabled
  - `filterConfig` unknown
  - `id` string, uuid, required — Schedule UUID
  - `killJobsOnFailure` boolean, required — Whether to stop the job if any queries fail
  - `metadata` unknown
  - `name` string, required — Schedule name
  - `organizationId` string, uuid, required — Organization UUID
  - `owner` object, required
    - `name` string, required — Schedule owner name
  - `ownerId` string, uuid, required — User ID of the schedule owner
  - `schedule` string, required — AWS EventBridge cron expression (minute hour day-of-month month day-of-week year)
  - `systemDisabledAt` string, date-time, nullable, required — Timestamp when the system disabled the schedule
  - `systemDisabledReason` string, nullable, required — Reason for system disabling: missingQuery, noAccess, orphanedFilterConfigKeys
  - `timezone` string, required — IANA timezone for the schedule
  - `updatedAt` string, date-time, required — Last update timestamp

## Other responses

- `401` — Authentication required
- `403` — Permission denied - must be schedule owner or have manage permission
- `404` — Schedule not found

---

[API](https://skmtc.net/omniapp/apis/omni-api.md) · [All operations](https://skmtc.net/omniapp/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omniapp/omni-api/versions/de7cac8b5983/schema)
