---
title: "Create dashboard scheduler"
method: POST
path: "/api/v1/dashboards/{dashboardUuidOrSlug}/schedulers"
tags: ["Dashboards"]
---

# Create dashboard scheduler

`POST /api/v1/dashboards/{dashboardUuidOrSlug}/schedulers`

Create a scheduler for a dashboard

## Path parameters

- `dashboardUuidOrSlug` string, required — A resource UUID or its URL slug. Resolve to a real UUID before using as a key.

## Response `200`

Success

- ApiCreateDashboardSchedulerResponse
  - `results` union, required
    - object
      - `projectName` string, nullable
      - `projectUuid` string, nullable
      - `includeLinks` boolean, required
      - `notificationFrequency` 'always' | 'once'
      - `enabled` boolean, required
      - `thresholds` ThresholdOptions[]
        - `value` number, double, required
        - `fieldId` string, required
        - `operator` 'greaterThan' | 'lessThan' | 'increasedBy' | 'decreasedBy', required
      - `options` union, required
        - SchedulerCsvOptions
          - `xlsxFileLayout` 'zip' | 'workbook'
          - `exportPivotedData` boolean
          - `asAttachment` boolean
          - `limit` union, required
            - number, double
            - 'table' | 'all'
          - `formatted` boolean, required
        - SchedulerImageOptions
          - `pagePerTab` boolean
          - `withPdf` boolean
        - SchedulerGsheetsOptions
          - `tabName` string
          - `url` string, required
          - `gdriveOrganizationName` string, required
          - `gdriveName` string, required
          - `gdriveId` string, required
        - SchedulerPdfOptions
          - `pagePerTab` boolean
      - `appName` string, nullable, required
      - `appUuid` string, nullable, required
      - `savedSqlName` string, nullable, required
      - `savedSqlUuid` string, nullable, required
      - `dashboardName` string, nullable, required
      - `dashboardUuid` string, nullable, required
      - `savedChartName` string, nullable, required
      - `savedChartUuid` string, nullable, required
      - `projectSchedulerTimezone` string
      - `timezone` string
      - `cron` string, required
      - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
      - `createdByName` string, nullable, required
      - `createdBy` string, required
      - `updatedAt` string, date-time, required
      - `createdAt` string, date-time, required
      - `message` string
      - `name` string, required
      - `slug` string, required
      - `schedulerUuid` string, required
      - `parameters` ParametersValuesMap — Construct a type with a set of properties K of type T
      - `filters` Filters
        - `tableCalculations` union
          - OrFilterGroup
            - `or` FilterGroupItem[], required — Array of filters or nested groups combined with OR logic
              - …
            - `id` string, required — Unique identifier for the filter group
          - AndFilterGroup
            - `and` FilterGroupItem[], required — Array of filters or nested groups combined with AND logic
              - …
            - `id` string, required — Unique identifier for the filter group
        - `metrics` union
          - OrFilterGroup
            - `or` FilterGroupItem[], required — Array of filters or nested groups combined with OR logic
              - …
            - `id` string, required — Unique identifier for the filter group
          - AndFilterGroup
            - `and` FilterGroupItem[], required — Array of filters or nested groups combined with AND logic
              - …
            - `id` string, required — Unique identifier for the filter group
        - `dimensions` union
          - OrFilterGroup
            - `or` FilterGroupItem[], required — Array of filters or nested groups combined with OR logic
              - …
            - `id` string, required — Unique identifier for the filter group
          - AndFilterGroup
            - `and` FilterGroupItem[], required — Array of filters or nested groups combined with AND logic
              - …
            - `id` string, required — Unique identifier for the filter group
      - `latestRun` SchedulerRun
        - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
        - `createdByUserName` string, required
        - `createdByUserUuid` string, required
        - `resourceName` string, required
        - `resourceUuid` string, required
        - `resourceType` 'chart' | 'dashboard' | 'sqlChart' | 'app', required
        - `logCounts` LogCounts, required
          - `error` number, double, required
          - `completed` number, double, required
          - `started` number, double, required
          - `scheduled` number, double, required
          - `total` number, double, required
        - `details` RecordStringAnyType, required — Construct a type with a set of properties K of type T
        - `createdAt` string, date-time, required
        - `runStatus` 'completed' | 'partial_failure' | 'failed' | 'running' | 'scheduled', required
        - `status` 'scheduled' | 'started' | 'completed' | 'error', required
        - `scheduledTime` string, date-time, required
        - `schedulerName` string, required
        - `schedulerUuid` string, required
        - `runId` string, required
      - `targets` union[], required
        - union
          - SchedulerSlackTarget
            - `channel` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerSlackTargetUuid` string, required
          - SchedulerEmailTarget
            - `recipient` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerEmailTargetUuid` string, required
          - SchedulerMsTeamsTarget
            - `webhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerMsTeamsTargetUuid` string, required
          - SchedulerGoogleChatTarget
            - `googleChatWebhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerGoogleChatTargetUuid` string, required
    - object
      - `projectName` string, nullable
      - `projectUuid` string, nullable
      - `includeLinks` boolean, required
      - `notificationFrequency` 'always' | 'once'
      - `enabled` boolean, required
      - `thresholds` ThresholdOptions[]
        - `value` number, double, required
        - `fieldId` string, required
        - `operator` 'greaterThan' | 'lessThan' | 'increasedBy' | 'decreasedBy', required
      - `options` union, required
        - SchedulerCsvOptions
          - `xlsxFileLayout` 'zip' | 'workbook'
          - `exportPivotedData` boolean
          - `asAttachment` boolean
          - `limit` union, required
            - number, double
            - 'table' | 'all'
          - `formatted` boolean, required
        - SchedulerImageOptions
          - `pagePerTab` boolean
          - `withPdf` boolean
        - SchedulerGsheetsOptions
          - `tabName` string
          - `url` string, required
          - `gdriveOrganizationName` string, required
          - `gdriveName` string, required
          - `gdriveId` string, required
        - SchedulerPdfOptions
          - `pagePerTab` boolean
      - `appName` string, nullable, required
      - `appUuid` string, nullable, required
      - `savedSqlName` string, nullable, required
      - `savedSqlUuid` string, nullable, required
      - `dashboardName` string, nullable, required
      - `dashboardUuid` string, nullable, required
      - `savedChartName` string, nullable, required
      - `savedChartUuid` string, nullable, required
      - `projectSchedulerTimezone` string
      - `timezone` string
      - `cron` string, required
      - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
      - `createdByName` string, nullable, required
      - `createdBy` string, required
      - `updatedAt` string, date-time, required
      - `createdAt` string, date-time, required
      - `message` string
      - `name` string, required
      - `slug` string, required
      - `schedulerUuid` string, required
      - `selectedTabs` string[], nullable, required
      - `customViewportWidth` number, double
      - `parameters` ParametersValuesMap — Construct a type with a set of properties K of type T
      - `filters` DashboardFilterRule[]
        - `includeNull` boolean — For the `equals` operator on string fields, also match rows where the field is null (compiles to `field IN (...) OR field IS NULL`). Lets users combine null with selected values in a single "is" rule.
        - `values` AnyType[] — Values to filter by
          - unknown
        - `operator` 'isNull' | 'notNull' | 'equals' | 'notEquals' | 'startsWith' | 'endsWith' | 'include' | 'doesNotInclude' | 'lessThan' | 'lessThanOrEqual' | 'greaterThan' | 'greaterThanOrEqual' | 'inThePast' | 'notInThePast' | 'inTheNext' | 'inTheCurrent' | 'notInTheCurrent' | 'inBetween' | 'notInBetween' | 'inPeriodToDate', required
        - `id` string, required — Unique identifier for the filter
        - `target` DashboardFieldTarget, required
          - `fallbackType` 'string' | 'number' | 'timestamp' | 'date' | 'boolean'
          - `isSqlColumn` boolean
          - `tableName` string, required
          - `fieldId` string, required
        - `settings` unknown
        - `disabled` boolean — Whether this filter is disabled
        - `required` boolean — Whether this filter is required
        - `caseSensitive` boolean — 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.
        - `lockedTabUuids` string[] — 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.
        - `requiredGroupId` string — Dashboard filters sharing a requiredGroupId form an "any-one required" group: the dashboard is locked until at least one member has a value.
        - `singleValue` boolean
        - `label` string
        - `tileTargets` DashboardTileTargets — Deliberately an index-signature literal, not `Record<string, ...>`. When TSOA first resolves `Record<string, DashboardTileTarget>` inside a mapped type (e.g. `Omit<DashboardFilterRule, 'id'>` in content-as-code types), it caches an EMPTY model under the shared `Record_string.DashboardTileTarget_` name, and request validation then strips every tileTargets entry from bodies — silently breaking dashboard filters on SQL chart tiles. The index-signature form resolves correctly in every context.
      - `latestRun` SchedulerRun
        - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
        - `createdByUserName` string, required
        - `createdByUserUuid` string, required
        - `resourceName` string, required
        - `resourceUuid` string, required
        - `resourceType` 'chart' | 'dashboard' | 'sqlChart' | 'app', required
        - `logCounts` LogCounts, required
          - `error` number, double, required
          - `completed` number, double, required
          - `started` number, double, required
          - `scheduled` number, double, required
          - `total` number, double, required
        - `details` RecordStringAnyType, required — Construct a type with a set of properties K of type T
        - `createdAt` string, date-time, required
        - `runStatus` 'completed' | 'partial_failure' | 'failed' | 'running' | 'scheduled', required
        - `status` 'scheduled' | 'started' | 'completed' | 'error', required
        - `scheduledTime` string, date-time, required
        - `schedulerName` string, required
        - `schedulerUuid` string, required
        - `runId` string, required
      - `targets` union[], required
        - union
          - SchedulerSlackTarget
            - `channel` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerSlackTargetUuid` string, required
          - SchedulerEmailTarget
            - `recipient` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerEmailTargetUuid` string, required
          - SchedulerMsTeamsTarget
            - `webhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerMsTeamsTargetUuid` string, required
          - SchedulerGoogleChatTarget
            - `googleChatWebhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerGoogleChatTargetUuid` string, required
    - object
      - `projectName` string, nullable
      - `projectUuid` string, nullable
      - `includeLinks` boolean, required
      - `notificationFrequency` 'always' | 'once'
      - `enabled` boolean, required
      - `thresholds` ThresholdOptions[]
        - `value` number, double, required
        - `fieldId` string, required
        - `operator` 'greaterThan' | 'lessThan' | 'increasedBy' | 'decreasedBy', required
      - `options` union, required
        - SchedulerCsvOptions
          - `xlsxFileLayout` 'zip' | 'workbook'
          - `exportPivotedData` boolean
          - `asAttachment` boolean
          - `limit` union, required
            - number, double
            - 'table' | 'all'
          - `formatted` boolean, required
        - SchedulerImageOptions
          - `pagePerTab` boolean
          - `withPdf` boolean
        - SchedulerGsheetsOptions
          - `tabName` string
          - `url` string, required
          - `gdriveOrganizationName` string, required
          - `gdriveName` string, required
          - `gdriveId` string, required
        - SchedulerPdfOptions
          - `pagePerTab` boolean
      - `appName` string, nullable, required
      - `appUuid` string, nullable, required
      - `savedSqlName` string, nullable, required
      - `savedSqlUuid` string, nullable, required
      - `dashboardName` string, nullable, required
      - `dashboardUuid` string, nullable, required
      - `savedChartName` string, nullable, required
      - `savedChartUuid` string, nullable, required
      - `projectSchedulerTimezone` string
      - `timezone` string
      - `cron` string, required
      - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
      - `createdByName` string, nullable, required
      - `createdBy` string, required
      - `updatedAt` string, date-time, required
      - `createdAt` string, date-time, required
      - `message` string
      - `name` string, required
      - `slug` string, required
      - `schedulerUuid` string, required
      - `latestRun` SchedulerRun
        - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
        - `createdByUserName` string, required
        - `createdByUserUuid` string, required
        - `resourceName` string, required
        - `resourceUuid` string, required
        - `resourceType` 'chart' | 'dashboard' | 'sqlChart' | 'app', required
        - `logCounts` LogCounts, required
          - `error` number, double, required
          - `completed` number, double, required
          - `started` number, double, required
          - `scheduled` number, double, required
          - `total` number, double, required
        - `details` RecordStringAnyType, required — Construct a type with a set of properties K of type T
        - `createdAt` string, date-time, required
        - `runStatus` 'completed' | 'partial_failure' | 'failed' | 'running' | 'scheduled', required
        - `status` 'scheduled' | 'started' | 'completed' | 'error', required
        - `scheduledTime` string, date-time, required
        - `schedulerName` string, required
        - `schedulerUuid` string, required
        - `runId` string, required
      - `targets` union[], required
        - union
          - SchedulerSlackTarget
            - `channel` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerSlackTargetUuid` string, required
          - SchedulerEmailTarget
            - `recipient` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerEmailTargetUuid` string, required
          - SchedulerMsTeamsTarget
            - `webhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerMsTeamsTargetUuid` string, required
          - SchedulerGoogleChatTarget
            - `googleChatWebhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerGoogleChatTargetUuid` string, required
    - object
      - `projectName` string, nullable
      - `projectUuid` string, nullable
      - `includeLinks` boolean, required
      - `notificationFrequency` 'always' | 'once'
      - `enabled` boolean, required
      - `thresholds` ThresholdOptions[]
        - `value` number, double, required
        - `fieldId` string, required
        - `operator` 'greaterThan' | 'lessThan' | 'increasedBy' | 'decreasedBy', required
      - `options` union, required
        - SchedulerCsvOptions
          - `xlsxFileLayout` 'zip' | 'workbook'
          - `exportPivotedData` boolean
          - `asAttachment` boolean
          - `limit` union, required
            - number, double
            - 'table' | 'all'
          - `formatted` boolean, required
        - SchedulerImageOptions
          - `pagePerTab` boolean
          - `withPdf` boolean
        - SchedulerGsheetsOptions
          - `tabName` string
          - `url` string, required
          - `gdriveOrganizationName` string, required
          - `gdriveName` string, required
          - `gdriveId` string, required
        - SchedulerPdfOptions
          - `pagePerTab` boolean
      - `appName` string, nullable, required
      - `appUuid` string, nullable, required
      - `savedSqlName` string, nullable, required
      - `savedSqlUuid` string, nullable, required
      - `dashboardName` string, nullable, required
      - `dashboardUuid` string, nullable, required
      - `savedChartName` string, nullable, required
      - `savedChartUuid` string, nullable, required
      - `projectSchedulerTimezone` string
      - `timezone` string
      - `cron` string, required
      - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
      - `createdByName` string, nullable, required
      - `createdBy` string, required
      - `updatedAt` string, date-time, required
      - `createdAt` string, date-time, required
      - `message` string
      - `name` string, required
      - `slug` string, required
      - `schedulerUuid` string, required
      - `latestRun` SchedulerRun
        - `format` 'csv' | 'xlsx' | 'image' | 'gsheets' | 'pdf', required
        - `createdByUserName` string, required
        - `createdByUserUuid` string, required
        - `resourceName` string, required
        - `resourceUuid` string, required
        - `resourceType` 'chart' | 'dashboard' | 'sqlChart' | 'app', required
        - `logCounts` LogCounts, required
          - `error` number, double, required
          - `completed` number, double, required
          - `started` number, double, required
          - `scheduled` number, double, required
          - `total` number, double, required
        - `details` RecordStringAnyType, required — Construct a type with a set of properties K of type T
        - `createdAt` string, date-time, required
        - `runStatus` 'completed' | 'partial_failure' | 'failed' | 'running' | 'scheduled', required
        - `status` 'scheduled' | 'started' | 'completed' | 'error', required
        - `scheduledTime` string, date-time, required
        - `schedulerName` string, required
        - `schedulerUuid` string, required
        - `runId` string, required
      - `targets` union[], required
        - union
          - SchedulerSlackTarget
            - `channel` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerSlackTargetUuid` string, required
          - SchedulerEmailTarget
            - `recipient` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerEmailTargetUuid` string, required
          - SchedulerMsTeamsTarget
            - `webhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerMsTeamsTargetUuid` string, required
          - SchedulerGoogleChatTarget
            - `googleChatWebhook` string, required
            - `schedulerUuid` string, required
            - `updatedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `schedulerGoogleChatTargetUuid` string, required
  - `status` 'ok', required

## Other responses

- `default` — Error

---

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