Hoe ziet een foutrespons eruit?
De meeste Enrow API-fouten retourneren een eenvoudig JSON-object met éénmessage-veld:
reason-veld naast success retourneert:
error, status of retry_after. Lees de HTTP-statuscode om je logica te vertakken, en lees message (of reason) voor de leesbare beschrijving.
Wat zijn de meest voorkomende fouten en hoe los ik ze op?
De onderstaande fouten dekken het overgrote deel van de mislukte verzoeken. Bij elk staat de responsbody die de API retourneert en de oplossing.Waarom krijg ik een 400 Bad Request?
Een400 betekent dat de request-payload onjuist is opgemaakt of dat er een verplichte parameter ontbreekt:
fullname plus ofwel company_domain ofwel company_name.
Waarom krijg ik een 401 Unauthorized?
Een401 betekent dat de API-sleutel ontbreekt of ongeldig is:
x-api-key-header (niet Authorization). Zie Authenticatie voor hoe je de sleutel bij elk verzoek meegeeft.
Waarom krijg ik een 402 Insufficient Credits?
Een402 betekent dat het account niet genoeg credits heeft om het verzoek uit te voeren:
402 geretourneerd met de standaardvorm { "message": "..." } in plaats daarvan.
Oplossing: Controleer het kredietsaldo op het Dashboard of via GET /account/info. Vul credits aan of upgrade het plan op enrow.io/pricing. Zie Credits en facturatie voor hoe credits per endpoint worden verbruikt.
Waarom krijg ik een 429 Rate Limit Exceeded?
Een429 betekent dat er te veel verzoeken in een korte periode zijn verzonden:
Waarom krijg ik een 500 Internal Server Error?
Een500 betekent dat er iets is misgegaan aan de kant van Enrow:
Hoe handel ik fouten af in code?
Controleer de HTTP-status voordat je de succesbody parseert, en gooi vervolgens een fout die de statuscode meedraagt, zodat je retry-logica erop kan vertakken. Hetmessage-veld bevat de beschrijving voor de meeste fouten, en reason bevat deze voor 402-responses op enkelvoudige endpoints.
Hoe probeer ik mislukte verzoeken opnieuw?
Probeer alleen de fouten opnieuw die de moeite waard zijn —429 en 5xx — en gebruik exponentiële backoff tussen pogingen. Clientfouten in de 4xx-reeks (behalve 429) wijzen op een probleem met het verzoek zelf, dus opnieuw proberen helpt niet.
Best practices
- Probeer 4xx-fouten niet opnieuw (behalve 429) — corrigeer in plaats daarvan het verzoek
- Probeer 429-fouten opnieuw — gebruik exponentiële vertragingen voordat je het opnieuw probeert
- Probeer 5xx-fouten opnieuw — met exponentiële backoff
- Gebruik webhooks in plaats van polling om te voorkomen dat je onnodig tegen rate limits aanloopt — zie Hoe webhooks werken
- Log fouten met context — neem het endpoint, de parameters en de timestamp op voor debugging
FAQ
Hoe onderscheid ik een 402 op enkelvoudige versus bulk-endpoints?
Hoe onderscheid ik een 402 op enkelvoudige versus bulk-endpoints?
Op enkelvoudige endpoints (email/phone find single, verify single) retourneert een
402 { "reason": "Insufficient credits", "success": false }. Op bulk-endpoints retourneert dezelfde 402 de standaardvorm { "message": "..." }. Door zowel message als reason te lezen (zoals de codevoorbeelden doen) handel je beide gevallen af.Welke fouten moet ik automatisch opnieuw proberen?
Welke fouten moet ik automatisch opnieuw proberen?
Probeer
429-fouten (rate limit) en 5xx-fouten (server) opnieuw met exponentiële backoff. Probeer andere 4xx-fouten zoals 400, 401 of 402 niet opnieuw — die wijzen op een probleem met het verzoek, de API-sleutel of het kredietsaldo dat alleen opnieuw proberen niet oplost.Is er een retry_after-header die aangeeft hoe lang ik moet wachten?
Is er een retry_after-header die aangeeft hoe lang ik moet wachten?
Nee. Foutresponses bevatten nooit de velden
retry_after, error of status. Gebruik je eigen exponentiële backoff tussen pogingen. Zie Rate limits voor de limieten die op jouw plan van toepassing zijn.Waar lees ik de foutmelding in de respons?
Waar lees ik de foutmelding in de respons?
Voor de meeste fouten staat de beschrijving in het
message-veld. Voor een 402 wegens onvoldoende krediet op een enkelvoudig endpoint staat deze in plaats daarvan in het reason-veld. Vertak je logica altijd op de HTTP-statuscode in plaats van de tekst van de melding te parseren.Volgende stappen
Statuscodes
De volledige lijst met HTTP-statuscodes en hun betekenis.
Rate limits
Begrijp de verzoeklimieten per plan om 429-fouten te voorkomen.
Authenticatie
Hoe je je API-sleutel meegeeft in de x-api-key-header.
Credits en facturatie
Bekijk hoe credits voor elk endpoint worden verbruikt.

