API DOKUMENTATION V2

API v2 fejl og genforsøg

Håndter GenderAPI v2 Problem Details, valideringsfejl, takstgrænser og faktureringsusikkerhed. Forstå debiteringer, der skal prøves igen, og hvornår du skal kontakte support.

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 statusTypisk betydningNæste trin
400 / 413 / 415Misformet JSON, overdimensioneret krop eller ikke-understøttet medietype.Ret anmodningen.
401 / 403Adgang afvist, kontobegrænsning eller utilstrækkelig kredit.Undersøg code; korrekt adgang eller genopfyld kreditter / vent på nulstilling af prøveversionen.
422Ugyldig input eller inkompatible muligheder.Ret de felter, der er identificeret i errors.
404 / 405Ukendt rute eller ikke-understøttet HTTP-metode.Kontroller endepunktstien og Allow-svarheaderen.
429Sats- eller samtidighedsgrænse.Vent på Retry-After, før du sender endnu en anmodning.
500Uventet serverfejl.Kontakt support med request_id; kontrollere fakturering, før du prøver igen.
502 / 503 / 504Fejl ved udbyder, afhængighed, fakturering eller timeout.Undersøg code, action og billing_status, før du prøver igen.
Illustrativt JSON-svar
{
  "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ænseVærdi
JSON anmodningstekst64 KiB maksimum
Forudsigelsesværdi1–254 tegn
Batch50 genstande med en API nøgle; 10 med IP prøveversionen
Kontotakst120 anmodninger i minuttet
IP rate600 anmodninger i minuttet
Samtidige operationer2 pr. konto; 16 på tværs af tjenesten