Skip to main content
De Enrow API signaleert problemen met HTTP-statuscodes en een JSON-foutbody. Deze gids legt de foutresponsformaten uit, de meest voorkomende fouten en hoe je ze oplost, en hoe je betrouwbare retry-logica bouwt. Voor de volledige lijst met codes, zie Statuscodes.

Hoe ziet een foutrespons eruit?

De meeste Enrow API-fouten retourneren een eenvoudig JSON-object met één message-veld:
De enige uitzondering is een fout wegens onvoldoende krediet (402) op enkelvoudige endpoints (email/phone find single, verify single), die een reason-veld naast success retourneert:
Foutresponses bevatten nooit de velden 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?

Een 400 betekent dat de request-payload onjuist is opgemaakt of dat er een verplichte parameter ontbreekt:
Oplossing: Controleer of je alle verplichte parameters voor het endpoint meegeeft. Find Single Email vereist bijvoorbeeld fullname plus ofwel company_domain ofwel company_name.

Waarom krijg ik een 401 Unauthorized?

Een 401 betekent dat de API-sleutel ontbreekt of ongeldig is:
Oplossing: Controleer of de API-sleutel correct is en wordt verzonden in de x-api-key-header (niet Authorization). Zie Authenticatie voor hoe je de sleutel bij elk verzoek meegeeft.

Waarom krijg ik een 402 Insufficient Credits?

Een 402 betekent dat het account niet genoeg credits heeft om het verzoek uit te voeren:
Op bulk-endpoints wordt dezelfde 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?

Een 429 betekent dat er te veel verzoeken in een korte periode zijn verzonden:
Oplossing: Wacht en probeer het opnieuw met exponentiële backoff. Zie Rate limits voor de limieten per plan.

Waarom krijg ik een 500 Internal Server Error?

Een 500 betekent dat er iets is misgegaan aan de kant van Enrow:
Oplossing: Probeer het verzoek opnieuw met backoff. Als het probleem aanhoudt, neem dan contact op met api@enrow.io.

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. Het message-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

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.
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.
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.
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.