> ## Documentation Index
> Fetch the complete documentation index at: https://lightdash-feature-prod-8453-51bb.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List SQL chart schedulers

> Get all schedulers for a SQL chart



## OpenAPI

````yaml https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/saved/{savedSqlUuid}/schedulers
openapi: 3.0.0
info:
  title: Lightdash API
  version: 0.3225.0
  description: >
    Open API documentation for all public Lightdash API endpoints. #
    Authentication Before you get started, you might need to create a Personal
    Access Token to authenticate via the API. You can create a token by
    following this guide: https://docs.lightdash.com/references/personal_tokens
  license:
    name: MIT
  contact:
    name: Lightdash Support
    email: support@lightdash.com
    url: https://docs.lightdash.com/help-and-contact/contact/contact_info/
servers:
  - url: /
security: []
tags:
  - name: My Account
    description: These routes allow users to manage their own user account.
  - name: Organizations
    description: >-
      Each user is a member of a single organization. These routes allow users
      to manage their organization. Most actions are only available to admin
      users.
  - name: Projects
    description: >-
      Projects belong to a single organization. These routes allow users to
      manage their projects, browse content, and execute queries. Users inside
      an organization might have access to a project from an organization-level
      role or they might be granted access to a project directly.
  - name: Spaces
    description: >-
      Spaces allow you to organize charts and dashboards within a project. They
      also allow granular access to content by allowing you to create private
      spaces, which are only accessible to the creator and admins.
  - name: Roles & Permissions
    description: >-
      These routes allow users to manage roles and permissions for their
      organization.
    externalDocs:
      url: https://docs.lightdash.com/references/roles
  - name: Query
    description: >-
      These routes allow users to execute and manage queries against their data
      warehouse. This includes metric queries, SQL queries, and retrieving query
      results.
paths:
  /api/v1/projects/{projectUuid}/sqlRunner/saved/{savedSqlUuid}/schedulers:
    get:
      tags:
        - SQL runner
      summary: List SQL chart schedulers
      description: Get all schedulers for a SQL chart
      operationId: getSqlChartSchedulers
      parameters:
        - in: path
          name: projectUuid
          required: true
          schema:
            type: string
        - in: path
          name: savedSqlUuid
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  results:
                    items:
                      $ref: '#/components/schemas/SchedulerAndTargets'
                    type: array
                  status:
                    type: string
                    enum:
                      - ok
                    nullable: false
                required:
                  - results
                  - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      security: []
components:
  schemas:
    SchedulerAndTargets:
      allOf:
        - $ref: '#/components/schemas/Scheduler'
        - properties:
            latestRun:
              allOf:
                - $ref: '#/components/schemas/SchedulerRun'
              nullable: true
            targets:
              items:
                anyOf:
                  - $ref: '#/components/schemas/SchedulerSlackTarget'
                  - $ref: '#/components/schemas/SchedulerEmailTarget'
                  - $ref: '#/components/schemas/SchedulerMsTeamsTarget'
                  - $ref: '#/components/schemas/SchedulerGoogleChatTarget'
              type: array
          required:
            - targets
          type: object
    ApiErrorPayload:
      properties:
        error:
          properties:
            data:
              $ref: '#/components/schemas/AnyType'
              description: Optional data containing details of the error
            message:
              type: string
              description: A friendly message summarising the error
            name:
              type: string
              description: Unique name for the type of error
            statusCode:
              type: number
              format: integer
              description: HTTP status code
          required:
            - name
            - statusCode
          type: object
        status:
          type: string
          enum:
            - error
          nullable: false
      required:
        - error
        - status
      type: object
      description: |-
        The Error object is returned from the api any time there is an error.
        The message contains
    Scheduler:
      anyOf:
        - $ref: '#/components/schemas/ChartScheduler'
        - $ref: '#/components/schemas/DashboardScheduler'
        - $ref: '#/components/schemas/SqlChartScheduler'
        - $ref: '#/components/schemas/AppScheduler'
    SchedulerRun:
      properties:
        format:
          $ref: '#/components/schemas/SchedulerFormat'
        createdByUserName:
          type: string
        createdByUserUuid:
          type: string
        resourceName:
          type: string
        resourceUuid:
          type: string
        resourceType:
          $ref: '#/components/schemas/SchedulerResourceType'
        logCounts:
          $ref: '#/components/schemas/LogCounts'
        details:
          allOf:
            - $ref: '#/components/schemas/Record_string.AnyType_'
          nullable: true
        createdAt:
          type: string
          format: date-time
        runStatus:
          $ref: '#/components/schemas/SchedulerRunStatus'
        status:
          $ref: '#/components/schemas/SchedulerJobStatus'
        scheduledTime:
          type: string
          format: date-time
        schedulerName:
          type: string
        schedulerUuid:
          type: string
        runId:
          type: string
      required:
        - format
        - createdByUserName
        - createdByUserUuid
        - resourceName
        - resourceUuid
        - resourceType
        - logCounts
        - details
        - createdAt
        - runStatus
        - status
        - scheduledTime
        - schedulerName
        - schedulerUuid
        - runId
      type: object
    SchedulerSlackTarget:
      properties:
        channel:
          type: string
        schedulerUuid:
          type: string
        updatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        schedulerSlackTargetUuid:
          type: string
      required:
        - channel
        - schedulerUuid
        - updatedAt
        - createdAt
        - schedulerSlackTargetUuid
      type: object
    SchedulerEmailTarget:
      properties:
        recipient:
          type: string
        schedulerUuid:
          type: string
        updatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        schedulerEmailTargetUuid:
          type: string
      required:
        - recipient
        - schedulerUuid
        - updatedAt
        - createdAt
        - schedulerEmailTargetUuid
      type: object
    SchedulerMsTeamsTarget:
      properties:
        webhook:
          type: string
        schedulerUuid:
          type: string
        updatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        schedulerMsTeamsTargetUuid:
          type: string
      required:
        - webhook
        - schedulerUuid
        - updatedAt
        - createdAt
        - schedulerMsTeamsTargetUuid
      type: object
    SchedulerGoogleChatTarget:
      properties:
        googleChatWebhook:
          type: string
        schedulerUuid:
          type: string
        updatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        schedulerGoogleChatTargetUuid:
          type: string
      required:
        - googleChatWebhook
        - schedulerUuid
        - updatedAt
        - createdAt
        - schedulerGoogleChatTargetUuid
      type: object
    AnyType:
      description: |-
        This AnyType is an alias for any
        The goal is to make it easier to identify any type in the codebase
        without having to eslint-disable all the time
        These are only used on legacy `any` types, don't use it for new types.
        This is added on a separate file to avoid circular dependencies.
    ChartScheduler:
      allOf:
        - $ref: '#/components/schemas/SchedulerBase'
        - properties:
            parameters:
              $ref: '#/components/schemas/ParametersValuesMap'
            filters:
              $ref: '#/components/schemas/Filters'
            appUuid:
              type: number
              enum:
                - null
              nullable: true
            savedSqlUuid:
              type: number
              enum:
                - null
              nullable: true
            dashboardUuid:
              type: number
              enum:
                - null
              nullable: true
            savedChartUuid:
              type: string
          required:
            - appUuid
            - savedSqlUuid
            - dashboardUuid
            - savedChartUuid
          type: object
    DashboardScheduler:
      allOf:
        - $ref: '#/components/schemas/SchedulerBase'
        - properties:
            selectedTabs:
              items:
                type: string
              type: array
              nullable: true
            customViewportWidth:
              type: number
              format: double
            parameters:
              $ref: '#/components/schemas/ParametersValuesMap'
            filters:
              items:
                $ref: '#/components/schemas/DashboardFilterRule'
              type: array
            appUuid:
              type: number
              enum:
                - null
              nullable: true
            savedSqlUuid:
              type: number
              enum:
                - null
              nullable: true
            dashboardUuid:
              type: string
            savedChartUuid:
              type: number
              enum:
                - null
              nullable: true
          required:
            - selectedTabs
            - appUuid
            - savedSqlUuid
            - dashboardUuid
            - savedChartUuid
          type: object
    SqlChartScheduler:
      allOf:
        - $ref: '#/components/schemas/SchedulerBase'
        - properties:
            appUuid:
              type: number
              enum:
                - null
              nullable: true
            savedSqlUuid:
              type: string
            dashboardUuid:
              type: number
              enum:
                - null
              nullable: true
            savedChartUuid:
              type: number
              enum:
                - null
              nullable: true
          required:
            - appUuid
            - savedSqlUuid
            - dashboardUuid
            - savedChartUuid
          type: object
    AppScheduler:
      allOf:
        - $ref: '#/components/schemas/SchedulerBase'
        - properties:
            appUuid:
              type: string
            savedSqlUuid:
              type: number
              enum:
                - null
              nullable: true
            dashboardUuid:
              type: number
              enum:
                - null
              nullable: true
            savedChartUuid:
              type: number
              enum:
                - null
              nullable: true
          required:
            - appUuid
            - savedSqlUuid
            - dashboardUuid
            - savedChartUuid
          type: object
    SchedulerFormat:
      enum:
        - csv
        - xlsx
        - image
        - gsheets
        - pdf
      type: string
    SchedulerResourceType:
      enum:
        - chart
        - dashboard
        - sqlChart
        - app
      type: string
    LogCounts:
      properties:
        error:
          type: number
          format: double
        completed:
          type: number
          format: double
        started:
          type: number
          format: double
        scheduled:
          type: number
          format: double
        total:
          type: number
          format: double
      required:
        - error
        - completed
        - started
        - scheduled
        - total
      type: object
    Record_string.AnyType_:
      properties: {}
      additionalProperties: {}
      type: object
      description: Construct a type with a set of properties K of type T
    SchedulerRunStatus:
      enum:
        - completed
        - partial_failure
        - failed
        - running
        - scheduled
      type: string
    SchedulerJobStatus:
      enum:
        - scheduled
        - started
        - completed
        - error
      type: string
    SchedulerBase:
      properties:
        projectName:
          type: string
          nullable: true
        projectUuid:
          type: string
          nullable: true
        includeLinks:
          type: boolean
        notificationFrequency:
          $ref: '#/components/schemas/NotificationFrequency'
        enabled:
          type: boolean
        thresholds:
          items:
            $ref: '#/components/schemas/ThresholdOptions'
          type: array
        options:
          $ref: '#/components/schemas/SchedulerOptions'
        appName:
          type: string
          nullable: true
        appUuid:
          type: string
          nullable: true
        savedSqlName:
          type: string
          nullable: true
        savedSqlUuid:
          type: string
          nullable: true
        dashboardName:
          type: string
          nullable: true
        dashboardUuid:
          type: string
          nullable: true
        savedChartName:
          type: string
          nullable: true
        savedChartUuid:
          type: string
          nullable: true
        projectSchedulerTimezone:
          type: string
        timezone:
          type: string
        cron:
          type: string
        format:
          $ref: '#/components/schemas/SchedulerFormat'
        createdByName:
          type: string
          nullable: true
        createdBy:
          type: string
        updatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        message:
          type: string
        name:
          type: string
        schedulerUuid:
          type: string
      required:
        - includeLinks
        - enabled
        - options
        - appName
        - appUuid
        - savedSqlName
        - savedSqlUuid
        - dashboardName
        - dashboardUuid
        - savedChartName
        - savedChartUuid
        - cron
        - format
        - createdByName
        - createdBy
        - updatedAt
        - createdAt
        - name
        - schedulerUuid
      type: object
    ParametersValuesMap:
      $ref: '#/components/schemas/Record_string.ParameterValue_'
    Filters:
      properties:
        tableCalculations:
          $ref: '#/components/schemas/FilterGroup'
          description: Table calculation filter group
        metrics:
          $ref: '#/components/schemas/FilterGroup'
          description: Metric filter group
        dimensions:
          $ref: '#/components/schemas/FilterGroup'
          description: Dimension filter group
      type: object
    DashboardFilterRule:
      allOf:
        - $ref: >-
            #/components/schemas/FilterRule_FilterOperator.DashboardFieldTarget.AnyType.AnyType_
        - properties:
            lockedTabUuids:
              items:
                type: string
              type: array
              description: >-
                Tab UUIDs where this filter is locked. When the active tab is in
                this

                list, viewers see the filter but cannot change it, and URL /
                embed

                filter overrides targeting the same field are ignored on that
                tab.

                Empty or omitted means the filter is not locked anywhere.
            singleValue:
              type: boolean
            label:
              type: string
            tileTargets:
              $ref: '#/components/schemas/Record_string.DashboardTileTarget_'
          type: object
    NotificationFrequency:
      enum:
        - always
        - once
      type: string
    ThresholdOptions:
      properties:
        value:
          type: number
          format: double
        fieldId:
          type: string
        operator:
          $ref: '#/components/schemas/ThresholdOperator'
      required:
        - value
        - fieldId
        - operator
      type: object
    SchedulerOptions:
      anyOf:
        - $ref: '#/components/schemas/SchedulerCsvOptions'
        - $ref: '#/components/schemas/SchedulerImageOptions'
        - $ref: '#/components/schemas/SchedulerGsheetsOptions'
        - $ref: '#/components/schemas/SchedulerPdfOptions'
    Record_string.ParameterValue_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/ParameterValue'
      type: object
      description: Construct a type with a set of properties K of type T
    FilterGroup:
      anyOf:
        - $ref: '#/components/schemas/OrFilterGroup'
        - $ref: '#/components/schemas/AndFilterGroup'
    FilterRule_FilterOperator.DashboardFieldTarget.AnyType.AnyType_:
      properties:
        values:
          items:
            $ref: '#/components/schemas/AnyType'
          type: array
          description: Values to filter by
        operator:
          $ref: '#/components/schemas/FilterOperator'
          description: Filter operator
        id:
          type: string
          description: Unique identifier for the filter
        target:
          $ref: '#/components/schemas/DashboardFieldTarget'
          description: Target field for the filter
        settings:
          $ref: '#/components/schemas/AnyType'
          description: Additional settings for date/time filters
        disabled:
          type: boolean
          description: Whether this filter is disabled
        required:
          type: boolean
          description: Whether this filter is required
        caseSensitive:
          type: boolean
          description: >-
            Overrides the field/explore case-sensitivity for this rule only.

            Used by internal features like autocomplete search that must always

            match case-insensitively regardless of the field's configured
            setting.
      required:
        - operator
        - id
        - target
      type: object
      additionalProperties: true
    Record_string.DashboardTileTarget_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/DashboardTileTarget'
      type: object
      description: Construct a type with a set of properties K of type T
    ThresholdOperator:
      enum:
        - greaterThan
        - lessThan
        - increasedBy
        - decreasedBy
      type: string
    SchedulerCsvOptions:
      properties:
        xlsxFileLayout:
          type: string
          enum:
            - zip
            - workbook
        exportPivotedData:
          type: boolean
        asAttachment:
          type: boolean
        limit:
          anyOf:
            - type: number
              format: double
            - type: string
              enum:
                - table
                - all
        formatted:
          type: boolean
      required:
        - limit
        - formatted
      type: object
    SchedulerImageOptions:
      properties:
        withPdf:
          type: boolean
      type: object
    SchedulerGsheetsOptions:
      properties:
        tabName:
          type: string
        url:
          type: string
        gdriveOrganizationName:
          type: string
        gdriveName:
          type: string
        gdriveId:
          type: string
      required:
        - url
        - gdriveOrganizationName
        - gdriveName
        - gdriveId
      type: object
    SchedulerPdfOptions:
      $ref: '#/components/schemas/Record_string.never_'
    ParameterValue:
      anyOf:
        - type: string
        - type: number
          format: double
        - items:
            type: string
          type: array
        - items:
            type: number
            format: double
          type: array
    OrFilterGroup:
      properties:
        or:
          items:
            $ref: '#/components/schemas/FilterGroupItem'
          type: array
          description: Array of filters or nested groups combined with OR logic
        id:
          type: string
          description: Unique identifier for the filter group
      required:
        - or
        - id
      type: object
    AndFilterGroup:
      properties:
        and:
          items:
            $ref: '#/components/schemas/FilterGroupItem'
          type: array
          description: Array of filters or nested groups combined with AND logic
        id:
          type: string
          description: Unique identifier for the filter group
      required:
        - and
        - id
      type: object
    FilterOperator:
      enum:
        - isNull
        - notNull
        - equals
        - notEquals
        - startsWith
        - endsWith
        - include
        - doesNotInclude
        - lessThan
        - lessThanOrEqual
        - greaterThan
        - greaterThanOrEqual
        - inThePast
        - notInThePast
        - inTheNext
        - inTheCurrent
        - notInTheCurrent
        - inBetween
        - notInBetween
        - inPeriodToDate
      type: string
    DashboardFieldTarget:
      properties:
        fallbackType:
          $ref: '#/components/schemas/DimensionType'
        isSqlColumn:
          type: boolean
        tableName:
          type: string
        fieldId:
          type: string
      required:
        - tableName
        - fieldId
      type: object
    DashboardTileTarget:
      anyOf:
        - $ref: '#/components/schemas/DashboardFieldTarget'
        - type: boolean
          enum:
            - false
    Record_string.never_:
      properties: {}
      type: object
      description: Construct a type with a set of properties K of type T
    FilterGroupItem:
      anyOf:
        - $ref: '#/components/schemas/FilterGroup'
        - $ref: '#/components/schemas/FilterRule'
    DimensionType:
      enum:
        - string
        - number
        - timestamp
        - date
        - boolean
      type: string
    FilterRule:
      properties:
        values:
          items:
            $ref: '#/components/schemas/AnyType'
          type: array
          description: Values to filter by
        operator:
          $ref: '#/components/schemas/FilterOperator'
          description: Filter operator
        id:
          type: string
          description: Unique identifier for the filter
        target:
          $ref: '#/components/schemas/FieldTarget'
          description: Target field for the filter
        settings:
          $ref: '#/components/schemas/AnyType'
          description: Additional settings for date/time filters
        disabled:
          type: boolean
          description: Whether this filter is disabled
        required:
          type: boolean
          description: Whether this filter is required
        caseSensitive:
          type: boolean
          description: >-
            Overrides the field/explore case-sensitivity for this rule only.

            Used by internal features like autocomplete search that must always

            match case-insensitively regardless of the field's configured
            setting.
      required:
        - operator
        - id
        - target
      type: object
      additionalProperties: true
    FieldTarget:
      properties:
        fieldId:
          type: string
          description: Field ID to filter on
      required:
        - fieldId
      type: object

````