{
  "service": "genderize",
  "displayName": "Genderize",
  "categories": [
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "GENDERIZE_API_KEY",
      "description": "Genderize API key passed with the apikey query parameter. Sign up for a free key at https://genderize.io/register and manage it from https://genderize.io/store."
    }
  ],
  "homepageUrl": "https://genderize.io/",
  "actions": [
    {
      "id": "genderize.predict_gender",
      "service": "genderize",
      "name": "predict_gender",
      "description": "Predict the gender probability for a single name, optionally localized to one country.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The first name or full name string to classify with Genderize."
          },
          "country_id": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The optional ISO 3166-1 alpha-2 country code used to localize the prediction.",
            "pattern": "^[A-Z]{2}$"
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "The input payload for predicting the gender of a single name."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The input name echoed back by Genderize."
          },
          "gender": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "male",
                  "female"
                ],
                "description": "The inferred gender, or null when Genderize has no data for the name."
              },
              {
                "type": "null"
              }
            ]
          },
          "probability": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "The probability score returned by Genderize for the inferred gender."
          },
          "count": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of data rows Genderize used for the prediction."
          },
          "country_id": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The country code echoed by Genderize when the request was localized."
          }
        },
        "additionalProperties": false,
        "required": [
          "name",
          "gender",
          "probability",
          "count"
        ],
        "description": "A single gender prediction returned by Genderize."
      }
    },
    {
      "id": "genderize.predict_gender_batch",
      "service": "genderize",
      "name": "predict_gender_batch",
      "description": "Predict the gender probability for up to 10 names in a single request, optionally localized to one country.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "names": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The first name or full name string to classify with Genderize."
            },
            "description": "Up to 10 names to classify in one Genderize batch request.",
            "minItems": 1,
            "maxItems": 10
          },
          "country_id": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The optional ISO 3166-1 alpha-2 country code used to localize the prediction.",
            "pattern": "^[A-Z]{2}$"
          }
        },
        "additionalProperties": false,
        "required": [
          "names"
        ],
        "description": "The input payload for predicting the gender of up to 10 names."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "predictions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The input name echoed back by Genderize."
                },
                "gender": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "male",
                        "female"
                      ],
                      "description": "The inferred gender, or null when Genderize has no data for the name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "probability": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1,
                  "description": "The probability score returned by Genderize for the inferred gender."
                },
                "count": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "The number of data rows Genderize used for the prediction."
                },
                "country_id": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 2,
                  "description": "The country code echoed by Genderize when the request was localized."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "gender",
                "probability",
                "count"
              ],
              "description": "A single gender prediction returned by Genderize."
            },
            "description": "The ordered list of gender predictions returned for the requested names.",
            "minItems": 1,
            "maxItems": 10
          }
        },
        "additionalProperties": false,
        "required": [
          "predictions"
        ],
        "description": "The batch prediction result returned by Genderize."
      }
    }
  ]
}
