{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/namegender/main/json-schema/namegender-bulk-request-schema.json", "title": "BulkRequest", "x-generated": "2026-10-06", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/_original/namegender-api-openapi.json#/components/schemas/BulkRequest", "type": "object", "required": [ "names" ], "properties": { "names": { "type": "array", "minItems": 1, "maxItems": 100, "items": { "type": "string", "maxLength": 200 }, "description": "The values to resolve, each at most 200 characters. Each one costs one credit." }, "country": { "type": "string", "minLength": 2, "maxLength": 2, "description": "ISO-3166 alpha-2 code applied to every value in the batch." }, "locale": { "type": "string", "maxLength": 35, "description": "Language tag whose region becomes the batch country when `country` is not sent, for example `it-IT`. A tag without a region sets no country." }, "ip": { "type": "string", "maxLength": 45, "description": "End user IP address whose country becomes the batch country when neither `country` nor a regional `locale` is sent. Not stored. IP geolocation by DB-IP (db-ip.com), CC BY 4.0." }, "type": { "type": "string", "enum": [ "name", "email", "username" ], "default": "name", "description": "How to read the values in `names`." }, "ai_fallback": { "type": "boolean", "default": false, "description": "Ask a language model for values the dataset cannot answer. Requires AI lookups to be enabled in account settings; otherwise the batch fails with `ai_consent_required`." }, "best_guess": { "type": "boolean", "default": false, "description": "Return the most likely gender even below the confidence threshold, instead of null. For `email` and `username` batches it applies to the extracted first name." } } }