Reference
Reports
Dashboards, the datasets they bind, and report templates.
A dashboard and a report template are both reports. A dashboard is a grid of visuals. A template is a paged document. They are separate routes.
A token needs records:read to list, open, and run a dataset. records:write creates and publishes. The call also needs the reporting permission for that screen: reporting.dashboard.view, reporting.dashboard.manage, reporting.dataset.view, reporting.template.view, or reporting.template.manage.
Dashboards
Section titled “Dashboards”| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/x/reports | Dashboards |
| GET | /api/v1/x/reports/{id} | One dashboard, including its visuals |
| POST | /api/v1/x/reports | Create. Visuals may be empty |
| PUT | /api/v1/x/reports/{id} | Change it. Absent keys stay |
| POST | /api/v1/x/reports/{id}/publish | Publish. An archived dashboard is 409 conflict |
| POST | /api/v1/x/reports/{id}/archive | Archive |
| DELETE | /api/v1/x/reports/{id} | Delete |
| GET | /api/v1/x/reports/components | Visual components and their slots |
| GET | /api/v1/x/reports/datasets | Datasets a visual can bind |
| GET | /api/v1/x/reports/datasets/{key} | One dataset |
| POST | /api/v1/x/reports/datasets/{key}/query | Run it. Body is filters and parameters. This reads |
Send visuals as a JSON value visuals, or as a string visualsJson. The same pair exists for filters and parameterDefaults. Sending both forms of one field is 400 invalid_field. A component or dataset the catalog does not list is 400.
{ "name": "SaaS pipeline", "description": "Companies scored against the SaaS strategy.", "visuals": []}capsure reports push report.json creates it. capsure reports components and capsure reports datasets list what a visual can use.
Report templates
Section titled “Report templates”| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/x/report-templates | Templates. Optional entityType |
| GET | /api/v1/x/report-templates/{id} | One template |
| POST | /api/v1/x/report-templates | Create |
| PUT | /api/v1/x/report-templates/{id} | Change it. Absent keys stay. reportType stays |
| POST | /api/v1/x/report-templates/{id}/publish | Publish. An archived template is 409 conflict |
| POST | /api/v1/x/report-templates/{id}/copy | Copy. Body is name and optional description |
| POST | /api/v1/x/report-templates/{id}/archive | Archive |
| DELETE | /api/v1/x/report-templates/{id} | Delete |
| GET | /api/v1/x/report-templates/components | Format components a page can place |
| GET | /api/v1/x/report-templates/fields | Fields a page can bind. Optional entityType, default Company |
entityType is Company, Deal, Investor, Fund, Person, Firm, Holding, Campaign, or Kyc. Pages are pages or pagesJson. A frame that names an unknown component is 400.
{ "name": "SaaS company brief", "description": "One page for a company review.", "entityType": "Company", "reportType": "custom", "pages": []}capsure report-templates push template.json creates it.