> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Get schedule

> Returns the details of a single schedule, including its delivery destinations, recurrence configuration, and current status.




## OpenAPI

````yaml /api/openapi.yaml get /v1/schedules/{scheduleId}
openapi: 3.1.0
info:
  title: Omni API
  description: >
    The Omni REST API provides programmatic access to your Omni instance for
    managing users, documents, queries, schedules, and more.  
  version: 1.0.0
  contact:
    name: Omni Support
    url: https://docs.omni.co
servers:
  - url: https://{instance}.omniapp.co/api
    description: Production
    variables:
      instance:
        default: blobsrus
        description: Your production Omni instance subdomain
  - url: https://{instance}.playground.exploreomni.dev/api
    description: Playground
    variables:
      instance:
        default: blobsrus
        description: Your playground Omni instance subdomain
security:
  - bearerAuth: []
  - orgApiKey: []
tags:
  - name: AI
    description: AI-powered query generation
  - name: API Tokens
    description: >-
      Manage API tokens (Organization keys, Personal Access Tokens, MCP OAuth
      grants)
  - name: Connections
    description: Manage database connections
  - name: Connection environments
    description: Manage connection environments database connections
  - name: Content
    description: Unified content retrieval (documents and folders)
  - name: Content migration
    description: Export and import dashboards
  - name: Content validator
    description: Validate content against models and perform find/replace operations
  - name: Dashboard downloads
    description: Download dashboards and tiles as PDF, PNG, XLSX, CSV, or JSON files
  - name: Dashboard filters and controls
    description: Read and update dashboard filter and control default values
  - name: dbt
    description: Manage dbt configuration for connections
  - name: Documents
    description: Create, retrieve, and manage documents
  - name: Document favorites
    description: Favorite and unfavorite documents
  - name: Document labels
    description: Apply and manage labels on documents
  - name: Document permissions
    description: Manage document-level access
  - name: Labels
    description: >
      Manage labels in an organization. Labels can be applied to documents and
      folders to help organize and categorize content.


      **Label types:**

      - **Basic labels**: Can be created and managed by any user

      - **Verified labels**: Indicate curated or officially sanctioned content.
      Admin-only.

      - **Homepage labels**: Appear on the organization homepage. Admin-only.
  - name: Folders
    description: Create and organize content folders
  - name: Folder permissions
    description: Manage folder-level access
  - name: Jobs
    description: Check status of asynchronous jobs
  - name: Models
    description: Create and manage data models
  - name: Model branches
    description: Manage model branches and merge changes
  - name: Model git configuration
    description: Manage git configuration for shared models
  - name: Queries
    description: Execute workbook queries
  - name: Schedules
    description: Create and manage scheduled tasks
  - name: Schedule recipients
    description: Manage schedule recipients
  - name: Schema refresh schedules
    description: Manage automated schema refresh schedules for connections
  - name: Topics
    description: Retrieve topic information from models
  - name: Uploads
    description: Manage file uploads
  - name: Users
    description: Manage users
  - name: User attributes
    description: Manage user attribute definitions
  - name: User groups
    description: Manage user groups
  - name: User model roles
    description: Manage model and connection role assignments for users
  - name: User group model roles
    description: Manage model and connection role assignments for user groups
  - name: Uploads
    description: Manage CSV and spreadsheet uploads
paths:
  /v1/schedules/{scheduleId}:
    get:
      tags:
        - Schedules
      summary: Get schedule
      description: >
        Returns the details of a single schedule, including its delivery
        destinations, recurrence configuration, and current status.
      operationId: getSchedule
      parameters:
        - name: scheduleId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >
            UUID of the schedule. Found in the schedule URL after `/schedules/`.


            To find a schedule's ID:


            1. Navigate to the dashboard of a document.

            2. Click **File > Deliveries & Alerts**.

            3. Next to a schedule, click **Edit**.


            The schedule's ID is in the page's URL, after `/schedules/`. For
            example, the schedule ID in this URL is
            `123e4567-e89b-12d3-a456-426614174000`:


            ```markdown

            https://blobsrus.omniapp.co/dashboards/e23ebaa0/schedules/123e4567-e89b-12d3-a456-426614174000

            ```
        - name: userId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: >
            Membership ID of the user whose permissions should be checked (org
            API keys only). When provided, the endpoint verifies the user can
            view the associated dashboard before returning the schedule.
      responses:
        '200':
          description: Schedule retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Schedule UUID
                  name:
                    type: string
                    description: Schedule name
                  organizationId:
                    type: string
                    format: uuid
                    description: Organization UUID
                  entityId:
                    type: string
                    format: uuid
                    description: ID of the associated dashboard
                  ownerId:
                    type: string
                    format: uuid
                    description: User ID of the schedule owner
                  owner:
                    type: object
                    properties:
                      name:
                        type: string
                        description: Display name of the schedule owner
                  schedule:
                    type: string
                    description: >-
                      Schedule's cron expression (`minute hour day-of-month
                      month day-of-week year`)
                  timezone:
                    type: string
                    description: IANA timezone identifier (e.g., `America/New_York`)
                  fanOut:
                    type: boolean
                    description: >-
                      When `true`, each recipient receives a personalized
                      delivery
                  killJobsOnFailure:
                    type: boolean
                    description: When `true`, the job stops if any queries fail
                  filterConfig:
                    type: object
                    nullable: true
                    description: Dashboard filter values applied at delivery time
                  metadata:
                    type: object
                    nullable: true
                    description: Format options and other delivery settings
                  conditionType:
                    type: string
                    nullable: true
                    enum:
                      - RESULTS_CHANGED
                      - RESULTS_PRESENT
                      - RESULTS_MISSING
                    description: Alert condition type. `null` for standard schedules.
                  conditionQueryMapKey:
                    type: string
                    nullable: true
                    description: >-
                      Query key used to evaluate the alert condition. `null` for
                      standard schedules.
                  disabledAt:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Timestamp when the schedule was manually paused. `null` if
                      active.
                  systemDisabledAt:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Timestamp when the system automatically disabled the
                      schedule
                  systemDisabledReason:
                    type: string
                    nullable: true
                    enum:
                      - missingQuery
                      - noAccess
                      - orphanedFilterConfigKeys
                    description: Reason for system disabling
                  createdAt:
                    type: string
                    format: date-time
                    description: ISO 8601 creation timestamp
                  updatedAt:
                    type: string
                    format: date-time
                    description: ISO 8601 last-updated timestamp
                  destinations:
                    type: array
                    description: Delivery destination configurations
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Destination UUID
                        format:
                          type: string
                          enum:
                            - pdf
                            - png
                            - csv
                            - xlsx
                            - json
                            - link_only
                          description: Output format
                        lastStatus:
                          type: string
                          nullable: true
                          enum:
                            - COMPLETE
                            - ERROR
                            - ERROR_DELIVERED
                            - KILLED
                            - CONDITION_UNMET
                          description: Status of last delivery
                        lastCompletedAt:
                          type: string
                          format: date-time
                          nullable: true
                          description: ISO 8601 timestamp of last successful delivery
                        metadata:
                          type: object
                          nullable: true
                          description: Destination-specific configuration
                        recipients:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                              membershipId:
                                type: string
                                format: uuid
                              membership:
                                type: object
                                properties:
                                  user:
                                    type: object
                                    properties:
                                      email:
                                        type: string
                                        format: email
                                      name:
                                        type: string
                                        nullable: true
                        userGroupRecipients:
                          type: array
                          items:
                            type: object
              example:
                id: 123e4567-e89b-12d3-a456-426614174000
                name: Weekly Sales Report
                organizationId: org-uuid
                entityId: dashboard-uuid
                ownerId: user-uuid
                owner:
                  name: Jane Smith
                schedule: 0 9 ? * MON *
                timezone: America/New_York
                fanOut: false
                killJobsOnFailure: false
                filterConfig: null
                metadata: null
                conditionType: null
                conditionQueryMapKey: null
                disabledAt: null
                systemDisabledAt: null
                systemDisabledReason: null
                createdAt: '2025-01-15T10:00:00.000Z'
                updatedAt: '2025-01-20T08:30:00.000Z'
                destinations:
                  - id: dest-uuid
                    format: pdf
                    lastStatus: COMPLETE
                    lastCompletedAt: '2025-01-20T09:00:05.000Z'
                    metadata:
                      type: email
                    recipients:
                      - id: recipient-uuid
                        membershipId: membership-uuid
                        membership:
                          user:
                            email: alice@example.com
                            name: Alice
                    userGroupRecipients: []
        '400':
          description: |
            Bad Request

            Possible error messages:

            - `scheduleId` is not a valid UUID
            - `userId` is not a valid UUID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalidScheduleId:
                  summary: Invalid schedule ID
                  value:
                    detail: 'Bad Request: scheduleId: Invalid UUID'
                    status: 400
                invalidUserId:
                  summary: Invalid user ID
                  value:
                    detail: 'Bad Request: userId: Invalid UUID'
                    status: 400
        '401':
          description: Missing or invalid authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >
            Forbidden


            The authenticated user does not have permission to view the
            schedule. Possible scenarios:


            - User cannot view the associated dashboard

            - User cannot schedule the associated dashboard

            - User is not the schedule owner

            - User-scoped API key attempted to use `userId` parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                cannotViewDashboard:
                  summary: Cannot view dashboard
                  value:
                    detail: You do not have permission to view this dashboard
                    status: 403
                cannotScheduleDashboard:
                  summary: Cannot schedule dashboard
                  value:
                    detail: User does not have permission to schedule this dashboard
                    status: 403
                userScopedKeyWithUserId:
                  summary: User-scoped key cannot act as another user
                  value:
                    detail: User-scoped API keys cannot act on behalf of other users
                    status: 403
        '404':
          description: |
            Not Found

            Possible error messages:

            - Schedule not found (or belongs to a different organization)
            - `userId` not found in the organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                scheduleNotFound:
                  summary: Schedule not found
                  value:
                    detail: >-
                      Scheduled task with id
                      123e4567-e89b-12d3-a456-426614174000 does not exist
                    status: 404
                userNotFound:
                  summary: User not found
                  value:
                    detail: User with id foreign-membership-uuid does not exist
                    status: 404
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: HTTP response code for the error
          example: <response_code>
        message:
          type: string
          description: Detailed error description
          example: <error_reason>
  responses:
    MethodNotAllowed:
      description: Method Not Allowed - Invalid HTTP method for this endpoint
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Too Many Requests - Rate limit exceeded (60 requests/minute)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Can be either an [Organization API
        Key](/api/authentication#organization-api-keys) or [Personal Access
        Token (PAT)](/api/authentication#personal-access-tokens-pat).


        Include in the `Authorization` header as: `Bearer YOUR_TOKEN`
    orgApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Requires an [Organization API
        Key](/api/authentication#organization-api-keys). Personal Access Tokens
        (PATs) are not supported for this endpoint.


        Include in the `Authorization` header as: `Bearer ORGANIZATION_API_KEY`

````