Authenticatie
Zo authenticeer je bij de EenFactuurMaken.nl REST API met een API-sleutel (Bearer of X-API-Key), wat een sleutel niet mag en hoe je sleutels veilig houdt.
Elk API-verzoek heeft een API-sleutel nodig. Maak er een bij Instellingen → API & AI (zie API-sleutels en apps). Een sleutel begint met efm_.
De sleutel meesturen
Gebruik bij voorkeur de Authorization-header:
bash
curl https://eenfactuurmaken.nl/api/v1/invoices \
-H "Authorization: Bearer efm_jouw_sleutel"Kan je tool geen Bearer-tokens sturen? Gebruik dan X-API-Key:
bash
curl https://eenfactuurmaken.nl/api/v1/invoices \
-H "X-API-Key: efm_jouw_sleutel"In JavaScript (Node 18 of nieuwer):
js
const res = await fetch('https://eenfactuurmaken.nl/api/v1/me', {
headers: { Authorization: `Bearer ${process.env.EENFACTUURMAKEN_API_KEY}` },
})
if (!res.ok) throw new Error((await res.json()).data?.code)
console.log(await res.json())In Python:
python
import os, requests
r = requests.get(
"https://eenfactuurmaken.nl/api/v1/me",
headers={"Authorization": f"Bearer {os.environ['EENFACTUURMAKEN_API_KEY']}"},
timeout=30,
)
r.raise_for_status()
print(r.json())Fouten bij authenticatie
| Status | Code | Betekenis |
|---|---|---|
| 401 | unauthenticated | Geen sleutel meegestuurd. |
| 401 | invalid_api_key | De sleutel klopt niet, is ingetrokken of verlopen. |
| 403 | session_required | Dit kan alleen in de web-app (zie hieronder). |
| 429 | rate_limited | Meer dan 120 verzoeken per minuut met deze sleutel. Wacht het aantal seconden uit de header Retry-After. |
Wat kan alleen in de web-app?
Om je te beschermen als een sleutel uitlekt, werken deze acties niet met een API-sleutel (403 session_required):
- betaalgegevens wijzigen:
iban,bic,bankAccountName,email(antwoordadres) endefaultPaymentLinkviaPATCH /business; - je abonnement afsluiten, opzeggen of hervatten;
- beveiliging (wachtwoord, 2FA, passkeys, apparaten, beveiligingslog, API-sleutels, verbonden apps) en je account verwijderen;
- de welkomstgids.
Sessies en OAuth
- De web-app gebruikt een sessiecookie. Daarvoor geldt een extra controle op de
Origin-header (403 bad_origin) tegen CSRF. Met een API-sleutel heb je daar geen last van. - OAuth-tokens zijn alleen voor de MCP-server. Zie MCP-server.
Veilig werken
- Zet de sleutel in een omgevingsvariabele of secrets-store, nooit in je code of in een openbare repository.
- Gebruik de API alleen vanaf je server, niet vanuit een browser: dan ligt je sleutel op straat.
- Maak per koppeling een eigen sleutel, met een verloopdatum. Dan kun je er één intrekken zonder de rest te raken.
- Lekt er een sleutel uit? Trek hem meteen in.
Laatst bijgewerkt op 13 oktober 2026
Kom je er niet uit?
Mail ons op support@eenfactuurmaken.nl. Vertel wat je probeerde en wat er gebeurde, dan helpen we je verder.