Export
Every report and every visual can be exported. Exports are asynchronous — you get a job_id, poll for completion, download the result.
Formats
| Format | What you get | Best for |
|---|---|---|
| Rendered report, multi-page, with filters | Boardroom decks, auditors | |
| Excel | One sheet per visual, formulas intact | Finance workbooks |
| CSV | Raw rows from a single visual | Data handoff |
| JSON | Raw rows + schema metadata | Programmatic downstream |
| Parquet | Columnar binary, compressed | Data engineering pipelines |
| PNG | Rasterised visual, 2x density | Screenshots, slides |
| PPTX | One slide per visual, editable shapes | Deck building |
| SQL | Compiled, dialect-specific SQL text | Transparency, 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.