openapi: 3.2.0 info: contact: email: support@paloaltonetworks.com name: Palo Alto Networks Technical Support url: https://support.paloaltonetworks.com title: Prisma AIRS AI Runtime API Intercept Scan Reports API description: "This Open API spec file represents the APIs available for the Prisma AIRS AI Runtime: API Intercept.\n \nThese APIs use the API key authentication and base URL.\n \nTo use the APIs, you must first activate and associate a deployment profile in Customer Support Portal for Prisma AIRS AI Runtime API intercept and then onboard the API intercept in Strata Cloud Manager.For licensing, onboarding, activation, and to obtain the API authentication key and profile name, refer to the Prisma AIRS AI Runtime API intercept [Administration guide](https://docs.paloaltonetworks.com/ai-runtime-security/activation-and-onboarding/ai-runtime-security-api-intercept-overview).\n\n This Open API spec file was created on June 04, 2024.\n\n© 2024 Palo Alto Networks, Inc. Palo Alto Networks is a registered trademark of Palo Alto Networks.A list of our trademarks can be found at https://www.paloaltonetworks.com/company/trademarks.html. All other marks mentioned herein may be trademarks of their respective companies.\n" license: name: MIT url: https://opensource.org/license/mit version: 0.0.0 servers: - url: https://service.api.aisecurity.paloaltonetworks.com description: Prisma AIRS API service URL for US regions - url: https://service-de.api.aisecurity.paloaltonetworks.com description: Prisma AIRS API service URL for EU (Germany) regions - url: https://service-in.api.aisecurity.paloaltonetworks.com description: Prisma AIRS API service URL for India regions - url: https://service-sg.api.aisecurity.paloaltonetworks.com description: Prisma AIRS API service URL for Singapore regions tags: - name: Scan Reports description: Operations for retrieving detailed scan reports paths: /v1/scan/reports: get: summary: Retrieve Threat Scan Reports description: Get the threat scan reports for a given list of report_ids security: - x-pan-token: [] tags: - Scan Reports operationId: GetThreatScanReports parameters: - name: report_ids in: query description: Report IDs for results. required: true allowEmptyValue: false schema: type: array items: type: string maximum: 5 style: form explode: false responses: 200: description: Successfully returned threat scan reports content: application/json: schema: $ref: '#/components/schemas/ThreatScanReportObjects' examples: ExampleAsyncReports: $ref: '#/components/examples/ExampleMultipleThreatScanReports' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthenticated' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '413': $ref: '#/components/responses/RequestTooLarge' '415': $ref: '#/components/responses/UnsupportedMediaType' '429': $ref: '#/components/responses/TooManyRequests' default: description: error occurred content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: PiReportObject: type: object properties: verdict: type: string description: Detection service verdict such as "malicious" or "benign" CgReportObject: type: object properties: status: type: string description: Indicates the status of cg explanation such as "completed" or "pending" explanation: type: string description: Indicates the the contextual grounding explanation given by the model category: type: string description: Indicates the predefined category of contextual grounding results CmdEntryObject: type: object properties: code_block: type: string description: Code block extracted from prompt or response content verdict: type: string description: Detection service verdict such as "malicious" or "benign" DlpReportObject: type: object properties: dlp_report_id: type: string description: Unique identifier for the DLP report dlp_profile_name: type: string description: DLP profile name used for the scan dlp_profile_id: type: string description: Unique identifier for the DLP profile used for the scan dlp_profile_version: type: integer format: int32 description: Version of the DLP profile used for the scan data_pattern_rule1_verdict: type: string description: Indicates whether there was a content match for this rule such as "MATCHED" or "NOT MATCHED" data_pattern_rule2_verdict: type: string description: Indicates whether there was a content match for this rule such as "MATCHED" or "NOT MATCHED" data_pattern_detection_offsets: type: array description: Matched patterns and their byte locations items: $ref: '#/components/schemas/DlpPatternDetectionsObject' ThreatScanReportObjects: type: array items: $ref: '#/components/schemas/ThreatScanReportObject' CmdInjectReportObject: type: array items: $ref: '#/components/schemas/CmdEntryObject' TcReportObject: type: object properties: confidence: type: string description: Confidence level of the threat classification ("high" and "moderate") verdict: type: string description: Detection service verdict such as "malicious" or "benign" toxic_categories: type: array items: type: string description: Indicates the list of topics that is detected DetectionServiceResultObject: type: object properties: data_type: type: string description: Content type such as "prompt", "response" or "tool_event" detection_service: type: string description: Detection service name generating the results such as "urlf", "dlp", and "prompt injection" verdict: type: string description: Detection service verdict such as "malicious" or "benign" action: type: string description: The action is set to "block" or "allow" based on AI security profile used for scanning metadata: $ref: '#/components/schemas/DSResultMetadata' result_detail: $ref: '#/components/schemas/DSDetailResultObject' UrlFilterReportObject: type: array items: $ref: '#/components/schemas/UrlfEntryObject' Snippets: type: array maxItems: 10 description: Up to 10 content snippets; each item must be <= 1000 characters. items: type: string maxLength: 1000 DbsEntryObject: type: object properties: sub_type: type: string description: Database security sql query sub-type, such as "create", "read", "update", or "delete" verdict: type: string description: Detection service verdict such as "malicious" or "benign" action: type: string description: The action is set to "block" or "allow" based on AI security profile used for scanning MalwareReportObject: type: object properties: verdict: type: string description: Detection service verdict such as "malicious" or "benign" OffsetObject: type: array description: Array of start, end offsets items: type: array items: type: integer ThreatScanReportObject: type: object properties: source: type: string description: Source of the scan request (e.g., 'AI-Runtime-MCP-Server' or 'AI-Runtime-API') report_id: type: string description: Unique identifier for the scan report scan_id: type: string description: Unique identifier for the scan req_id: type: integer format: uint32 description: Unique identifier of an individual element sent in the batch scan request transaction_id: type: string description: Unique identifier for the transaction session_id: type: string description: Unique identifier for tracking Sessions detection_results: type: array items: $ref: '#/components/schemas/DetectionServiceResultObject' DlpSnippetObject: type: object properties: meta: $ref: '#/components/schemas/DlpSnippetMeta' snippets: $ref: '#/components/schemas/Snippets' required: - meta - snippets TgReportObject: type: object properties: allowed_topic_list: type: string description: Indicates whether there was a content match for the topic allow list such as "MATCHED" or "NOT MATCHED" blocked_topic_list: type: string description: Indicates whether there was a content match for the topic block list such as "MATCHED" or "NOT MATCHED" allowedTopics: type: array items: type: string description: Indicates the list of allowed topics if there was a content match for the topic allow list blockedTopics: type: array items: type: string description: Indicates the list of blocked topics if there was a content match for the topic allow list AgentReportObject: type: object properties: model_verdict: type: string description: Detection service verdict such as "malicious" or "benign" agent_framework: type: string description: Agent builder framework used to build Agents such as "AWS_Agent_Builder", "Microsoft_copilot_studio" and others agent_patterns: type: array items: $ref: '#/components/schemas/AgentEntryObject' DSResultMetadata: type: object properties: ecosystem: type: string example: mcp method: type: string example: tools/call server_name: type: string example: MCP server tool_invoked: type: string example: get_file direction: type: string enum: - input - output description: Indicates the direction of data flow, either input to or output from a tool or service DlpSnippetMeta: type: object properties: data_pattern: description: pattern_id (DLP response snippets map key) type: string confidence_level: type: string enum: - low - medium - high data_pattern_type: description: proximity keyword (first one if any) type: string occurrence: type: integer format: int64 required: - data_pattern - confidence_level - occurrence McEntryObject: type: object properties: file_type: type: string description: code file type, such as "javascript", "Python", "VBScript" and others code_sha256: type: string description: SHA256 of the code file that was analyzed, such as a code snippet containing the potentially malicious code Error: type: object properties: status_code: type: integer format: int32 description: The HTTP status code for the error message: type: string description: The error message required: - status_code - message DSDetailResultObject: type: object properties: urlf_report: $ref: '#/components/schemas/UrlFilterReportObject' dlp_report: $ref: '#/components/schemas/DlpReportObject' dlp_snippets: $ref: '#/components/schemas/DlpSnippetObject' dbs_report: $ref: '#/components/schemas/DbsReportObject' dbs_snippets: $ref: '#/components/schemas/Snippets' tc_report: $ref: '#/components/schemas/TcReportObject' tc_snippets: $ref: '#/components/schemas/Snippets' mc_report: $ref: '#/components/schemas/McReportObject' agent_report: $ref: '#/components/schemas/AgentReportObject' topic_guardrails_report: $ref: '#/components/schemas/TgReportObject' cg_report: $ref: '#/components/schemas/CgReportObject' pi_report: $ref: '#/components/schemas/PiReportObject' pi_snippets: $ref: '#/components/schemas/Snippets' DbsReportObject: type: array items: $ref: '#/components/schemas/DbsEntryObject' UrlfEntryObject: type: object properties: url: type: string description: URL in the scan request risk_level: type: string description: Risk level associated with the URL, such as "high", "medium", or "low" action: type: string description: Action associated with the URL Category, such as "allow", "block", or "unknown" categories: type: array description: Categories associated with the URL items: type: string AgentEntryObject: type: object properties: category_type: type: string description: Agent threat category type, such as "tools misuse", "memory manipulation" and others verdict: type: string description: Verdict associated with the Agent threat Category, such as "malicious" or "benign" DlpPatternDetectionsObject: type: object properties: data_pattern_id: type: string description: Unique identifier for the data pattern matched version: type: integer description: Version of the data pattern matched name: type: string description: Name of the data pattern matched high_confidence_detections: $ref: '#/components/schemas/OffsetObject' medium_confidence_detections: $ref: '#/components/schemas/OffsetObject' low_confidence_detections: $ref: '#/components/schemas/OffsetObject' McReportObject: type: object properties: all_code_blocks: type: array items: type: string description: Code blocks extracted from prompt or response content code_analysis_by_type: type: array items: $ref: '#/components/schemas/McEntryObject' verdict: type: string description: Detection service verdict such as "malicious" or "benign" malware_script_report: $ref: '#/components/schemas/MalwareReportObject' description: Malware script scanning report details command_injection_report: $ref: '#/components/schemas/CmdInjectReportObject' description: Command injection scanning report details responses: Forbidden: description: Forbidden - Invalid API Key content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: Invalid API Key BadRequest: description: Bad Request - Request data is invalid or malformed content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: Request data is invalid or malformed MethodNotAllowed: description: Method Not Allowed - The method is not allowed content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: The method is not allowed NotFound: description: Not Found - Resource is not found content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: Resource is not found TooManyRequests: description: Too Many Requests - Request exceeds limit content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: Request exceeds limit retry_after: type: object properties: interval: type: integer example: 5 unit: type: string example: minute RequestTooLarge: description: Request Too Large - The request body is too large content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: The request body is too large UnsupportedMediaType: description: Unsupported Media Type - The media type is not supported content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: The media type is not supported Unauthenticated: description: Unauthenticated - Not Authenticated content: application/json: schema: type: object properties: error: type: object properties: message: type: string example: Not Authenticated examples: ExampleMultipleThreatScanReports: summary: Example response with multiple threat scan report entries value: - detection_results: - action: allow data_type: prompt detection_service: malicious_code result_detail: mc_report: code_analysis_by_type: [] verdict: benign verdict: benign - action: allow data_type: prompt detection_service: pi result_detail: {} verdict: benign - action: allow data_type: response detection_service: malicious_code result_detail: mc_report: code_analysis_by_type: [] verdict: benign verdict: benign report_id: R46ea2f2b-0000-42e1-9972-bbc444628a26 req_id: 1 scan_id: 46ea2f2b-0000-42e1-9972-bbc444628a26 transaction_id: '2882' - detection_results: - action: allow data_type: prompt detection_service: dlp result_detail: dlp_report: data_pattern_rule1_verdict: NOT_MATCHED data_pattern_rule2_verdict: '' dlp_profile_id: '11995043' dlp_profile_name: Sensitive Content dlp_report_id: 3550C248655A559664EF2C5A2F905D4E1C29DF04818616D52B2FD3884A86F3F3 verdict: benign - action: allow data_type: prompt detection_service: pi result_detail: {} verdict: benign - action: allow data_type: prompt detection_service: tc result_detail: tc_report: confidence: '' verdict: benign verdict: benign - action: allow data_type: prompt detection_service: uf result_detail: urlf_report: [] verdict: benign - action: allow data_type: response detection_service: dbs result_detail: dbs_report: [] verdict: benign - action: allow data_type: response detection_service: dlp result_detail: dlp_report: data_pattern_rule1_verdict: NOT_MATCHED data_pattern_rule2_verdict: '' dlp_profile_id: '11995043' dlp_profile_name: Sensitive Content dlp_report_id: 1163C2B1618398358DE8DB8789C405AE87FECA33BECADF4BCE94780BD51C9A5C verdict: benign - action: block data_type: response detection_service: tc result_detail: tc_report: confidence: high verdict: malicious verdict: malicious - action: allow data_type: response detection_service: uf result_detail: urlf_report: [] verdict: benign report_id: R46ea2f2b-0000-42e1-9972-bbc444628a26 req_id: 2 scan_id: 46ea2f2b-0000-42e1-9972-bbc444628a26 transaction_id: '2082' securitySchemes: x-pan-token: description: API key token generated during [onboarding Prisma AIRS AI Runtime API intercept](https://docs.paloaltonetworks.com/ai-runtime-security/activation-and-onboarding/ai-runtime-security-api-intercept-overview/onboard-api-runtime-security-api-intercept-in-scm) in Strata Cloud Manager. in: header name: x-pan-token type: apiKey