{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fiatdock-com/json-schema/fiatdock-com-prompt-injection-check-schema.json",
  "title": "PromptInjectionCheck",
  "description": "Paid. Prompt-injection check for untrusted text.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fiatdock-com-text-api-openapi.yml#/components/schemas/PromptInjectionCheck",
  "type": "object",
  "properties": {
    "verdict": {
      "type": "string",
      "enum": [
        "malicious",
        "suspicious",
        "no_known_pattern"
      ],
      "description": "malicious (a high-severity pattern), suspicious (medium only) or no_known_pattern (not a guarantee)"
    },
    "findings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "count": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "severity",
          "note",
          "count"
        ]
      },
      "description": "Each pattern found, with its severity and how many times"
    },
    "highCount": {
      "type": "number",
      "description": "High-severity patterns found"
    },
    "mediumCount": {
      "type": "number",
      "description": "Medium-severity patterns found"
    },
    "chars": {
      "type": "number",
      "description": "Characters scanned"
    },
    "method": {
      "type": "string",
      "description": "The ruleset applied"
    },
    "checkedAt": {
      "type": "string",
      "description": "ISO time of the scan"
    },
    "note": {
      "type": "string",
      "description": "What the verdict does and does not mean"
    },
    "defaulted": {
      "type": "object",
      "properties": {
        "field": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "field",
        "to",
        "value",
        "note"
      ],
      "description": "Present only when the body was empty: which subject the answer is for, and why"
    }
  },
  "required": [
    "verdict",
    "findings",
    "highCount",
    "mediumCount",
    "chars",
    "method",
    "checkedAt",
    "note"
  ]
}