Fejl og HTTP statuskoder
Applikationsfejl bruger application/problem+json (RFC 9457). Håndter fejl ved at bruge de stabile felter code og action i stedet for den forklarende tekst i detail. For valideringsfejl indeholder errors JSON Pointer-placeringer for de berørte felter. Inkluder request_id, når du kontakter support. Proxy- eller forbindelsesfejl kan returnere en anden svartekst; tjek Content-Type før parsing af JSON.
Det følgende syntetiske 422-eksempel viser ugyldig e-mail-syntaks før fakturering. Det offentlige fejlkatalog viser hver kode, status, forklaring og foreslået handling.
| HTTP status | Typisk betydning | Næste trin |
|---|---|---|
| 400 / 413 / 415 | Misformet JSON, overdimensioneret krop eller ikke-understøttet medietype. | Ret anmodningen. |
| 401 / 403 | Adgang afvist, kontobegrænsning eller utilstrækkelig kredit. | Undersøg code; korrekt adgang eller genopfyld kreditter / vent på nulstilling af prøveversionen. |
| 422 | Ugyldig input eller inkompatible muligheder. | Ret de felter, der er identificeret i errors. |
| 404 / 405 | Ukendt rute eller ikke-understøttet HTTP-metode. | Kontroller endepunktstien og Allow-svarheaderen. |
| 429 | Sats- eller samtidighedsgrænse. | Vent på Retry-After, før du sender endnu en anmodning. |
| 500 | Uventet serverfejl. | Kontakt support med request_id; kontrollere fakturering, før du prøver igen. |
| 502 / 503 / 504 | Fejl ved udbyder, afhængighed, fakturering eller timeout. | Undersøg code, action og billing_status, før du prøver igen. |
{
"type": "urn:genderapi:problem:validation_error",
"title": "validation error",
"status": 422,
"detail": "A valid email address is required.",
"instance": "urn:uuid:11111111-1111-4111-8111-111111111111",
"code": "validation_error",
"request_id": "11111111-1111-4111-8111-111111111111",
"documentation": "https://api.genderapi.io/api/v2/errors",
"action": "correct_request",
"errors": [
{
"pointer": "/value",
"message": "Invalid email address."
}
],
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 0,
"remaining_credits": null,
"billing_status": "not_charged",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
}
}
}Forsøg igen og fakturering
Hver forudsigelsesanmodning er en ny operation, inklusive en identisk anmodning sendt igen. Normale kreditregler gælder for hver anmodning. Der er ingen duplikat-anmodningsbeskyttelse, så undgå automatiske genforsøg efter et forbindelsestab eller et ukendt resultat.
For et 429-svar skal du vente på Retry-After, før du sender endnu en anmodning. For forudsigelsesfejl skal du først inspicere code, action og meta.usage.billing_status. For billing_reconciliation_required eller ubekræftet fakturering skal du kontakte support med request_id, før du prøver igen.
En delvis vellykket batch kan returnere HTTP 200. Kontroller hver vare og genindsend kun mislykkede varer, efter at faktureringen er bekræftet; vellykkede varer vil blive faktureret igen, hvis de indsendes igen.
X-Request-ID og meta.request_id identificerer det aktuelle HTTP-forsøg. Læs /usage for den aktuelle saldo. HEAD starter ikke en fakturerbar forudsigelse. Forudsigelse og kontosvar kan ikke cachelagres.
Klienter bør tolerere additive responsfelter og bevare null-værdier, når information ikke er tilgængelig.
Anmodningsgrænser
Håndter HTTP 429 og Retry-After i stedet for at antage, at anmodninger altid vil blive accepteret ved disse lofter. Servicekapacitet er delt. De viste værdier er de aktuelle servicestandarder. Rate-limit svar inkluderer X-RateLimit-Limit, X-RateLimit-Remaining og X-RateLimit-Reset (Unix sekunder). Retry-After er en forsinkelse i sekunder. Disse overskrifter beskriver anmodningsgrænser, ikke resterende kreditter. Selv den gratis /usage-læsning tæller med i hastighedsgrænserne.
| Grænse | Værdi |
|---|---|
| JSON anmodningstekst | 64 KiB maksimum |
| Forudsigelsesværdi | 1–254 tegn |
| Batch | 50 genstande med en API nøgle; 10 med IP prøveversionen |
| Kontotakst | 120 anmodninger i minuttet |
| IP rate | 600 anmodninger i minuttet |
| Samtidige operationer | 2 pr. konto; 16 på tværs af tjenesten |