{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "ScanTargetRequest",
  "description": "ScanTargetRequest schema from Palo Alto Networks Prisma AIRS AI Red Teaming API",
  "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/json-schema/prisma-airs-ai-red-teaming-api-scan-target-request-schema.json",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Display name for the scan target.",
      "maxLength": 256
    },
    "description": {
      "type": "string",
      "description": "Optional description of the target application."
    },
    "type": {
      "type": "string",
      "enum": [
        "openai_chat",
        "anthropic_messages",
        "custom_http",
        "huggingface"
      ],
      "description": "AI interface type of the target endpoint."
    },
    "endpoint_url": {
      "type": "string",
      "format": "uri",
      "description": "URL of the AI application endpoint to scan."
    },
    "model": {
      "type": "string",
      "description": "AI model name to include in requests (e.g., gpt-4o, claude-3-5-sonnet-20241022)."
    },
    "auth_config": {
      "type": "object",
      "description": "Authentication configuration for the target endpoint.",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "bearer_token",
            "api_key_header",
            "basic",
            "none"
          ],
          "description": "Authentication method."
        },
        "header_name": {
          "type": "string",
          "description": "Header name for API key authentication."
        },
        "credential": {
          "type": "string",
          "description": "Authentication credential value (API key or token).",
          "writeOnly": true
        }
      }
    },
    "system_prompt": {
      "type": "string",
      "description": "System prompt to include in requests to the target. Used to scope red teaming attacks to the intended application context.",
      "maxLength": 8192
    }
  },
  "required": [
    "name",
    "type",
    "endpoint_url"
  ]
}
