Answers/How do I create a dashboard from CSV data?

How do I create a dashboard from CSV data?

Updated March 2026

Three steps: upload the CSV, then create the dashboard.

1. Presign the upload: POST /api/dashboards/upload with filename and sizeBytes. You get a csvObjectId and uploadUrl. 2. Upload the file: PUT the CSV to the uploadUrl. 3. Create the dashboard: POST /api/dashboards with the csvObjectId, title, and DSL.

The CSV is pre-aggregated on upload — dashboards render instantly regardless of file size. Max 10MB, 100K rows, 50 columns.

Column types are auto-detected: numbers, dates, booleans, and strings. Date columns support time-based groupBy with $column_name:day|week|month syntax.

Download the original file anytime: GET /api/dashboards/:id/download.

# Step 1: Presign upload
curl -X POST https://sutrena.com/api/dashboards/upload \
  -H "Authorization: Bearer $KEY" \
  -d '{"filename": "sales.csv", "sizeBytes": 50000}'

# Step 2: Upload CSV to the returned uploadUrl
# Step 3: Create dashboard
curl -X POST https://sutrena.com/api/dashboards \
  -H "Authorization: Bearer $KEY" \
  -d '{"csvObjectId": "obj_abc", "title": "Sales Report", "dsl": {"version": 1, "widgets": [{"type": "bar_chart", "title": "By Region", "groupBy": "region", "aggregate": "sum(revenue)"}]}}'

Ready to build?

Get a trial API key instantly — no signup required.

How do I create a dashboard from CSV data? — Sutrena | Sutrena