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
ParameterBetekenis
typeall (standaard), definitions (structuur zonder streefwaarden en eenheden) of data (compact, met de streefwaarden van dit jaar)
sinceISO 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

StatusWanneer
400Ongeldige type of since; de body bevat een error-melding.
401Ontbrekend of ongeldig token.
403API-toegang staat niet aan voor je bedrijf, of je bedrijf heeft de KPI Platform-module niet.