---
title: "Add report schedule"
method: POST
path: "/v2/reports/{reportId}/schedules"
tags: ["Reports"]
---

# Add report schedule

`POST /v2/reports/{reportId}/schedules`

## Request

- Base URL: `https://api.sigmacomputing.com`
- URL: `https://api.sigmacomputing.com/v2/reports/{reportId}/schedules`
- Auth: HTTP bearer

This endpoint allows you to create a scheduled export of a report. Scheduled exports are triggered by specific conditions or timings.

  ### Usage notes
  - Retrieve the **reportId** by calling the [/v2/reports](https://help.sigmacomputing.com/reference/list-reports) endpoint.
  - Retrieve relevant IDs based on the export contents and destination:
    - To export to one or more Sigma users, retrieve the **memberId** by calling the [/v2/members](https://help.sigmacomputing.com/reference/list-members) endpoint.
    - To export to one or more Sigma teams, retrieve the **teamId** by calling the [/v2/teams](https://help.sigmacomputing.com/reference/list-teams) endpoint.
  - Reports can only be exported as entire PDFs. Exporting a specific page or element is not supported.
  - If you want to impersonate a user when scheduling a report export, use the [/v2/auth/token](https://help.sigmacomputing.com/reference/post-token) endpoint.

  ### Usage scenarios
  - **Periodic reporting**: Use this endpoint to trigger routine report exports at specific intervals (such as weekly or monthly) or when specific business conditions are met (such as specific sales targets or usage thresholds).

  ### Best practices
  - Regularly review and audit schedules to ensure unnecessary or expensive schedules are not being added.

## Path parameters

- `reportId` string, required

## Request body

- object
  - `target` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaTargetItems[], required: One or more targets to send the report to.
    - `teamId` string: Unique identifier of the team to export to
    - `email` string: Email address to export to
    - `ccEmail` string: Email address to add as a Cc recipient
    - `bccEmail` string: Email address to add as a Bcc recipient
    - `ccTeamId` string: Unique identifier of the team to add as a Cc recipient
    - `bccTeamId` string: Unique identifier of the team to add as a Bcc recipient
    - `slackConversationId` string: Slack channel ID or member ID to export to
    - `googleSpreadsheetUrl` string: URL of the Google Sheet to export to
    - `googleDriveFolderUrl` string: URL of the Google Drive folder to export to
    - `webhookUrl` string: URL of the webhook endpoint to export to
  - `schedule` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaSchedule, required: When to send the report export.
    - `cronSpec` string, required: A [cron expression](https://en.wikipedia.org/wiki/Cron). For example, `0 0 * * *`.
    - `timezone` string, required: An [IANA timezone name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For example, `America/Los_Angeles`.
  - `configV2` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2, required: Configuration settings for the export schedule.
    - `title` string, required: Title of the message
    - `messageBody` string, required: Body of the message
    - `exportAttachments` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ExportAttachmentsItems[], required: Attachments to include in the export. Reports only support PDF.
      - `formatOptions` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ExportAttachmentsItemsFormatOptions, required: Export format options. Reports only support PDF.
        - `type` 'PDF', required
        - `layout` 'portrait' | 'landscape'
        - `scaleFactor` number, double
    - `exportName` string: Name of the scheduled export
    - `includeLink` boolean: Include a link to the exported report
    - `runAsRecipient` boolean: Run the export queries as the recipient
    - `attachmentSettings` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2AttachmentSettings: Export attachment settings
      - `mergeAttachments` boolean: Combines multiple PDF attachments into a single file
      - `zipAttachments` boolean: Send attachments as a .zip file
    - `reportVariant` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ReportVariant: Report variant
      - `tagId` string: Version tag to export
    - `conditionOptions` union: Export condition options
      - V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ConditionOptions0: Always send the export
        - `type` 'always', required
      - V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ConditionOptions1: Send the export based on a condition
        - `type` 'workbook', required
        - `condition` union, required
          - V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf1Condition0: If there's no data
            - `type` 'isEmpty', required: Type of condition
            - `elementId` string, required: ID of the element
          - V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf1Condition1: If there's data
            - `type` 'isNotEmpty', required: Type of condition
            - `elementId` string, required: ID of the element
          - V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf1Condition2: If a condition is met
            - `type` 'column', required: Type of condition
            - `elementId` string, required: ID of the element
            - `columnId` string, required: ID of the column
            - `op` 'Equals' | 'GreaterThan' | 'GreaterThanEq' | 'LessThan' | 'LessThanEq' | 'NotEquals' | 'IsNull' | 'IsNotNull' | 'Contains' | 'StartsWith' | 'EndsWith', required: Operator
            - `mode` 'any' | 'all', required: Kind of condition evaluation
            - `value` union: Column value
              - …
    - `reportSettings` V2ReportsReportIdSchedulesPostRequestBodyContentApplicationJsonSchemaConfigV2ReportSettings: Report settings
      - `controlValues` object: This object maps control IDs to the values that they should have when exporting the workbook.
  - `description` string, nullable: Description of the scheduled export

## Response `200`

The response body.

- ReportsCreateReportScheduleResponse200
  - `scheduledNotificationId` string, required: Unique identifier of the scheduled export.
  - `reportId` string, required: Unique identifier of the report.
  - `schedule` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaSchedule, required
    - `cronSpec` string, required: A [cron expression](https://en.wikipedia.org/wiki/Cron). For example, `0 0 * * *`.
    - `timezone` string, required: An [IANA timezone name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For example, `America/Los_Angeles`.
  - `configV2` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2, required
    - `title` string, required
    - `messageBody` string, required
    - `notificationAttachments` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2NotificationAttachmentsItems[], required
      - `formatOptions` union, required
        - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2NotificationAttachmentsItemsFormatOptions0
          - `type` 'PDF', required
          - `layout` 'portrait' | 'landscape'
          - `scaleFactor` number, double
        - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2NotificationAttachmentsItemsFormatOptions1
          - `type` 'NONE', required
      - `workbookExportSource` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2NotificationAttachmentsItemsWorkbookExportSource
        - `type` 'report', required
    - `includeLink` boolean
    - `runAsRecipient` boolean
    - `attachmentSettings` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2AttachmentSettings
      - `mergePdfAttachments` boolean
      - `zipAttachments` boolean
    - `conditionOptions` union
      - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptions0
        - `type` 'always', required
      - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptions1
        - `type` 'workbook', required
        - `conditions` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf1ConditionsItems[], required
          - union
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf1ConditionsItems0
              - …
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf1ConditionsItems1
              - …
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf1ConditionsItems2
              - …
      - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptions2
        - `type` 'worksheet', required
        - `conditions` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf2ConditionsItems[], required
          - union
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf2ConditionsItems0
              - …
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf2ConditionsItems1
              - …
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf2ConditionsItems2
              - …
      - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptions3
        - `type` 'dashboard', required
        - `conditions` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf3ConditionsItems[], required
          - union
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf3ConditionsItems0
              - …
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf3ConditionsItems1
              - …
            - V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ConditionOptionsOneOf3ConditionsItems2
              - …
    - `alertConfig` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2AlertConfig
      - `window` 'alltime' | 'daily' | 'weekly' | 'always', required
      - `volume` number, double, nullable
    - `notificationName` string
    - `reportSettings` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ReportSettings
      - `filters` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ReportSettingsFiltersItems[]
        - `id` string, required
        - `filterStr` string, required
      - `variableValues` union
        - DashVariables0
          - `type` 'boolean', required
          - `value` boolean, nullable, required
        - DashVariables1
          - `type` 'number', required
          - `value` number, double, nullable, required
        - DashVariables2
          - `type` 'text', required
          - `value` string, nullable, required
        - DashVariables3
          - `type` 'date', required
          - `value` union, required
            - DashVariablesOneOf3Value0
              - …
            - DashVariablesOneOf3Value1
              - …
        - DashVariables4
          - `type` 'number-list', required
          - `value` number[], required
        - DashVariables5
          - `type` 'text-list', required
          - `value` string[], required
        - DashVariables6
          - `type` 'date-list', required
          - `value` number[], required
        - DashVariables7
          - `type` 'boolean-list', required
          - `value` DashVariablesOneOf7Value, required
            - `true` boolean, required
            - `false` boolean, required
            - `null` boolean
        - DashVariables8
          - `type` 'date-range', required
          - `min` union, required
            - DashVariablesOneOf8Min0
              - …
            - DashVariablesOneOf8Min1
              - …
          - `max` union, required
            - DashVariablesOneOf8Max0
              - …
            - DashVariablesOneOf8Max1
              - …
        - DashVariables9
          - `type` 'number-range', required
          - `min` number, double, nullable, required
          - `max` number, double, nullable, required
        - DashVariables10
          - `type` 'date-null', required
        - DashVariables11
          - `type` 'number-null', required
        - DashVariables12
          - `type` 'text-null', required
        - DashVariables13
          - `type` 'boolean-null', required
        - DashVariables14
          - `type` 'hierarchical-list', required
          - `value` string[], required
        - DashVariables15
          - `type` 'file', required
          - `value` DashVariablesOneOf15Value, required
            - `id` string, required
            - `name` string, required
            - `size` number, double, required
            - `type` string, required
            - `downloadUrl` string, required
        - DashVariables16
          - `type` 'file-null', required
        - DashVariables17
          - `type` 'file-list', required
          - `value` DashVariablesOneOf17ValueItems[], required
            - `id` string, required
            - `name` string, required
            - `size` number, double, required
            - `type` string, required
            - `downloadUrl` string, required
    - `dynamicExportSettings` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2DynamicExportSettings
      - `variables` object
    - `dynamicRecipientSettings` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2DynamicRecipientSettings
      - `sourceNodeId` string, required
      - `recipientColumnId` string, required
    - `rowLimit` number, double
    - `reportVariant` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2ReportVariant
      - `tagId` string
    - `embedOpts` V2ReportsReportIdSchedulesPostResponsesContentApplicationJsonSchemaConfigV2EmbedOpts
      - `embedId` string
      - `evalConnectionId` string
  - `isSuspended` boolean, required: Whether the schedule is currently suspended.
  - `ownerId` string, required: Unique identifier of the user who owns the schedule.
  - `lastUpdatedByUser` string, required: Unique identifier of the user who last updated the schedule.
  - `disabledAt` string, date-time, nullable, required: Timestamp when the schedule was disabled, or null if the schedule is active.
  - `disabledBy` string, nullable, required: Unique identifier of the member who disabled the schedule, or null if the schedule is active.
  - `createdBy` string, required: The identifier of the user who created this object.
  - `updatedBy` string, required: The identifier of the user or process that last updated this object.
  - `createdAt` string, date-time, required: When the object was created.
  - `updatedAt` string, date-time, required: When the object was last updated.

---

[API](https://skmtc.dev/sigmacomputing/apis/sigma-rest-api.md) - [All operations](https://skmtc.dev/sigmacomputing/apis/sigma-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sigmacomputing/apis/sigma-rest-api/revisions/fb6036208c49?raw)
