Nomi in batch, email e nomi utente
POST /gender/batch accetta un array items contenente da 1 a 50 voci con accesso tramite chiave API o al massimo 10 voci con la versione di prova IP. Invia nomi, indirizzi email, nomi utente o una combinazione dei tre. Ciascuna voce ha campi country, forceToGenderize e options separati. Gli ID sono facoltativi ma devono essere univoci all'interno del batch.
I risultati seguono l'ordine di immissione. Ogni risultato contiene index, charged_credits ed esattamente uno tra data o error. Se hai fornito un id, verrà restituito anche questo. Una risposta HTTP 200 può contenere errori per singole voci, quindi controlla ogni risultato. meta.summary include total, succeeded, identified, unknown e failed. Una previsione completata senza un genere noto conta comunque come riuscita e costa crediti.
Se la convalida o la pianificazione della richiesta fallisce, l'intero batch viene rifiutato prima che vengano detratti eventuali crediti. Se tutte le voci hanno esito negativo durante l'esecuzione, l'API restituisce una risposta Problema non 2xx con un array data e l'alias legacy results. Le iscrizioni non riuscite costano zero crediti dopo un rimborso confermato. Se la fatturazione non è confermata, non dare per scontato che il costo riportato per ciascuna voce sia definitivo.
Scegli un linguaggio di programmazione. Configura la tua chiave API, quindi esegui l'esempio sul tuo server.
Ogni richiesta di previsione è una nuova operazione fatturabile, inclusi i nuovi tentativi. Questi esempi non riprovano automaticamente. Controlla lo stato della fatturazione prima di inviare un'altra richiesta.
Prima di eseguire: accesso e gestione degli errori
Esegui questi esempi sul tuo server. Impostare GENDERAPI_API_KEY nell'ambiente di processo sulla chiave API esistente. Conferma che meta.access.mode è api_key: una chiave non riconosciuta può ricadere nella versione di prova IP.
Per le risposte JSON HTTP 4xx e 5xx, gli esempi preservano il corpo dell'errore e terminano con uno stato diverso da zero. Controllare code, action e meta.usage.billing_status prima di riprovare. Per una risposta batch HTTP 200, controlla anche data o error in ciascun risultato.
Guida all'errore e al nuovo tentativo →cURL 7.76+ in una shell POSIX. Esegui nel tuo terminale. Documentazione di runtime
Node.js 22+; recupero integrato. Salva come example.mjs ed esegui node example.mjs. Documentazione di runtime
Python 3.10+; libreria standard. Salva come example.py ed esegui python3 example.py. Documentazione di runtime
PHP 8+ con estensione cURL. Salva come example.php ed esegui php example.php. Documentazione di runtime
Java 17+; client HTTP standard. Salva come GenderApiExample.java ed esegui java GenderApiExample.java. Documentazione di runtime
Applicazione console .NET 8+. Utilizzare come Program.cs in un progetto console, quindi eseguire dotnet run. Documentazione di runtime
Go 1,22+; libreria standard. Salva come main.go ed esegui go run main.go. Documentazione di runtime
Leggi una risposta batch
Questo esempio sintetico indipendente contiene una corrispondenza del set di dati, un risultato sconosciuto e un errore del provider. Illustra una risposta HTTP 200 con successo parziale, non l'output previsto della richiesta batch di cui sopra. I due oggetti riusciti costano 1 credito ciascuno; l'articolo guasto ha un addebito confermato pari a zero.
{
"data": [
{
"index": 0,
"id": "known",
"charged_credits": 1,
"data": {
"input": {
"type": "name",
"value": "Onur",
"country": "TR"
},
"name": "onur",
"gender": "male",
"country": "TR",
"confidence": 0.9,
"confidence_kind": "observed_frequency",
"sample_count": 100,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "onur",
"method": "normalized",
"scope": "country",
"country": "TR"
}
}
},
{
"index": 1,
"id": "missing",
"charged_credits": 1,
"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
}
}
},
{
"index": 2,
"id": "failed",
"charged_credits": 0,
"error": {
"type": "urn:genderapi:problem:ai_upstream_error",
"title": "ai upstream error",
"status": 502,
"detail": "The AI provider could not complete the request.",
"instance": "urn:uuid:11111111-1111-4111-8111-111111111111",
"code": "ai_upstream_error",
"request_id": "11111111-1111-4111-8111-111111111111",
"documentation": "https://api.genderapi.io/api/v2/errors",
"action": "inspect_billing_before_retry"
}
}
],
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 2,
"remaining_credits": 6,
"billing_status": "confirmed",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
},
"summary": {
"total": 3,
"succeeded": 2,
"identified": 1,
"unknown": 1,
"failed": 1
}
}
}Pianifica crediti batch e nuovi tentativi
Autenticati con la tua chiave Bearer API esistente e invia Content-Type: application/json. Ogni lotto inviato è una nuova operazione. Se si riprova con un errore parziale, inviare solo gli elementi non riusciti dopo aver controllato la fatturazione; il reinvio degli articoli riusciti li addebita nuovamente.
Per impostazione predefinita, le voci batch utilizzano off e costano 1 credito per previsione completata. Anche la selezione di fallback costa 1 credito in totale, IA inclusa. Selezionare always costa 2 crediti. Con forceToGenderize un genere trovato nel dataset costa 1 credito; usare l'IA costa 2 crediti in totale. Anche le previsioni completate con un genere sconosciuto costano crediti. Un saldo iniziale di 1 credito è sufficiente per iniziare un lotto. La detrazione finale potrebbe lasciare il saldo negativo.