Boards API overview
Create, edit, and run analytics boards over REST — the same boards you build under Monitor.
A board is a custom analytics dashboard: a set of SQL-backed widgets, grouped into tabs, parameterised by filters your team can change without editing the query. This API does everything the dashboard does — discover the schema, develop a query, save it as a widget, run it, and schedule recurring delivery of the result.
For the dashboard walkthrough of the same concepts, see Boards under Monitor.
Base URL
Boards are workspace-scoped: board paths carry no app_id, and a board can query across every agent in the workspace.
Requests are authenticated with your API key, as everywhere else in the Voice Agents API — see Introduction.
Rate limits
Two independent limits apply, and a request must satisfy both.
The per-organization limits are shared across every key and every user in the org — a colleague running queries in the dashboard consumes the same budget as your integration.
Exceeding either returns 429 with a Retry-After header giving the window in seconds:
Honour Retry-After rather than retrying immediately, and back off exponentially if you see repeated 429s. If your workload needs more headroom, higher limits can be provisioned per organization — contact Sarvam support.
How the pieces fit together
Discover the schema
Get query schema returns the tables and columns available to board SQL, with their types. Start here — it is the authoritative list, and querying anything outside it fails.
Save it as a widget
Create board, then Create widget with your SQL, a visualization type, and the filters its {{tokens}} declare.
Filters are never created directly — that is why List filters and Update filter exist but “create filter” does not. A filter comes into being when a {{token}} appears in a widget’s SQL, and the board’s filter set is the union of the tokens across its widgets. See Writing board SQL.
Errors
Every error carries a detail field. For most failures it is a message string:
For SQL and query-execution failures it is an object with a machine-readable code, so you can branch on the cause rather than parsing prose:
The full code table is on Writing board SQL.
What this API does not do
These are deliberate, not gaps to work around:
- No deletion. There are no
DELETEroutes. Boards, tabs, widgets, and notification rules are created and edited through the API but removed only in the dashboard. - No CSV export. Widget downloads are a dashboard feature. Read results as JSON from the run endpoints.
- No whole-board run. The tab is the unit — call Run tab once per tab.
- No AI query generation. Generating SQL from a plain-language prompt is dashboard-only.