{ "$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-job-create-request-schema-schema.json", "title": "JobCreateRequestSchema", "description": "Request schema for creating jobs.", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/palo-alto-networks-scan-api-openapi.yml#/components/schemas/JobCreateRequestSchema", "properties": { "name": { "type": "string", "maxLength": 255, "minLength": 3, "title": "Name", "description": "Job name (3-255 characters)" }, "target": { "$ref": "#/$defs/TargetJobRequest", "description": "Target reference for job creation" }, "job_type": { "$ref": "#/$defs/JobType", "description": "Type of job to execute" }, "job_metadata": { "anyOf": [ { "$ref": "#/$defs/StaticJobMetadata" }, { "$ref": "#/$defs/DynamicJobMetadata" }, { "$ref": "#/$defs/CustomJobMetadata" }, { "$ref": "#/$defs/ClaraJobMetadata" } ], "title": "Job Metadata", "description": "Job-specific metadata" }, "version": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Version", "description": "Job version" }, "extra_info": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Extra Info" } }, "additionalProperties": false, "type": "object", "required": [ "name", "target", "job_type", "job_metadata" ], "$defs": { "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" }, "ClaraJobMetadata": { "properties": { "scan_name": { "type": "string", "maxLength": 255, "minLength": 3, "title": "Scan Name" }, "categories": { "additionalProperties": { "items": { "anyOf": [ { "$ref": "#/$defs/SecuritySubCategory" }, { "$ref": "#/$defs/SafetySubCategory" }, { "$ref": "#/$defs/BrandSubCategory" }, { "$ref": "#/$defs/ComplianceSubCategory" } ] }, "type": "array" }, "propertyNames": { "$ref": "#/$defs/Category" }, "type": "object", "title": "Categories", "description": "Auto-derived from uploaded prompt data — determines report sections" }, "language": { "type": "null", "title": "Language", "description": "Always None — CLARA is English-only" } }, "type": "object", "required": [ "scan_name" ], "title": "ClaraJobMetadata", "description": "Metadata for CLARA scan jobs. Intentionally minimal —\nno rate_limit/content_filter since CLARA doesn't execute attacks.\n" }, "ComplianceSubCategory": { "type": "string", "enum": [ "OWASP", "MITRE_ATLAS", "NIST", "DASF_V2" ], "title": "ComplianceSubCategory" }, "CustomJobMetadata": { "properties": { "rate_limit_enabled": { "type": "boolean", "title": "Rate Limit Enabled", "default": false }, "rate_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rate Limit" }, "rate_limit_error_code": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rate Limit Error Code" }, "rate_limit_error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rate Limit Error Message" }, "rate_limit_error_json": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Rate Limit Error Json" }, "content_filter_enabled": { "type": "boolean", "title": "Content Filter Enabled", "description": "Enable content filtering", "default": false }, "content_filter_error_code": { "anyOf": [ { "type": "integer", "maximum": 599.0, "minimum": 400.0 }, { "type": "null" } ], "title": "Content Filter Error Code", "description": "HTTP error code for content filter (400-599)" }, "content_filter_error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Content Filter Error Message", "description": "Content filter error message" }, "content_filter_error_json": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Content Filter Error Json" }, "language": { "anyOf": [ { "$ref": "#/$defs/LanguageOptionSchema" }, { "type": "null" } ], "description": "Language for this scan. None = English." }, "custom_prompt_sets": { "items": { "type": "string", "format": "uuid" }, "type": "array", "minItems": 1, "title": "Custom Prompt Sets", "description": "List of custom prompt set UUIDs" } }, "type": "object", "required": [ "custom_prompt_sets" ], "title": "CustomJobMetadata", "description": "Enhanced metadata for custom attack jobs." }, "DynamicJobMetadata": { "properties": { "rate_limit_enabled": { "type": "boolean", "title": "Rate Limit Enabled", "default": false }, "rate_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rate Limit" }, "rate_limit_error_code": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rate Limit Error Code" }, "rate_limit_error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rate Limit Error Message" }, "rate_limit_error_json": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Rate Limit Error Json" }, "content_filter_enabled": { "type": "boolean", "title": "Content Filter Enabled", "description": "Enable content filtering", "default": false }, "content_filter_error_code": { "anyOf": [ { "type": "integer", "maximum": 599.0, "minimum": 400.0 }, { "type": "null" } ], "title": "Content Filter Error Code", "description": "HTTP error code for content filter (400-599)" }, "content_filter_error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Content Filter Error Message", "description": "Content filter error message" }, "content_filter_error_json": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Content Filter Error Json" }, "language": { "anyOf": [ { "$ref": "#/$defs/LanguageOptionSchema" }, { "type": "null" } ], "description": "Language for this scan. None = English." }, "stream_breadth": { "type": "integer", "maximum": 20.0, "minimum": 1.0, "title": "Stream Breadth", "description": "Number of parallel attack streams (1-20)", "default": 6 }, "stream_depth": { "type": "integer", "maximum": 20.0, "minimum": 1.0, "title": "Stream Depth", "description": "Depth of each attack stream (1-20)", "default": 10 }, "max_tokens": { "type": "integer", "maximum": 4096.0, "minimum": 128.0, "title": "Max Tokens", "description": "Maximum tokens per response (128-4096)", "default": 256 }, "context_size": { "type": "integer", "maximum": 20.0, "minimum": 1.0, "title": "Context Size", "description": "Context window size (1-20)", "default": 10 }, "attack_goals": { "items": { "type": "string" }, "type": "array", "title": "Attack Goals", "description": "List of attack objectives" }, "base_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Base Model", "description": "Base model identifier" }, "use_case": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Use Case", "description": "Attack use case description" }, "system_prompt": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "System Prompt", "description": "Custom system prompt" }, "goal_categories": { "anyOf": [ { "items": { "$ref": "#/$defs/GoalCategory" }, "type": "array" }, { "type": "null" } ], "title": "Goal Categories", "description": "Selected goal categories for this scan. Valid values: GOAL_MANIPULATION, PRIVILEGE_MISUSE, TOOL_MISUSE, TOOL_CHAINING, TOXIC_CONTENT_GENERATION. Only used when goal_categories feature flag is enabled." } }, "type": "object", "title": "DynamicJobMetadata", "description": "Enhanced metadata for dynamic attack jobs with proper constraints." }, "GoalCategory": { "type": "string", "enum": [ "GOAL_MANIPULATION", "PRIVILEGE_MISUSE", "TOOL_MISUSE", "TOOL_CHAINING", "TOXIC_CONTENT_GENERATION", "CUSTOM" ], "title": "GoalCategory" }, "JobType": { "type": "string", "enum": [ "STATIC", "DYNAMIC", "CUSTOM", "CLARA" ], "title": "JobType", "description": "Type of job execution." }, "LanguageOptionSchema": { "properties": { "code": { "type": "string", "title": "Code" }, "name": { "type": "string", "title": "Name" } }, "type": "object", "required": [ "code", "name" ], "title": "LanguageOptionSchema", "description": "Language representation with code and display name." }, "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" }, "StaticJobMetadata": { "properties": { "rate_limit_enabled": { "type": "boolean", "title": "Rate Limit Enabled", "default": false }, "rate_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rate Limit" }, "rate_limit_error_code": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rate Limit Error Code" }, "rate_limit_error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rate Limit Error Message" }, "rate_limit_error_json": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Rate Limit Error Json" }, "content_filter_enabled": { "type": "boolean", "title": "Content Filter Enabled", "description": "Enable content filtering", "default": false }, "content_filter_error_code": { "anyOf": [ { "type": "integer", "maximum": 599.0, "minimum": 400.0 }, { "type": "null" } ], "title": "Content Filter Error Code", "description": "HTTP error code for content filter (400-599)" }, "content_filter_error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Content Filter Error Message", "description": "Content filter error message" }, "content_filter_error_json": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Content Filter Error Json" }, "language": { "anyOf": [ { "$ref": "#/$defs/LanguageOptionSchema" }, { "type": "null" } ], "description": "Language for this scan. None = English." }, "categories": { "additionalProperties": { "items": { "anyOf": [ { "$ref": "#/$defs/SecuritySubCategory" }, { "$ref": "#/$defs/SafetySubCategory" }, { "$ref": "#/$defs/BrandSubCategory" }, { "$ref": "#/$defs/ComplianceSubCategory" } ] }, "type": "array" }, "propertyNames": { "$ref": "#/$defs/Category" }, "type": "object", "title": "Categories", "description": "Attack categories and their subcategories" }, "include_file_attacks": { "type": "boolean", "title": "Include File Attacks", "description": "Start-scan toggle: when true, include multimodal file (document) attacks alongside text for the selected categories — but only for targets whose validation probe found them file-capable. When false (default), the scan is text-only.", "default": false } }, "type": "object", "required": [ "categories" ], "title": "StaticJobMetadata", "description": "Enhanced metadata for static attack jobs with validation." }, "TargetJobRequest": { "properties": { "uuid": { "type": "string", "format": "uuid", "title": "Uuid", "description": "Target UUID" }, "version": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Version", "description": "Target configuration version" } }, "type": "object", "required": [ "uuid" ], "title": "TargetJobRequest", "description": "Enhanced request schema for targeting specific targets." } } }