API-DOKUMENTASJON V2

GenderAPI.io V2: JSON-svar og konfidens

Forstå data- og meta-feltene i GenderAPI.io V2: kjønn, årsaker til ukjente resultater, konfidens, grunnlag fra datasettet, KI-verdier, tilgangsmodus og metadata om belastning.

Forstå JSON-svaret

Vellykkede enkeltsvar inneholder data og meta. Eksemplet nedenfor fra datasettet er et ekte svar hentet 1. oktober 2026 med en API-nøkkel; bare kontosaldoen er byttet ut. Det viser ikke målt produktnøyaktighet, og en forespørsel i sanntid kan gi et annet resultat. Forespørsler med API-nøkkel rapporterer access.mode: api_key og null i kvotefeltene som bare gjelder IP-prøveperioden; forespørsler via IP-prøveperioden rapporterer ip_trial med prøvegrensen og tidspunktet for tilbakestilling.

Illustrerende JSON-svar
{
  "data": {
    "input": {
      "type": "name",
      "value": "Henrik",
      "country": "NO"
    },
    "name": "henrik",
    "gender": "male",
    "country": "NO",
    "confidence": 1,
    "confidence_kind": "observed_frequency",
    "sample_count": 129,
    "source": "dataset",
    "result_status": "identified",
    "reason": null,
    "country_source": "dataset",
    "match": {
      "name": "henrik",
      "method": "normalized",
      "scope": "country",
      "country": "NO"
    }
  },
  "meta": {
    "request_id": "ec48ee76-eaf5-424f-8ed5-b33841429438",
    "duration_ms": 10,
    "access": {
      "mode": "api_key",
      "reason": null
    },
    "usage": {
      "charged_credits": 1,
      "remaining_credits": 49999,
      "billing_status": "confirmed",
      "resets_at": null,
      "limit": null,
      "period_seconds": null
    }
  }
}

Felt i prediksjonssvaret

FeltTypeKan være nullEksempelBeskrivelse
data.inputobjectNei{"type":"name","value":"Henrik","country":"NO"}Inndatatype, verdi og land. forceToGenderize tas med når verdien er true.
data.namestringJa"henrik"Fornavnet som ga treff eller ble hentet ut; null når det ikke finnes noe.
data.genderstringJa"male"male, female eller JSON null. Et estimat, ikke en bekreftet personlig identitet.
data.result_statusstringNei"identified"identified når et kjønn returneres; ellers unknown.
data.reasonstringJanullnull for identifiserte resultater. Årsaker til ukjente resultater: not_found, no_name_candidate, ambiguous eller insufficient_evidence.
data.confidencenumberJa0.95Verdi fra 0 til 1 eller null. Når kjønnet er null, er konfidensen også null.
data.confidence_kindstringJa"observed_frequency"observed_frequency: det dominerende antallet i datasettet delt på totalen. model_reported: en verdi fra KI, ikke en kalibrert sannsynlighet. null når verdien ikke er tilgjengelig.
data.sample_countintegerJa1200Utvalgsstørrelse i datasettet eller null. KI finner ikke på et utvalgsantall.
data.sourcestringNei"dataset"dataset, ai eller none.
data.countrystringJa"NO"Landtilknytning fra dataset eller ai_association, eller null. Viser ikke nasjonalitet, bosted eller etnisitet.
data.country_sourcestringJa"dataset"Kilden til landtilknytningen: dataset, ai_association eller null.
data.matchobjectNei{"name":"henrik","method":"normalized","scope":"country","country":"NO"}Navnet som ga treff i datasettet, metoden (normalized, token, substring eller model_inference), omfanget country/global og landet som ga treff. Grunnlag som ikke er tilgjengelig, er null.

Returnerte inndatafelt

FeltTypeKan være nullEksempelBeskrivelse
data.input.typestringNei"name"Inndatakategori: name, email eller username.
data.input.valuestringNei"Henrik"Prediksjonsverdien som ble sendt.
data.input.countrystringJa"NO"Landkonteksten som ble sendt; null hvis den er utelatt.
data.input.forceToGenderizebooleanNeitrueFinnes bare når kallenavnmodus er aktivert; ellers utelatt.

Felt for treff i datasettet

FeltTypeKan være nullEksempelBeskrivelse
data.match.namestringJa"henrik"Valgt kandidat fra datasettet; null når ingen rad i datasettet ble valgt.
data.match.methodstringJa"normalized"normalized, token, substring eller model_inference; null når verdien ikke er tilgjengelig.
data.match.scopestringJa"country"country eller global for oppslag i datasettet; null for KI eller manglende grunnlag.
data.match.countrystringJa"NO"Landet for den valgte raden i datasettet; null for globale rader eller KI.

Metadata om tilgang, belastning og forespørsel

FeltTypeKan være nullEksempelBeskrivelse
meta.request_idstringNei"550e8400-e29b-41d4-a716-446655440000"Unik ID for dette HTTP-forsøket; sendes også i X-Request-ID.
meta.duration_msintegerNei42Behandlingstid for forespørselen i millisekunder.
meta.access.modestringNei"api_key"api_key, ip_trial eller unauthenticated. Kontroller at verdien er api_key når du bruker en betalt konto.
meta.access.reasonstringJanullÅrsak til at IP-prøveperioden ble brukt: api_key_missing, api_key_invalid eller api_key_not_found; ellers null.
meta.usage.charged_creditsintegerJa1Netto belastede kreditter. 0 før belastning eller etter en bekreftet full refusjon; null når belastningen ikke er bekreftet.
meta.usage.remaining_creditsintegerJa99Saldo når operasjonen er fullført. Kan være negativ; null når saldoen ikke er tilgjengelig eller belastningen ikke er bekreftet.
meta.usage.billing_statusstringNei"confirmed"not_charged, confirmed eller unconfirmed. Sjekk dette før du prøver en mislykket prediksjon på nytt.
meta.usage.resets_atstringJa"2026-09-27T12:00:00.000Z"Tidspunkt for tilbakestilling av IP-prøveperioden i UTC (ISO 8601); null for kontoer med API-nøkkel eller når tidspunktet er ukjent.
meta.usage.limitintegerJa10Kvoten i IP-prøveperioden; null for kontoer med API-nøkkel.
meta.usage.period_secondsintegerJa86400Lengden på IP-prøveperioden i sekunder; null for kontoer med API-nøkkel.

Et vellykket ukjent resultat

HTTP 200 betyr at operasjonen er fullført; det garanterer ikke et kjønn. Behold JSON null i stedet for å gjøre det om til male, female, en tom streng eller konfidens null. Sjekk data.result_status og data.reason atskilt fra HTTP-feil.

Dette ekte eksemplet med bare datasettet, hentet 1. oktober 2026, returnerer source: none og reason: not_found og koster likevel 1 kreditt. En rad i datasettet med likt antall for begge kjønn kan returnere reason: ambiguous, mens sample_count beholdes. Et ukjent KI-resultat bruker source: ai og reason: insufficient_evidence.

Illustrerende JSON-svar
{
  "data": {
    "input": {
      "type": "name",
      "value": "zzzxxyy",
      "country": null
    },
    "name": null,
    "gender": null,
    "country": null,
    "confidence": null,
    "confidence_kind": null,
    "sample_count": null,
    "source": "none",
    "result_status": "unknown",
    "reason": "not_found",
    "country_source": null,
    "match": {
      "name": null,
      "method": null,
      "scope": null,
      "country": null
    }
  },
  "meta": {
    "request_id": "54fdcd4e-f8bc-4224-918f-3a5732e08b9c",
    "duration_ms": 10,
    "access": {
      "mode": "api_key",
      "reason": null
    },
    "usage": {
      "charged_credits": 1,
      "remaining_credits": 49999,
      "billing_status": "confirmed",
      "resets_at": null,
      "limit": null,
      "period_seconds": null
    }
  }
}

Tolk konfidens og grunnlaget for treffet

En konfidens på 0,9 er angitt på en skala fra 0 til 1. For observed_frequency betyr det det dominerende antallet delt på totalen i den valgte raden i datasettet; det er ikke målt ende-til-ende-nøyaktighet for produktet. En model_reported-verdi kommer fra KI og er ikke kalibrert mot frekvenser i datasettet.

Velg en eventuell terskel i applikasjonen ut fra dine egne evalueringsdata og confidence_kind. Ikke ranger verdier fra datasettet og KI direkte mot hverandre som om de målte det samme. For KI er match.name, match.scope og match.country null fordi ingen rad i datasettet ble valgt; match.method er model_inference.

For fulle navn kan et resultat fra datasettet komme fra én del av navnet i stedet for hele strengen. data.input bevarer verdien som ble sendt; data.name beskriver det returnerte navnet, og data.match beskriver kandidaten og omfanget av oppslaget.

Bestem hva applikasjonen din skal gjøre

Håndter først feil i forespørselen og i enkeltelementer, og sjekk deretter result_status. For en enkeltprediksjon leser du data; for en samleforespørsel bruker du den samme beslutningen på data for hvert vellykket element. Behold ukjente resultater i applikasjonen i stedet for å tvinge frem etiketten male eller female.

ResultatHva det betyrAnbefalt håndtering
identified; gender: male eller femalePrediksjonen returnerte et kjønn basert på datasettet eller KI.Bruk en regel som er evaluert for akkurat denne confidence_kind; behold source og grunnlaget for treffet.
unknown; reason: not_foundIngen lagret oppføring i datasettet samsvarer med de tolkede kandidatene.La gender være null. En bevisst ny forespørsel med andre KI-alternativer er en ny operasjon som belastes.
unknown; reason: no_name_candidateTolkningen for datasettet ga ingen brukbar navnekandidat.Behold null; kontroller inndatatypen og verdien før du velger en ny prediksjon.
unknown; reason: ambiguousDen valgte raden i datasettet har like mange mannlige og kvinnelige forekomster; sample_count kan likevel være oppgitt.Ikke avgjør selv hvilket kjønn som gjelder, og ikke gjør en konfidens på null om til 0.
unknown; reason: insufficient_evidenceKI fullførte forespørselen uten tilstrekkelig grunnlag til å returnere et kjønn.Behandle det som et fullført ukjent resultat, ikke som en feil hos leverandøren eller som en kandidat for automatiske nye forsøk.
Problem Details eller error for et elementKjøringen mislyktes, for eksempel med ai_upstream_error eller prediction_timeout.Lagre feilkoden og forespørsels-ID-en, sjekk belastningen og følg veiledningen om nye forsøk.

Velg terskler ut fra din egen evaluering

Det finnes ingen universell konfidensterskel som gjør en prediksjon riktig. Evaluer observed_frequency og model_reported hver for seg, med representative og uavhengig merkede eksempler fra ditt eget bruksområde. En frekvens i datasettet og en verdi rapportert av KI er ulike signaler, også når begge er 0,9. Mål hvor ofte regelen din gir et svar, og hvor ofte disse svarene er riktige; for alt annet beholder du et ukjent resultat eller legger opp til manuell gjennomgang.

Hvis for eksempel result_status er identified, men confidence_kind er model_reported, bruker du regelen du har evaluert for KI, ikke terskelen for datasettet. Hvis forceToGenderize ble brukt, er name: null sammen med et kjønn som ikke er null, gyldig: Et alias kan tolkes uten at et ekte fornavn hentes ut. Sjekk gender og result_status, ikke bare name, for å avgjøre om prediksjonen ga et svar. Resultatet er fortsatt et estimat, ikke en bekreftelse av en persons identitet.

Relaterte veiledninger