Export

Every report and every visual can be exported. Exports are asynchronous — you get a job_id, poll for completion, download the result.

Formats

FormatWhat you getBest for
PDFRendered report, multi-page, with filtersBoardroom decks, auditors
ExcelOne sheet per visual, formulas intactFinance workbooks
CSVRaw rows from a single visualData handoff
JSONRaw rows + schema metadataProgrammatic downstream
ParquetColumnar binary, compressedData engineering pipelines
PNGRasterised visual, 2x densityScreenshots, slides
PPTXOne slide per visual, editable shapesDeck building
SQLCompiled, dialect-specific SQL textTransparency, reproduction

API

curl -X POST https://api.analytics.rstglobal.in/v1/reports/<id>/export \
  -H "Authorization: Bearer $OA_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"format": "pdf", "pages": ["page_1", "page_3"], "filters": {"region": "North"}}'

Response:

{ "job_id": "exp_01H..." }

Poll GET /v1/jobs/<job_id> until status: succeeded, then GET /v1/jobs/<job_id>/result for the signed URL. The URL is good for 1 hour.

Scheduled exports

From Share → Schedule: run the export every Monday at 9 AM IST and email the result to a distribution list. Uses the same job infrastructure plus Temporal for the cron.

Large exports

CSV/Parquet exports above 100 M rows stream directly to S3; you receive a presigned URL. No memory limit on your end.

Watermark and RLS

Exports respect everything:

  • The watermark on a shared link shows in PDF/PNG.
  • Row-level security applies — the recipient of a scheduled export sees what they would see live, not what you see.

Rate limits

  • Interactive (UI-initiated): 30 exports per minute per user.
  • API (token-initiated): 300 per hour per workspace; bursts of 10 allowed. See Rate limits.

Troubleshooting

  • Export stuck at queued — The export queue is workspace-isolated. If you have many scheduled exports firing at once, they queue. Check Settings → Jobs for depth.
  • PDF is blank — A long-running query inside the report timed out. Increase the report's query timeout in report settings, or optimise.