Versie 1
Nulstop API
Met de open API koppel je Nulstop aan andere software: je ERP, Power BI, Exact, AFAS, een sensor die zelf storingen meldt, of een eigen script. De API zit gratis in elk pakket.
1. Een sleutel aanmaken
Een beheerder maakt in Nulstop een sleutel aan via Beheer > Koppelingen (API). Kies of de sleutel alleen mag lezen, of ook bonnen mag aanmaken en bijwerken. De sleutel begint met ns_ en is maar één keer te zien: bewaar hem veilig, net als een wachtwoord. Een sleutel die niet meer nodig is, trek je daar ook weer in.
2. De sleutel meesturen
Stuur bij elk verzoek de kop Authorization: Bearer <sleutel> mee. Alles gaat via https; antwoorden zijn JSON.
curl https://www.nulstop.nl/api/v1/installaties \
-H "Authorization: Bearer ns_jouwsleutel"3. Wat kan er
| Methode | Adres | Sleutel | Wat |
|---|---|---|---|
| GET | /api/v1 | lezen | Controle: werkt de sleutel, van welk bedrijf, welke rechten. |
| GET | /api/v1/installaties | lezen | Alle installaties met code, naam, pad en bovenliggende installatie. |
| GET | /api/v1/bonnen | lezen | Bonnen (storingen, klussen, preventief, keuringen). Filters hieronder. |
| GET | /api/v1/bonnen/{nummer} | lezen | Eén bon met zijn volledige geschiedenis. |
| POST | /api/v1/bonnen | schrijven | Een storing of klus aanmaken. |
| PATCH | /api/v1/bonnen/{nummer} | schrijven | Status, gewerkte uren of een notitie bijwerken. |
| GET | /api/v1/onderhoudstaken | lezen | Preventief onderhoud en keuringen, met de volgende datum. |
| GET | /api/v1/onderdelen | lezen | Magazijn: voorraad, minimum en of er besteld moet worden (pakket Professional en hoger). |
4. Bonnen ophalen
Filters (allemaal optioneel):
status: een of meer vanopen, gepland, bezig, wacht, gereed, gesloten, gescheiden door komma's.soort:storing, klus, preventief, keuring.gewijzigdSinds: alleen bonnen die sinds dit moment zijn gewijzigd, bijv.2026-09-01T00:00:00Z. Handig om elke nacht alleen de veranderingen op te halen.limiet: aantal per keer, standaard 100, maximaal 500.na: bladeren. Het antwoord bevatvolgende; geef dat nummer mee alsnavoor de volgende pagina. Isvolgendeleeg, dan ben je klaar.
curl "https://www.nulstop.nl/api/v1/bonnen?status=open,gepland&limiet=50" \
-H "Authorization: Bearer ns_jouwsleutel"Antwoord (ingekort):
{
"data": [{
"nummer": 1042, "titel": "Vulmachine lekt", "soort": "storing",
"prioriteit": "P2", "status": "gepland",
"installatie": { "code": "L2-VUL", "pad": "Lijn 2 > Vulmachine" },
"monteur": { "naam": "Sem Bakker", "email": "sem@bedrijf.nl" },
"gemeldOp": "2026-09-28T07:12:00.000Z", "geplandOp": "2026-09-29T06:00:00.000Z",
"gereedOp": null, "urenGepland": 2, "urenWerkelijk": null,
"bijgewerkt": "2026-09-28T09:30:00.000Z"
}],
"volgende": null
}5. Een storing aanmaken
Velden: titel (verplicht), omschrijving, prioriteit (P1 t/m P4, standaard P3), installatieCode, soort (storing of klus) en melder. Het antwoord is de nieuwe bon, met status 201.
curl -X POST https://www.nulstop.nl/api/v1/bonnen \
-H "Authorization: Bearer ns_jouwsleutel" \
-H "Content-Type: application/json" \
-d '{"titel": "Trilling pomp P-201 te hoog", "prioriteit": "P2", "installatieCode": "L1-POM", "melder": "Trillingsmeter"}'6. Een bon bijwerken
Velden: status (open, gepland, bezig, wacht, gereed), urenWerkelijk en notitie. Wordt een preventieve bon gereed gemeld, dan schuift de taak vanzelf door naar de volgende keer, net als in de app.
curl -X PATCH https://www.nulstop.nl/api/v1/bonnen/1042 \
-H "Authorization: Bearer ns_jouwsleutel" \
-H "Content-Type: application/json" \
-d '{"status": "gereed", "urenWerkelijk": 1.5, "notitie": "Afgemeld vanuit het ERP"}'7. Power BI en Excel
- Kies in Power BI (of Excel: Gegevens > Gegevens ophalen) voor Web en dan Geavanceerd.
- Vul als URL in:
https://www.nulstop.nl/api/v1/bonnen?limiet=500 - Voeg onder “HTTP-aanvraagheaderparameters” toe:
Authorizationmet waardeBearer ns_jouwsleutel. - Kies bij de verificatie voor Anoniem (de sleutel zit al in de kop) en klik op OK.
- Klik in Power Query op data > Naar tabel en vouw de kolommen uit.
Gebruik voor Power BI een sleutel die alleen mag lezen.
8. Foutmeldingen
| Code | Betekenis |
|---|---|
| 400 | Er klopt iets niet aan het verzoek; de melding zegt wat. |
| 401 | Geen sleutel meegestuurd, of de sleutel is ingetrokken. |
| 402 | Het abonnement van dit bedrijf is niet actief. |
| 403 | De sleutel mag dit niet (bijv. alleen lezen), of het onderdeel zit niet in het pakket. |
| 404 | Niet gevonden. |
| 409 | Kan niet meer, bijv. een bon die al is afgesloten. |
Elke fout heeft de vorm { "fout": "uitleg in gewone taal" }.
Hulp nodig?
Mail naar info@nulstop.nl. Heb je een koppeling nodig die er nog niet is, laat het weten; de API groeit mee. Nog geen account? Probeer Nulstop 30 dagen gratis.