{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/unprofane-com/json-schema/unprofane-com-check-request-schema.json",
  "title": "CheckRequest",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/unprofane-com-api-openapi.json#/components/schemas/CheckRequest",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "context": {
      "default": "general",
      "type": "string",
      "enum": [
        "general",
        "username",
        "display_name",
        "comment",
        "chat",
        "gaming",
        "educational",
        "creative",
        "review",
        "custom_text"
      ]
    },
    "policy": {
      "default": "standard",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "kids",
            "teen",
            "standard",
            "strict",
            "casual"
          ]
        },
        {
          "type": "string",
          "pattern": "^pol_[A-Za-z0-9]{8,32}$"
        },
        {
          "type": "object",
          "properties": {
            "mild_profanity": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "profanity": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "sexual": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "insult": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "slur": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "threat": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "rude": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "sexual_minors": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "self_harm": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            },
            "reserved": {
              "type": "string",
              "enum": [
                "allow",
                "review",
                "block"
              ]
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "mode": {
      "default": "balanced",
      "type": "string",
      "enum": [
        "fast",
        "balanced",
        "thorough"
      ]
    },
    "language": {
      "default": "auto",
      "type": "string",
      "enum": [
        "auto",
        "en",
        "es",
        "pt",
        "fr",
        "de",
        "it",
        "nl",
        "pl",
        "tr",
        "ru",
        "ar",
        "he",
        "hi",
        "id",
        "ja",
        "zh",
        "ko"
      ]
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    },
    "mask": {
      "default": "asterisk",
      "type": "string",
      "enum": [
        "asterisk",
        "first_letter",
        "grawlix",
        "remove"
      ]
    },
    "engine": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "lists": {
      "type": "object",
      "properties": {
        "allow": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        },
        "block": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}