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.
{
"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
| Felt | Type | Kan være null | Eksempel | Beskrivelse |
|---|---|---|---|---|
data.input | object | Nei | {"type":"name","value":"Henrik","country":"NO"} | Inndatatype, verdi og land. forceToGenderize tas med når verdien er true. |
data.name | string | Ja | "henrik" | Fornavnet som ga treff eller ble hentet ut; null når det ikke finnes noe. |
data.gender | string | Ja | "male" | male, female eller JSON null. Et estimat, ikke en bekreftet personlig identitet. |
data.result_status | string | Nei | "identified" | identified når et kjønn returneres; ellers unknown. |
data.reason | string | Ja | null | null for identifiserte resultater. Årsaker til ukjente resultater: not_found, no_name_candidate, ambiguous eller insufficient_evidence. |
data.confidence | number | Ja | 0.95 | Verdi fra 0 til 1 eller null. Når kjønnet er null, er konfidensen også null. |
data.confidence_kind | string | Ja | "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_count | integer | Ja | 1200 | Utvalgsstørrelse i datasettet eller null. KI finner ikke på et utvalgsantall. |
data.source | string | Nei | "dataset" | dataset, ai eller none. |
data.country | string | Ja | "NO" | Landtilknytning fra dataset eller ai_association, eller null. Viser ikke nasjonalitet, bosted eller etnisitet. |
data.country_source | string | Ja | "dataset" | Kilden til landtilknytningen: dataset, ai_association eller null. |
data.match | object | Nei | {"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
| Felt | Type | Kan være null | Eksempel | Beskrivelse |
|---|---|---|---|---|
data.input.type | string | Nei | "name" | Inndatakategori: name, email eller username. |
data.input.value | string | Nei | "Henrik" | Prediksjonsverdien som ble sendt. |
data.input.country | string | Ja | "NO" | Landkonteksten som ble sendt; null hvis den er utelatt. |
data.input.forceToGenderize | boolean | Nei | true | Finnes bare når kallenavnmodus er aktivert; ellers utelatt. |
Felt for treff i datasettet
| Felt | Type | Kan være null | Eksempel | Beskrivelse |
|---|---|---|---|---|
data.match.name | string | Ja | "henrik" | Valgt kandidat fra datasettet; null når ingen rad i datasettet ble valgt. |
data.match.method | string | Ja | "normalized" | normalized, token, substring eller model_inference; null når verdien ikke er tilgjengelig. |
data.match.scope | string | Ja | "country" | country eller global for oppslag i datasettet; null for KI eller manglende grunnlag. |
data.match.country | string | Ja | "NO" | Landet for den valgte raden i datasettet; null for globale rader eller KI. |
Metadata om tilgang, belastning og forespørsel
| Felt | Type | Kan være null | Eksempel | Beskrivelse |
|---|---|---|---|---|
meta.request_id | string | Nei | "550e8400-e29b-41d4-a716-446655440000" | Unik ID for dette HTTP-forsøket; sendes også i X-Request-ID. |
meta.duration_ms | integer | Nei | 42 | Behandlingstid for forespørselen i millisekunder. |
meta.access.mode | string | Nei | "api_key" | api_key, ip_trial eller unauthenticated. Kontroller at verdien er api_key når du bruker en betalt konto. |
meta.access.reason | string | Ja | null | Årsak til at IP-prøveperioden ble brukt: api_key_missing, api_key_invalid eller api_key_not_found; ellers null. |
meta.usage.charged_credits | integer | Ja | 1 | Netto belastede kreditter. 0 før belastning eller etter en bekreftet full refusjon; null når belastningen ikke er bekreftet. |
meta.usage.remaining_credits | integer | Ja | 99 | Saldo 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_status | string | Nei | "confirmed" | not_charged, confirmed eller unconfirmed. Sjekk dette før du prøver en mislykket prediksjon på nytt. |
meta.usage.resets_at | string | Ja | "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.limit | integer | Ja | 10 | Kvoten i IP-prøveperioden; null for kontoer med API-nøkkel. |
meta.usage.period_seconds | integer | Ja | 86400 | Lengden 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.
{
"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.
| Resultat | Hva det betyr | Anbefalt håndtering |
|---|---|---|
| identified; gender: male eller female | Prediksjonen 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_found | Ingen 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_candidate | Tolkningen for datasettet ga ingen brukbar navnekandidat. | Behold null; kontroller inndatatypen og verdien før du velger en ny prediksjon. |
| unknown; reason: ambiguous | Den 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_evidence | KI 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 element | Kjø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.