{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/unprofane-com/json-schema/unprofane-com-batch-response-schema.json",
  "title": "BatchResponse",
  "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/BatchResponse",
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "result": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^chk_[A-Za-z0-9]{16,32}$"
                  },
                  "allowed": {
                    "type": "boolean"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "allow",
                      "review",
                      "block"
                    ]
                  },
                  "score": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "severity": {
                    "type": "string",
                    "enum": [
                      "none",
                      "mild",
                      "moderate",
                      "strong",
                      "extreme"
                    ]
                  },
                  "categories": {
                    "type": "object",
                    "properties": {
                      "mild_profanity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "profanity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "sexual": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "insult": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "slur": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "threat": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "rude": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "sexual_minors": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "self_harm": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "reserved": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      }
                    },
                    "required": [
                      "mild_profanity",
                      "profanity",
                      "sexual",
                      "insult",
                      "slur",
                      "threat",
                      "rude",
                      "sexual_minors",
                      "self_harm",
                      "reserved"
                    ],
                    "additionalProperties": false
                  },
                  "obfuscated": {
                    "type": "boolean"
                  },
                  "evasion": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "homoglyph",
                        "zero_width",
                        "separator",
                        "leetspeak",
                        "repeated_chars",
                        "diacritics",
                        "mixed_script",
                        "fullwidth",
                        "combining_marks",
                        "phonetic",
                        "reversed",
                        "concatenation",
                        "case_mixing",
                        "self_censored",
                        "misspelled",
                        "spoonerism",
                        "pun"
                      ]
                    }
                  },
                  "matches": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "start": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "end": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "text": {
                          "type": "string"
                        },
                        "normalized": {
                          "type": "string"
                        },
                        "term_id": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string",
                          "enum": [
                            "profanity",
                            "sexual",
                            "insult",
                            "slur",
                            "threat",
                            "reserved"
                          ]
                        },
                        "severity": {
                          "type": "string",
                          "enum": [
                            "none",
                            "mild",
                            "moderate",
                            "strong",
                            "extreme"
                          ]
                        },
                        "evasion": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "homoglyph",
                              "zero_width",
                              "separator",
                              "leetspeak",
                              "repeated_chars",
                              "diacritics",
                              "mixed_script",
                              "fullwidth",
                              "combining_marks",
                              "phonetic",
                              "reversed",
                              "concatenation",
                              "case_mixing",
                              "self_censored",
                              "misspelled",
                              "spoonerism",
                              "pun"
                            ]
                          }
                        }
                      },
                      "required": [
                        "start",
                        "end",
                        "text",
                        "normalized",
                        "term_id",
                        "category",
                        "severity",
                        "evasion"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "censored": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  },
                  "decided_by": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "category": {
                          "type": "string",
                          "enum": [
                            "mild_profanity",
                            "profanity",
                            "sexual",
                            "insult",
                            "slur",
                            "threat",
                            "rude",
                            "sexual_minors",
                            "self_harm",
                            "reserved"
                          ]
                        },
                        "action": {
                          "type": "string",
                          "enum": [
                            "review",
                            "block"
                          ]
                        },
                        "from": {
                          "type": "string",
                          "enum": [
                            "words",
                            "context"
                          ]
                        }
                      },
                      "required": [
                        "category",
                        "action",
                        "from"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "language": {
                    "type": "object",
                    "properties": {
                      "detected": {
                        "type": "string"
                      },
                      "confidence": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      }
                    },
                    "required": [
                      "detected",
                      "confidence"
                    ],
                    "additionalProperties": false
                  },
                  "engine": {
                    "type": "object",
                    "properties": {
                      "version": {
                        "type": "string",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                      },
                      "route": {
                        "type": "string",
                        "enum": [
                          "rules",
                          "model",
                          "cache"
                        ]
                      },
                      "degraded": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "version",
                      "route",
                      "degraded"
                    ],
                    "additionalProperties": false
                  },
                  "timing_ms": {
                    "type": "number",
                    "minimum": 0
                  }
                },
                "required": [
                  "id",
                  "allowed",
                  "action",
                  "score",
                  "severity",
                  "categories",
                  "obfuscated",
                  "evasion",
                  "matches",
                  "censored",
                  "reason",
                  "decided_by",
                  "language",
                  "engine",
                  "timing_ms"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "result"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "error": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "detail": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "title"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "error"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "counted": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "results",
    "counted"
  ],
  "additionalProperties": false
}