API-DOKUMENTAATIO V2

API V2:n JSON-vastaukset ja luottamusarvot

Tutustu GenderAPI.io V2:n data- ja meta-kenttiin: sukupuoli, tuntemattoman tuloksen syyt, luottamusarvo, tietoaineiston perusteet, tekoälyn pistemäärät, käyttötila ja laskutuksen metatiedot.

Tulkitse JSON-vastaus

Onnistuneet yksittäiset vastaukset sisältävät kentät data ja meta. Seuraava tietoaineistoesimerkki on todellinen vastaus, joka haettiin 1. lokakuuta 2026 API-avaimella; vain tilin saldo on korvattu. Se ei kuvaa tuotteen mitattua tarkkuutta, ja reaaliaikainen pyyntö voi palauttaa eri tuloksen. API-avaimella tehdyt pyynnöt palauttavat arvon access.mode: api_key, ja vain kokeilua koskevat kiintiökentät ovat null; IP-kokeilun pyynnöt palauttavat arvon ip_trial sekä kokeilun rajan ja nollausajan.

Havainnollistava JSON-vastaus
{
  "data": {
    "input": {
      "type": "name",
      "value": "Juha",
      "country": "FI"
    },
    "name": "juha",
    "gender": "male",
    "country": "FI",
    "confidence": 0.9988558352402745,
    "confidence_kind": "observed_frequency",
    "sample_count": 874,
    "source": "dataset",
    "result_status": "identified",
    "reason": null,
    "country_source": "dataset",
    "match": {
      "name": "juha",
      "method": "normalized",
      "scope": "country",
      "country": "FI"
    }
  },
  "meta": {
    "request_id": "010b6440-a403-4d2e-bc0f-f44e6c03891c",
    "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
    }
  }
}

Ennustevastauksen kentät

KenttäTyyppiVoi olla nullEsimerkkiKuvaus
data.inputobjectEi{"type":"name","value":"Juha","country":"FI"}Syötteen tyyppi, arvo ja maa. forceToGenderize on mukana, kun sen arvo on true.
data.namestringKyllä"juha"Osumana löytynyt tai poimittu etunimi; null, jos sellaista ei ole.
data.genderstringKyllä"male"male, female tai JSON null. Päätelmä, ei vahvistettu henkilöllisyys.
data.result_statusstringEi"identified"identified, kun sukupuoli palautetaan; muuten unknown.
data.reasonstringKyllänullnull identified-tuloksissa. Tuntemattoman tuloksen syyt: not_found, no_name_candidate, ambiguous tai insufficient_evidence.
data.confidencenumberKyllä0.95Pistemäärä väliltä 0–1 tai null. Jos sukupuoli on null, myös luottamusarvo on null.
data.confidence_kindstringKyllä"observed_frequency"observed_frequency: hallitsevan sukupuolen määrä jaettuna tietoaineiston kokonaismäärällä. model_reported: tekoälyn pistemäärä, ei kalibroitu todennäköisyys. Null, jos arvoa ei ole saatavilla.
data.sample_countintegerKyllä1200Tietoaineiston otoskoko tai null. Tekoäly ei keksi otoskokoa.
data.sourcestringEi"dataset"dataset, ai tai none.
data.countrystringKyllä"FI"Tietoaineistoon tai ai_association-arvoon perustuva maayhteys, tai null. Ei vahvista kansalaisuutta, asuinpaikkaa tai etnistä taustaa.
data.country_sourcestringKyllä"dataset"Maayhteyden lähde: dataset, ai_association tai null.
data.matchobjectEi{"name":"juha","method":"normalized","scope":"country","country":"FI"}Tietoaineistosta löytynyt nimi, menetelmä (normalized, token, substring tai model_inference), laajuus (country tai global) ja vastaava maa. Puuttuvat tiedot ovat null.

Palautetut syötekentät

KenttäTyyppiVoi olla nullEsimerkkiKuvaus
data.input.typestringEi"name"Syötteen luokka: name, email tai username.
data.input.valuestringEi"Juha"Lähetetty ennustearvo.
data.input.countrystringKyllä"FI"Lähetetty maakonteksti; null, jos jätetty pois.
data.input.forceToGenderizebooleanEitrueMukana vain lempinimitilan ollessa käytössä; muuten puuttuu.

Tietoaineisto-osuman kentät

KenttäTyyppiVoi olla nullEsimerkkiKuvaus
data.match.namestringKyllä"juha"Valittu tietoaineiston ehdokas; null, jos riviä ei valittu.
data.match.methodstringKyllä"normalized"normalized, token, substring tai model_inference; null, jos ei saatavilla.
data.match.scopestringKyllä"country"country tai global tietoaineistohaussa; null tekoälytuloksille tai jos perusteet puuttuvat.
data.match.countrystringKyllä"FI"Valitun tietoaineistorivin maa; null globaaleille riveille tai tekoälylle.

Käyttöoikeus, veloitus ja pyynnön metatiedot

KenttäTyyppiVoi olla nullEsimerkkiKuvaus
meta.request_idstringEi"550e8400-e29b-41d4-a716-446655440000"Tämän HTTP-yrityksen yksilöllinen tunniste; myös X-Request-ID-otsakkeessa.
meta.duration_msintegerEi42Pyynnön käsittelyaika millisekunteina.
meta.access.modestringEi"api_key"api_key, ip_trial tai unauthenticated. Tarkista api_key käyttäessäsi maksullista tiliä.
meta.access.reasonstringKyllänullKokeiluun siirtymisen syy: api_key_missing, api_key_invalid tai api_key_not_found; muuten null.
meta.usage.charged_creditsintegerKyllä1Veloitetut nettokrediitit. Nolla ennen veloitusta tai vahvistetun täyden palautuksen jälkeen; null, jos veloitusta ei ole vahvistettu.
meta.usage.remaining_creditsintegerKyllä99Saldo toiminnon valmistuessa. Voi olla negatiivinen; null, jos saldoa ei saada tai veloitusta ei ole vahvistettu.
meta.usage.billing_statusstringEi"confirmed"not_charged, confirmed tai unconfirmed. Tarkista ennen epäonnistuneen ennusteen uutta yritystä.
meta.usage.resets_atstringKyllä"2026-09-27T12:00:00.000Z"IP-kokeilun nollausaika UTC-ajassa (ISO 8601); null API-avaintileillä tai jos aika ei ole tiedossa.
meta.usage.limitintegerKyllä10IP-kokeilun krediittikiintiö; null API-avaintileille.
meta.usage.period_secondsintegerKyllä86400IP-kokeilujakson pituus sekunteina; null API-avaintileille.

Onnistunut tuntematon tulos

HTTP 200 tarkoittaa, että toiminto valmistui; se ei takaa sukupuolta. Säilytä JSON null -arvo äläkä muunna sitä arvoksi male tai female, tyhjäksi merkkijonoksi tai nollaluottamukseksi. Tarkista data.result_status ja data.reason erillään HTTP-virheistä.

Tämä todellinen, vain tietoaineistoa käyttävä esimerkki, joka haettiin 1. lokakuuta 2026, palauttaa arvot source: none ja reason: not_found ja maksaa silti 1 krediitin. Jos valitulla tietoaineiston rivillä on tasatilanne, tulos voi olla reason: ambiguous, ja sample_count säilyy. Tuntematon tekoälytulos käyttää arvoja source: ai ja reason: insufficient_evidence.

Havainnollistava JSON-vastaus
{
  "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
    }
  }
}

Tulkitse luottamusarvo ja osuman perusteet

Luottamusarvo 0,9 ilmoitetaan asteikolla 0–1. observed_frequency-arvossa se tarkoittaa hallitsevaa määrää jaettuna valitun tietoaineiston kokonaismäärällä; se ei ole tuotteen mitattu kokonaistarkkuus. model_reported-pistemäärän antaa tekoäly, eikä sitä ole kalibroitu tietoaineiston esiintymistiheyksiin.

Valitse sovelluksesi kynnysarvot omien arviointiaineistojesi ja confidence_kind-kentän perusteella. Älä järjestä tietoaineiston ja tekoälyn pistemääriä suoraan keskenään ikään kuin ne mittaisivat samaa asiaa. Tekoälytuloksissa match.name, match.scope ja match.country ovat null, koska tietoaineiston riviä ei valittu; match.method on model_inference.

Koko nimen tietoaineistotulos voi perustua nimen osaan eikä koko merkkijonoon. data.input säilyttää lähetetyn arvon; data.name kuvaa palautetun nimen ja data.match ehdokkaan sekä hakualueen.

Päätä, mitä sovelluksesi tekee seuraavaksi

Käsittele ensin pyyntö- ja kohdekohtaiset virheet ja tarkista sitten result_status. Yksittäisessä ennusteessa lue data; eräpyynnössä tee sama päätös jokaisen onnistuneen kohteen data-kentän perusteella. Säilytä tuntemattomat tulokset sovelluksessasi äläkä pakota niille merkintää male tai female.

TulosMitä se tarkoittaaSuositeltu käsittely
identified; gender: male tai femalePäätelmä tuotti sukupuolen tietoaineiston tai tekoälyn perusteella.Käytä juuri tälle confidence_kind-arvolle arvioitua käytäntöä; säilytä source ja osuman perusteet.
unknown; reason: not_foundMikään tallennettu tietoaineiston tietue ei vastannut jäsennettyjä ehdokkaita.Pidä gender-arvona null. Tietoinen uusi pyyntö eri tekoälyasetuksilla on uusi laskutettava toiminto.
unknown; reason: no_name_candidateTietoaineistoa varten tehty jäsennys ei löytänyt käyttökelpoista nimiehdokasta.Säilytä null; tarkista syötteen tyyppi ja arvo ennen kuin valitset lisäpäätelmän.
unknown; reason: ambiguousValitulla tietoaineiston rivillä miesten ja naisten määrät ovat tasan; sample_count voi silti olla mukana.Älä ratkaise tasatilannetta itse äläkä muunna null-luottamusarvoa nollaksi.
unknown; reason: insufficient_evidenceTekoäly suoritti pyynnön, mutta sillä ei ollut riittävästi perusteita sukupuolen palauttamiseen.Käsittele tulos valmiina tuntemattomana tuloksena, ei palveluntarjoajan virheenä eikä automaattisen uudelleenyrityksen kohteena.
Problem Details tai kohteen errorSuoritus epäonnistui esimerkiksi virheen ai_upstream_error tai prediction_timeout vuoksi.Tallenna virhekoodi ja pyynnön tunniste, tarkista laskutus ja noudata uudelleenyritysohjeita.

Valitse kynnysarvot oman arviointisi perusteella

Mikään yleinen luottamusarvon raja ei tee ennusteesta oikeaa. Arvioi observed_frequency ja model_reported erikseen edustavilla, toisistaan riippumatta luokitelluilla esimerkeillä omasta käyttötapauksestasi. Tietoaineiston esiintymistiheys ja tekoälyn itse ilmoittama pistemäärä ovat eri signaaleja, vaikka molempien arvo sattuisi olemaan 0,9. Mittaa, kuinka usein käytäntösi antaa vastauksen ja kuinka usein nämä vastaukset ovat oikein; säilytä kaikelle muulle tuntematon tulos tai manuaalinen tarkistus.

Jos esimerkiksi result_status on identified mutta confidence_kind on model_reported, käytä tekoälylle arvioitua käytäntöä äläkä tietoaineiston kynnysarvoa. Jos forceToGenderize oli käytössä, sukupuoli yhdessä arvon name: null kanssa on kelvollinen tulos: aliaksesta voidaan päätellä sukupuoli, vaikka todellista etunimeä ei poimittaisi. Päätä gender- ja result_status-kenttien perusteella, eikä pelkän name-kentän perusteella, antoiko päätelmä vastauksen. Kyse on edelleen arviosta, ei henkilöllisyyden vahvistuksesta.

Aiheeseen liittyvät oppaat