KPI Platform-API
Eén alleen-lezen endpoint geeft je hele KPI-raamwerk terug als JSON: KPI's met streefwaarden, de organisatie, overleggen en dashboards. Gebruik het om Power BI, Excel of je eigen scripts te voeden.
Authenticatie
API-toegang wordt per bedrijf aangezet, op verzoek: vraag Matso om die voor je bedrijf aan te zetten. Tot dan
antwoordt de export met 403. Staat ze aan, maak dan in de app een persoonlijk token aan onder KPI Platform › API-toegang en stuur het mee in de
Authorization-header. Zowel Bearer <token> als Token <token> werkt.
Het token handelt namens jou, dus houd het geheim; op dezelfde pagina kun je het opnieuw genereren of intrekken. Je bedrijf
heeft de KPI Platform-module nodig.
Endpoint
GET /api/performance/export/?type=all&since=2026-01-01T00:00:00Z
| Parameter | Betekenis |
|---|---|
type | all (standaard), definitions (structuur zonder streefwaarden en eenheden) of data (compact, met de streefwaarden van dit jaar) |
since | ISO 8601-tijdstempel. Als er daarna niets is veranderd, bevat het antwoord "changed": false en "data": null, zodat je goedkoop kunt pollen. |
Antwoord
{
"meta": {
"exportedAt": "2026-10-10T12:00:00Z", "companyId": "42", "type": "all",
"version": "1.0", "lastUpdated": "2026-10-09T15:31:07Z",
"counts": {"kpis": 82, "orgNodes": 16, "overleggen": 9, "dashboards": 2}
},
"data": {
"kpis": [{
"id": "8", "level": "Strategic", "name": "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": "..."}]
}
}
KPI's zijn genest via children; targetValue is de streefwaarde voor het huidige jaar. Id's zijn
strings. Overleggen staan onder overleggen voor compatibiliteit met de oorspronkelijke KPI Platform-API, dus
bestaande koppelingen hebben alleen de nieuwe URL en een nieuw token nodig.
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
Dit geeft de KPI's op het hoogste niveau; klap de kolom children uit voor de niveaus daaronder.
Foutmeldingen
| Status | Wanneer |
|---|---|
| 400 | Ongeldige type of since; de body bevat een error-melding. |
| 401 | Ontbrekend of ongeldig token. |
| 403 | API-toegang staat niet aan voor je bedrijf, of je bedrijf heeft de KPI Platform-module niet. |