バッチ名、電子メール、ユーザー名
POST /gender/batch は、API キー アクセスの場合は 1 ~ 50 のエントリ、または IP トライアルの場合は最大 10 のエントリを含む items 配列を受け入れます。名前、電子メール アドレス、ユーザー名、または 3 つの組み合わせを送信します。各エントリには、個別の country、forceToGenderize、および options フィールドがあります。 ID はオプションですが、バッチ内で一意である必要があります。
結果は入力順序に従います。各結果には、index、charged_credits、および data または error の 1 つが含まれます。 id を指定した場合は、それも返されます。 HTTP 200 応答には個々のエントリの失敗が含まれる可能性があるため、すべての結果を確認してください。 meta.summary には、total、succeeded、identified、unknown、failed が含まれます。性別が不明で完了した予測も成功とみなされ、クレジットがかかります。
リクエストの検証または計画が失敗した場合、クレジットが差し引かれる前にバッチ全体が拒否されます。実行中にすべてのエントリが失敗した場合、API は data 配列とレガシー エイリアス results を含む非 2xx 問題応答を返します。失敗したエントリについては、払い戻しが確認された後、クレジットの費用はゼロになります。請求が確認されていない場合は、各エントリに対して報告されたコストが最終的なものであるとは考えないでください。
プログラミング言語を選択してください。 API キーをセットアップします, 次に、サーバー上でサンプルを実行します。
すべての予測リクエストは、再試行を含む新しい課金対象の操作です。これらの例では、自動的に再試行されません。別のリクエストを送信する前に、請求ステータスを確認してください。
実行する前に: アクセスとエラー処理
サンプルはサーバー側で実行してください。プロセスの環境変数 GENDERAPI_API_KEY に既存の API キーを設定し、meta.access.mode が api_key であることを確認します。認識されないキーの場合、IP トライアルに切り替わることがあります。
HTTP 4xx および 5xx JSON 応答の場合、例ではエラー本文が保存され、ゼロ以外のステータスで終了します。再試行する前に、code、action、および meta.usage.billing_status を確認してください。 HTTP 200 バッチ応答の場合は、各結果の data または error も検査します。
エラーと再試行ガイド →POSIX シェルの cURL 7.76+. ターミナルで実行します。 ランタイムドキュメント
Node.js 22+;組み込みフェッチ. example.mjs として保存し、node example.mjs を実行します。 ランタイムドキュメント
Python 3.10+;標準ライブラリ. example.py として保存し、python3 example.py を実行します。 ランタイムドキュメント
PHP 8+ (cURL 拡張機能付き). example.php として保存し、php example.php を実行します。 ランタイムドキュメント
Java 17+;標準 HTTP クライアント. GenderApiExample.java として保存し、java GenderApiExample.java を実行します。 ランタイムドキュメント
.NET 8+ コンソール アプリケーション. コンソール プロジェクトで Program.cs として使用し、dotnet run を実行します。 ランタイムドキュメント
Go 1.22+;標準ライブラリ. main.go として保存し、go run main.go を実行します。 ランタイムドキュメント
バッチ応答を読み取る
この独立した合成例には、データセットの一致、不明な結果、およびプロバイダーの失敗が含まれています。これは、部分的に成功した HTTP 200 応答を示しており、上記のバッチ リクエストの予想される出力ではありません。成功した 2 つのアイテムのコストはそれぞれ 1 クレジットです。失敗したアイテムの充電量はゼロであることが確認されています。
{
"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
}
}
}バッチ クレジットと再試行を計画する
既存の Bearer API キーで認証し、Content-Type: application/json を送信します。送信されたすべてのバッチは新しい操作です。部分的に失敗した場合に再試行する場合は、請求を確認した後、失敗したアイテムのみを送信します。成功したアイテムを再送信すると、再度料金がかかります。
デフォルトでは、バッチエントリは off を使用し、完了した予測ごとに 1 クレジットのコストがかかります。 fallback を選択すると、AI を含めて合計 1 クレジットもかかります。 always を選択すると 2 クレジットがかかります。 forceToGenderize の場合、データセット内で見つかった性別には 1 クレジットのコストがかかります。 AI を使用するには合計 2 クレジットが必要です。性別が不明で完了した予測にもクレジットがかかります。バッチを開始するには、開始残高 1 クレジットで十分です。最終的な控除により残高がマイナスになる場合があります。