Visit Later
N/a
General Notes
- Returns default canvases first, then non-default — within each group ordered by
displayOrderascending - Accepts an optional
filterquery param (default,non-default,all; default:all) - Every user has a default "Energy Audit" canvas (isDefault: true)
- Soft-deleted canvases are excluded (
deletedAt: nullfilter) - SUPER_ADMIN sees all canvases (no userId filter); AE/CIO see only their own
- SUPER_ADMIN response includes
userIdanduserNamefields per canvas (batch-resolved, not N+1)
Flow
Test cases
Method & URL
GET v1/canvases
Request
Headers
authorization
- Required
- Type : <string>
- Bearer session token
Query
filter
- Optional
- Type: <string>
- Enum: "default" | "non-default" | "all"
- Default: "all"
- Filters canvases by type — "default" returns only default canvases, "non-default" returns only non-default canvases, "all" returns both
Body
Path parameter
Response
2xx
success
- Type : true (boolean)
- This indicates that request was executed successfully
message
- Type : <string> | null
- null on success
data
- Type : <object>
data.canvases
- Type : <object>[]
- List of canvases
data.canvases[].id
- Type : <string>
- Canvas identifier
data.canvases[].name
- Type : <string>
- Canvas display name
data.canvases[].displayOrder
- Type : <number>
- Display order
data.canvases[].isDefault
- Type : <boolean>
- true for the default Energy Audit canvas
data.canvases[].widgetCount
- Type : <number>
- Number of non-deleted widgets currently in the canvas
data.canvases[].widgetLimit
- Type : <number>
- Maximum widgets allowed in this canvas
data.canvases[].userId
- Type : <string>
- SUPER_ADMIN only — the userId who owns the canvas
data.canvases[].userName
- Type : <string> | null
- SUPER_ADMIN only — display name of the canvas owner (null if user not found)
data.lastRefreshedAt
- Type : <object>
- Last data refresh timestamp from DuckDB metadata table (cached at server startup)
data.lastRefreshedAt.iso
- Type : <string> | null
- UTC timestamp in minute precision, e.g. "2026-04-06T08:15Z"
- null when metadata table is unavailable or query fails
data.lastRefreshedAt.ist
- Type : <string> | null
- IST (UTC+05:30) timestamp in minute precision, e.g. "2026-04-06T13:45+05:30"
- null when metadata table is unavailable or query fails