---
title: "Initiate dashboard download"
method: POST
path: "/api/v1/dashboards/{identifier}/download"
tags: ["Dashboards"]
---

# Initiate dashboard download

`POST /api/v1/dashboards/{identifier}/download`

## Path parameters

- `identifier` string, required — Dashboard identifier (short ID or UUID)

## Query parameters

- `userId` string, uuid — Target user membership ID (for org-scoped API keys)

## Request body

- DashboardsDownloadBody
  - `enableFormatting` boolean — Compatible with csv, xlsx & json formats. If true, formatting will be enabled in the output. Note: If true for json format, a queryIdentifierMapKey is required.
  - `expandTablesToShowAllRows` boolean — Compatible with pdf and png formats. If true, up to 1,000 rows in table visualizations will be included in the delivery. Note: This parameter cannot be used when paperFormat: fit_page.
  - `filterConfig` unknown
  - `format` 'pdf' | 'png' | 'csv' | 'xlsx' | 'json', required — Output format for the download: pdf, png, csv, xlsx, or json
  - `hideHiddenFields` boolean — Compatible with csv & xlsx formats. If true, fields marked as hidden won't be displayed in the output.
  - `hideTitle` boolean — Compatible with pdf & png formats. If true, the content's title will be hidden in the output.
  - `maxRowLimit` number — Compatible with csv, json, & xlsx formats. Used with overrideRowLimit. Specifies the maximum number of rows.
  - `overrideRowLimit` boolean — Compatible with csv, json, & xlsx formats. If true, the default row limit will be overridden. Note: If true for json and xlsx formats, a queryIdentifierMapKey is required.
  - `paperFormat` 'a3' | 'a4' | 'fit_page' | 'legal' | 'letter' | 'tabloid' — Compatible with pdf formats. Defines the paper format (size) of the resulting PDF. Must be one of: a3, a4, letter, legal, fit_page, tabloid.
  - `paperOrientation` 'portrait' | 'landscape' — Compatible with pdf formats. Defines the paper orientation of the resulting PDF. Must be one of: portrait, landscape.
  - `queryIdentifierMapKey` string — Required for single tile tasks. The ID of the query to include in a single tile task. Must reference a valid query in the dashboard.
  - `showContentLink` boolean — Compatible with all formats except link_only. If true, a link to the content will be shown in the output.
  - `showFilters` boolean — Compatible with all formats except link_only & csv. If true, filters will be shown in the output.
  - `singleColumnLayout` boolean — Compatible with pdf and png formats. If true, dashboard tiles will be arranged into a single vertical column.
  - `useCache` boolean — If true, allow scheduled queries to use cached results instead of always running fresh queries.
  - `filename` string — Custom filename for the downloaded file (without extension)

## Response `200`

Download job initiated successfully

- DashboardsDownloadResponse
  - `job_id` string, uuid, required — ID of the download job. Use this to poll for download status.
  - `message` string, required — Status message

## Other responses

- `400` — Invalid request body or filter configuration
- `401` — Authentication required
- `403` — Permission denied - cannot download this dashboard
- `404` — Dashboard not found
- `409` — Download already in progress for this dashboard
- `500` — Failed to initiate download

---

[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)
