KPI Platform API
One read-only endpoint returns your whole KPI framework as JSON: KPIs with targets, the organisation, meetings and dashboards. Use it to feed Power BI, Excel or your own scripts.
Authentication
Create a personal token in the app under KPI Platform › API access and send it in the
Authorization header. Both Bearer <token> and Token <token> work.
The token acts as you, so keep it secret; regenerate or revoke it on the same page. Your company needs the
KPI Platform module.
Endpoint
GET /api/performance/export/?type=all&since=2026-01-01T00:00:00Z
| Parameter | Meaning |
|---|---|
type | all (default), definitions (structure without targets and units) or data (compact, with this year's targets) |
since | ISO 8601 timestamp. If nothing changed after it, the response has "changed": false and "data": null, so you can poll cheaply. |
Response
{
"meta": {
"exportedAt": "2026-10-10T12:00:00Z", "companyId": "42", "type": "all",
"version": "1.0", "lastUpdated": "2026-10-09T15:31:07Z",
"counts": {"kpis": 85, "orgNodes": 16, "overleggen": 9, "dashboards": 2}
},
"data": {
"kpis": [{
"id": "7", "level": "Theme", "name": "Profitable Growth", "description": "...",
"owner": "Group CEO", "targetValue": "", "unit": "%",
"orgNodeIds": ["1"], "dashboardIds": [], "parentKpiId": null,
"targets": {"2026": "15"},
"targetHistory": [{"year": 2026, "from": "12", "to": "15", "at": "...", "by": "Group CEO"}],
"children": [ ... ]
}],
"orgNodes": [{"id": "1", "name": "Insurance Group", "owner": "Group CEO", "nodeType": "Division",
"parentId": null, "orientation": null, "description": "..."}],
"overleggen": [{"id": "3", "name": "Group Strategy Board", "frequency": "Quarterly", "level": "Strategic",
"chair": "Group CEO", "kpiIds": ["8"], "orgNodeIds": ["1"], "description": "..."}],
"dashboards": [{"id": "1", "name": "Group Performance Dashboard", "url": "https://...", "type": "Power BI",
"kpiIds": ["8"], "description": "..."}]
}
}
KPIs are nested through children; targetValue is the target for the current year. Ids are
strings. Meetings are under overleggen for compatibility with the original KPI Platform API, so existing
integrations only need the new URL and a new token.
Power BI / Excel
let
Source = Json.Document(Web.Contents("https://matso.nl/api/performance/export/?type=data",
[Headers = [Authorization = "Bearer YOUR_TOKEN"]])),
Kpis = Source[data][kpis],
Table = Table.FromRecords(Kpis)
in
Table
This gives the top-level KPIs; expand the children column for the levels below.
Errors
| Status | When |
|---|---|
| 400 | Invalid type or since; the body has an error message. |
| 401 | Missing or invalid token. |
| 403 | Your company does not have the KPI Platform module. |