{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/main/json-schema/palo-alto-networks-attack-multi-turn-detail-response-schema-schema.json", "title": "AttackMultiTurnDetailResponseSchema", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/palo-alto-networks-report-api-openapi.yml#/components/schemas/AttackMultiTurnDetailResponseSchema", "properties": { "uuid": { "type": "string", "format": "uuid", "title": "Uuid" }, "tsg_id": { "type": "string", "title": "Tsg Id" }, "job_id": { "type": "string", "format": "uuid", "title": "Job Id", "description": "Associated job UUID" }, "target_id": { "type": "string", "format": "uuid", "title": "Target Id", "description": "Target UUID" }, "prompt": { "type": "string", "title": "Prompt", "description": "The actual prompt text used" }, "status": { "$ref": "#/$defs/AttackStatus", "description": "Attack status", "default": "INIT" }, "marked_safe": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Marked Safe", "description": "Manual safety marking" }, "extra_info": { "additionalProperties": true, "type": "object", "title": "Extra Info", "description": "Additional metadata" }, "threat": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Threat", "description": "Threat detection result" }, "attack_type": { "$ref": "#/$defs/AttackType", "description": "Type of attack", "default": "NORMAL" }, "multi_turn": { "type": "boolean", "title": "Multi Turn", "description": "Multi-turn conversation flag", "default": false }, "asr": { "anyOf": [ { "type": "number", "maximum": 100.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Asr", "description": "Attack Success Rate (0-100)" }, "version": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Version", "description": "Attack version" }, "error": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Error", "description": "True if all attack attempts failed (zero outputs produced)" }, "prompt_mapping_id": { "type": "string", "format": "uuid", "title": "Prompt Mapping Id", "description": "Prompt mapping UUID" }, "prompt_id": { "type": "string", "format": "uuid", "title": "Prompt Id", "description": "Prompt UUID" }, "category": { "$ref": "#/$defs/Category", "description": "Attack category" }, "sub_category": { "anyOf": [ { "$ref": "#/$defs/SecuritySubCategory" }, { "$ref": "#/$defs/SafetySubCategory" }, { "$ref": "#/$defs/BrandSubCategory" }, { "$ref": "#/$defs/ComplianceSubCategory" } ], "title": "Sub Category", "description": "Attack subcategory" }, "severity": { "type": "string", "description": "Attack severity level" }, "category_display_name": { "type": "string", "title": "Category Display Name" }, "sub_category_display_name": { "type": "string", "title": "Sub Category Display Name" }, "compliance_frameworks": { "items": { "$ref": "#/$defs/ComplianceWithTechniqueModel" }, "type": "array", "title": "Compliance Frameworks" }, "outputs": { "items": { "items": { "$ref": "#/$defs/AttackMultiTurnOutputResponseSchema" }, "type": "array" }, "type": "array", "title": "Outputs", "description": "List of conversations, where each conversation is a list of turns ordered by turn number. Each inner list represents one generation of the multi-turn attack." }, "goal": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Goal" }, "attack_modality": { "$ref": "#/$defs/AttackModality", "description": "FILE if the attack carries a document, else TEXT", "default": "TEXT" }, "file": { "anyOf": [ { "$ref": "#/$defs/AttackFileSchema" }, { "type": "null" } ], "description": "File-attack document (name + signed download URL + short type); null for text attacks" } }, "type": "object", "required": [ "uuid", "tsg_id", "job_id", "target_id", "prompt", "prompt_mapping_id", "prompt_id", "category", "sub_category", "category_display_name", "sub_category_display_name", "compliance_frameworks", "goal" ], "$defs": { "AttackFileSchema": { "properties": { "file_name": { "type": "string", "title": "File Name", "description": "Document filename (basename of the GCS object key)" }, "signed_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Signed Url", "description": "Short-lived signed GCS download URL; null if the object could not be signed (e.g. missing signBlob permission)." }, "file_type": { "type": "string", "title": "File Type", "description": "Short document type, e.g. PDF / DOCX / MD" } }, "type": "object", "required": [ "file_name", "file_type" ], "title": "AttackFileSchema", "description": "Structured file reference for a multimodal (document) attack in the report.\n\nExposed only on the attack **detail** response. The list response conveys type via\n``attack_modality`` (FILE/TEXT) and carries no file object.\n" }, "AttackModality": { "type": "string", "enum": [ "TEXT", "FILE" ], "title": "AttackModality", "description": "Per-attack delivery modality for report display + filtering.\n\nFILE = the attack carries a document (file_url set); TEXT = text-only. This is\na per-row value (distinct from the scan-level include_file_attacks toggle).\n" }, "AttackMultiTurnOutputResponseSchema": { "properties": { "uuid": { "type": "string", "format": "uuid", "title": "Uuid" }, "tsg_id": { "type": "string", "title": "Tsg Id" }, "attack_id": { "type": "string", "format": "uuid", "title": "Attack Id", "description": "Associated attack UUID" }, "job_id": { "type": "string", "format": "uuid", "title": "Job Id", "description": "Associated job UUID" }, "target_id": { "type": "string", "format": "uuid", "title": "Target Id", "description": "Target UUID" }, "output": { "type": "string", "title": "Output", "description": "Attack output. String for single-turn, dict for multi-turn." }, "threat": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Threat", "description": "Threat detection result" }, "marked_safe": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Marked Safe", "description": "Manual safety marking" }, "prompt": { "type": "string", "title": "Prompt", "description": "User prompt for this turn" }, "turn": { "type": "integer", "title": "Turn", "description": "Current turn number in multi-turn conversation" }, "generation": { "type": "integer", "title": "Generation", "description": "Generation/conversation number (1-based) for grouping multi-turn outputs", "default": 1 }, "multi_turn": { "type": "boolean", "title": "Multi Turn", "description": "Multi-turn conversation flag", "default": true }, "error": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Error", "description": "Whether this output is an error" }, "error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error Message", "description": "Error message in format 'errType: description'" } }, "type": "object", "required": [ "uuid", "tsg_id", "attack_id", "job_id", "target_id", "output", "prompt", "turn" ], "title": "AttackMultiTurnOutputResponseSchema", "description": "API response schema — excludes internal/debug fields from client responses." }, "AttackStatus": { "type": "string", "enum": [ "INIT", "ATTACK", "DETECTION", "REPORT", "COMPLETED", "FAILED" ], "title": "AttackStatus" }, "AttackType": { "type": "string", "enum": [ "NORMAL", "CUSTOM" ], "title": "AttackType" }, "BrandSubCategory": { "type": "string", "enum": [ "COMPETITOR_ENDORSEMENTS", "BRAND_TARNISHING_SELF_CRITICISM", "DISCRIMINATING_CLAIMS", "POLITICAL_ENDORSEMENTS" ], "title": "BrandSubCategory" }, "Category": { "type": "string", "enum": [ "SECURITY", "SAFETY", "COMPLIANCE", "BRAND" ], "title": "Category" }, "ComplianceSubCategory": { "type": "string", "enum": [ "OWASP", "MITRE_ATLAS", "NIST", "DASF_V2" ], "title": "ComplianceSubCategory" }, "ComplianceWithTechniqueModel": { "properties": { "id": { "type": "string", "title": "Id", "description": "Compliance framework unique identifier" }, "display_name": { "type": "string", "title": "Display Name", "description": "Compliance framework display name for frontend" }, "description": { "type": "string", "title": "Description", "description": "Compliance framework description" }, "active": { "type": "boolean", "title": "Active", "description": "Whether compliance framework is active" }, "version": { "type": "string", "title": "Version", "description": "Compliance framework version" }, "link": { "type": "string", "title": "Link", "description": "Compliance framework documentation link" }, "techniques": { "items": { "$ref": "#/$defs/TechniqueModel" }, "type": "array", "title": "Techniques", "description": "List of Techniques" } }, "type": "object", "required": [ "id", "display_name", "description", "active", "version", "link", "techniques" ], "title": "ComplianceWithTechniqueModel" }, "SafetySubCategory": { "type": "string", "enum": [ "BIAS", "CBRN", "CYBERCRIME", "DRUGS", "HATE_TOXIC_ABUSE", "NON_VIOLENT_CRIMES", "POLITICAL", "SELF_HARM", "SEXUAL", "VIOLENT_CRIMES_WEAPONS" ], "title": "SafetySubCategory" }, "SecuritySubCategory": { "type": "string", "enum": [ "ADVERSARIAL_SUFFIX", "EVASION", "INDIRECT_PROMPT_INJECTION", "JAILBREAK", "MULTI_TURN", "PROMPT_INJECTION", "REMOTE_CODE_EXECUTION", "SYSTEM_PROMPT_LEAK", "TOOL_LEAK", "MALWARE_GENERATION" ], "title": "SecuritySubCategory" }, "TechniqueModel": { "properties": { "id": { "type": "string", "title": "Id", "description": "Technique unique identifier" }, "display_name": { "type": "string", "title": "Display Name", "description": "Technique display name for frontend" }, "compliance_id": { "type": "string", "title": "Compliance Id", "description": "Associated compliance framework ID" }, "description": { "type": "string", "title": "Description", "description": "Technique description" }, "link": { "type": "string", "title": "Link", "description": "Technique documentation link" }, "version": { "type": "string", "title": "Version", "description": "Technique version" }, "active": { "type": "boolean", "title": "Active", "description": "Whether technique is active" } }, "type": "object", "required": [ "id", "display_name", "compliance_id", "description", "link", "version", "active" ], "title": "TechniqueModel", "description": "Pydantic model for technique data" } } }