Export a Sheet's rows as CSV or XLSX.
Downloads the sheet's merged row view (flushed warehouse rows with on-page pending edits applied, the same view the grid shows) as a CSV or XLSX attachment, in ONE engine fetch of up to 10,000 rows (ADR-0091 D5). filters and sort take the same shapes as POST /v1/sheets/{id}/rows/query; columns selects and orders the output (default: every declared column; for a linked sheet, the primary key, then the base relation's columns, then the extension columns -- the grid's order). Linked sheets run under the requester's own caller token and are refused without one; off-page pending edits are not hydrated.
Authorization mirrors the table export: sheet:read, data:query AND data:export (403 otherwise), then read access to the sheet (404 for a caller who cannot read it, exactly like rows/query). System actors are refused (403) and render sessions never reach this route (404). Every successful export writes a data.export audit entry (resource type sheet; format, row count, truncated).
style: formatted (xlsx only; csv is refused 400) bakes the panel's conditional-format rules as static cell styles, using the table export's serializer (DVT-4196): the client sends the rules, resolved theme tokens and frozenColumns (same shapes and bounds as POST /v1/data/export); the server never reads the dashboard spec. The rules evaluate over the exported rows after formula neutralisation, so a text predicate sees the '-prefixed value of a cell that started with =, +, - or @. The truncation notice row is never styled. Rules x rows over the style budget is 422 export-too-complex. Text cells whose first character is =, +, -, @, tab or CR are prefixed with ' in BOTH formats so a spreadsheet never evaluates them as formulas. Numbers, booleans and dates are written typed from the sheet's declared column kinds, never sniffed from strings.
X-DVT-Truncated: true marks a result cut at 10,000 rows (or the byte cap); a truncated XLSX also ends with one plain-text notice row (not counted in X-DVT-Row-Count). If the warehouse statement exceeds the ~20 s export budget, or the server's 24 s engine deadline or 28 s whole-request deadline passes, the response is 422 sheet_export_timeout -- never a 504 and never a partial file. A linked sheet whose pending edits were truncated is refused 503 rather than exported without them.
Request
- Base URL: http://localhost:8080
- URL: http://localhost:8080/v1/sheets/{id}/export
- Auth: one of:
- API key in cookie dvt_session
- HTTP bearer
Request body
Response
The serialized export file (CSV or XLSX) as an attachment.
Changes
No recorded changes to this operation across all 1 revision of this API.