Palo Alto Networks Policy API

A policy is a set of one or more constraints or conditions that must be adhered to. Prisma Cloud provides predefined policies for configurations and access controls that adhere to established security best practices such as PCI, GDPR, ISO 27001:2013, and NIST. These Prisma Cloud default polices cannot be modified. In addition to these, you can create custom policies to monitor for violations and to enforce your own organizational standards.

OpenAPI Specification

palo-alto-networks-policy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Palo Alto Networks Policy API
  version: Latest
  contact: {}
  description: 'Operations tagged Policy across 2 of this provider''s published API definitions: palo-alto-cspm-consolidated-spec-cspm-spec-openapi.json, palo-alto-cspm-policy-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
- url: https://api.anz.prismacloud.io
- url: https://api.eu.prismacloud.io
- url: https://api2.eu.prismacloud.io
- url: https://api.gov.prismacloud.io
- url: https://api.prismacloud.cn
- url: https://api.ca.prismacloud.io
- url: https://api.sg.prismacloud.io
- url: https://api.uk.prismacloud.io
- url: https://api.ind.prismacloud.io
- url: https://api.jp.prismacloud.io
- url: https://api.fr.prismacloud.io
tags:
- description: "A policy is a set of one or more constraints or conditions that must be adhered to. Prisma Cloud provides \npredefined policies for configurations and access controls that adhere to established security best \npractices such as PCI, GDPR, ISO 27001:2013, and NIST. These Prisma Cloud default polices cannot be modified. \nIn addition to these, you can create custom policies to monitor for violations and to enforce your own organizational standards.\n"
  name: Policy
paths:
  /filter/policy/suggest:
    get:
      description: Returns an object whose keys are the supported policy filters and corresponding values are the default or recent options for that filter.
      operationId: get-policy-filters-and-options
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PolicyFilterSuggestion'
          description: successful operation
      security:
      - x-redlock-auth: []
      summary: List Policy Filters
      tags:
      - Policy
    post:
      description: Returns available options for a policy filter key. Also supports fuzzy autocomplete search for easier filtering.
      operationId: get-policy-filter-options
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/FilterSuggestionModel'
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ParsedTableFilter'
          description: successful operation
      security:
      - x-redlock-auth: []
      summary: List Policy Filter Autocomplete Suggestions
      tags:
      - Policy
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /policy:
    get:
      description: 'Returns all available policies, both system default and custom. You can apply filters to narrow the returned policy list to a subset of policies or potentially to a specific policy. Response includes open alert counts, which can affect performance. '
      operationId: get-policies
      parameters:
      - description: Policy name
        in: query
        name: policy.name
        required: false
        schema:
          type: string
      - description: Policy severity
        in: query
        name: policy.severity
        required: false
        schema:
          enum:
          - critical
          - high
          - medium
          - low
          - informational
          type: string
      - description: Policy label
        in: query
        name: policy.label
        required: false
        schema:
          type: string
      - description: Policy type
        in: query
        name: policy.type
        required: false
        schema:
          enum:
          - config
          - network
          - audit_event
          type: string
      - description: Policy compliance standard name
        in: query
        name: policy.complianceStandard
        required: false
        schema:
          type: string
      - description: Policy compliance requirement name
        in: query
        name: policy.complianceRequirement
        required: false
        schema:
          type: string
      - description: Policy compliance section ID
        in: query
        name: policy.complianceSection
        required: false
        schema:
          type: string
      - description: Policy enabled
        in: query
        name: policy.enabled
        required: false
        schema:
          enum:
          - 'true'
          - 'false'
          type: string
      - description: Policy mode
        in: query
        name: policy.policyMode
        required: false
        schema:
          enum:
          - custom
          - redlock_default
          type: string
      - description: Policy is remediable
        in: query
        name: policy.remediable
        required: false
        schema:
          enum:
          - 'true'
          - 'false'
          type: string
      - description: Cloud type
        in: query
        name: cloud.type
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                items:
                  $ref: '#/components/schemas/LegacyPolicyViewModel'
                type: array
          description: successful operation
        '500':
          description: internal_error
      security:
      - x-redlock-auth: []
      summary: List Policies
      tags:
      - Policy
    post:
      description: "Adds a new policy.  \n\nThe request to add a custom policy uses request body parameters that describe the following:\n\n* General policy information, such as name, labels, and severity\n* Whether or not the policy is enabled. If you don't specify a value for **enabled** when you add a policy, the default is **enabled**=**true**\n* A rule, which identifies a saved search that defines the policy constraints (i.e. RQL query)\n* Optional compliance standards\n* Optional remediation details\n\nThe following are some examples of request body parameters for a request to add a policy. A new custom policy requires a saved search.\nSpecify a saved search ID for the **criteria** request parameter. You can request a list of exiting saved searches through the endpoint to \n[View Search History](/prisma-cloud/api/cspm/search-history).\n\nNote that the request parameters to add a custom config policy require a **cloudType**. The requests for other policy types default to a **cloudType** of **ALL**.\n\nThe JSON below is an example of the minimal request body parameters you need to add a config policy: \n```json\n{\n  \"cloudType\": \"aws\",\n  \"name\": \"Config test policy\",\n  \"policyType\": \"config\",\n  \"rule\": {\n    \"criteria\": \"e1234567-2798-4d1d-a1b0-52d60d49730b\",\n    \"name\": \"test rule\",\n    \"parameters\": {\n      \"savedSearch\": \"true\"\n    },\n    \"type\": \"Config\"\n  },\n \"severity\": \"low\"\n}\n```\n\nThe JSON below is an example of the minimal request body parameters you need to add a network policy:\n```json\n{\n  \"name\": \"test-network-policy\",\n  \"policyType\": \"network\",\n  \"severity\": \"medium\",\n  \"rule\": {\n    \"name\": \"test-network-rule\",\n    \"criteria\": \"c1234567-3a02-4392-a228-327d0db3324d\",\n    \"parameters\": {\n      \"savedSearch\": \"true\"\n    },\n    \"type\": \"Network\"\n  }\n}\n```\n\nThe JSON below is an example of the minimal request body parameters you need to add an audit event policy:\n```json\n{\n  \"name\":\"test-event-policy\",\n  \"policyType\":\"audit_event\",\n  \"rule\":\n    {\"criteria\":\"91234567-087a-4318-a9b3-efe6041b87b1\",\n     \"name\":\"test-rule1\",\n     \"parameters\":{\n       \"savedSearch\":\"true\"\n     },\n     \"type\":\"AuditEvent\"\n    },\n  \"severity\":\"low\"\n}\n```\n\nThe JSON below is an example of the minimal request body parameters you need to add an IAM policy:\n```json\n{\n  \"cloudType\": \"ALL\",\n  \"name\": \"test-iam-policy\",\n  \"policyType\": \"IAM\",\n  \"rule\": {\n    \"criteria\": \"71234567-7251-4d3b-9be1-cced127fd09d\",\n    \"name\": \"test-iam\",\n    \"parameters\": {\n      \"savedSearch\": \"true\"\n    },\n    \"type\": \"IAM\"\n },\n \"severity\": \"medium\"\n}\n```\n\nThe JSON below is an example of the minimal request body parameters you need to add a config policy that includes a compliance standard:\n```json\n{\n    \"cloudType\": \"aws\",\n    \"complianceMetadata\": [\n        {\n            \"standardName\": \"GDPR\",\n            \"requirementId\": \"Chapter 1\",\n            \"sectionId\": \"Article 1\",\n            \"customAssigned\": true,\n            \"complianceId\": \"91234567-7ddf-4e44-96fd-95135d9fbc6b\",\n            \"requirementName\": \"General provisions\",\n            \"sectionLabel\": \"Article 1\"\n        }\n    ],\n    \"description\": \"API test\",\n    \"name\": \"demo\",\n    \"policyType\": \"config\",\n    \"rule\": {\n        \"criteria\": \"b1234567-84fc-4443-8cbc-f08f13fba586\",\n        \"name\": \"demo\",\n        \"parameters\": {\n            \"savedSearch\": \"true\"\n        },\n        \"type\": \"Config\"\n    },\n    \"severity\": \"medium\"\n}        \n```\n\nThe JSON below is an example of the request body parameters you need to add a custom build policy:\n```json\n{\n    \"cloudType\": \"aws\",\n    \"complianceMetadata\": [],\n    \"description\": \"\",\n    \"labels\": [],\n    \"name\": \"demo\",\n    \"policySubTypes\": [\n        \"build\"\n    ],\n    \"policyType\": \"config\",\n    \"recommendation\": \"\",\n    \"rule\": {\n        \"children\": [\n            \"criteria\": \"{\\\"category\\\":\\\"Storage\\\",\\\"resourceTypes\\\":[\\\"aws_s3_bucket\\\"],\\\"conditionQuery\\\":{\\\"attribute\\\":\\\"acl\\\",\\\"operator\\\":\\\"not_equals\\\",\\\"value\\\":\\\"log-delivery-write\\\",\\\"cond_type\\\":\\\"attribute\\\"}}\",\n            \"type\": \"build\",\n            \"recommendation\": \"\"\n        }\n        ],\n        \"name\": \"demo\",\n        \"parameters\": {\n            \"savedSearch\": \"false\",\n            \"withIac\": \"true\"\n        },\n        \"type\": \"Config\"\n    },\n    \"severity\": \"low\"\n}\n```\n\n  The JSON below is an example of the minimal request body parameters you need to add a Code Security build config policy:\n```json\n{\n    \"cloudType\": \"aws/gcp/azure\",\n    \"complianceMetadata\": [],\n    \"description\": \"Code Security build policy\",\n    \"labels\": [],\n    \"name\": \"demo\",\n    \"policySubTypes\": [\"build\"],\n    \"policyType\": \"config\",\n    \"recommendation\": \"\",\n    \"rule\": {\n        \"children\": [\n            {\n                \"metadata\": {\n                    \"code\": \"yaml string\"\n                },\n                \"type\": \"build\",\n                \"recommendation\": \"\"\n            }\n        ],\n        \"name\": \"demo\",\n        \"parameters\": {\n            \"savedSearch\": \"false\",\n            \"withIac\": \"true\"\n        },\n        \"type\": \"Config\"\n    },\n    \"severity\": \"low\",\n    \"enabled\": bool\n}\n```\n\n  The JSON below is an example of the minimal request body parameters you need to add a Code Security run config policy:\n```json\n{\n    \"cloudType\": \"azure\",\n    \"complianceMetadata\": [],\n    \"description\": \"Code Security run policy\",\n    \"labels\": [],\n    \"name\": \"demo\",\n    \"policySubTypes\": [\"run\"],\n    \"policyType\": \"config\",\n    \"recommendation\": \"\",\n    \"rule\": {\n        \"children\": [\n            {\n                \"metadata\": {\n                    \"code\": \"yaml string\"\n                },\n                \"type\": \"build\",\n                \"recommendation\": \"\"\n            }\n        ],\n        \"name\": \"demo\",\n        \"parameters\": {\n            \"savedSearch\": \"true\",\n            \"withIac\": \"true\"\n        },\n        \"type\": \"Config\"\n    },\n    \"severity\": \"medium\",\n    \"enabled\": bool\n}\n```\n"
      operationId: add-policy
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/PolicyModel'
        description: Model for Policy
        required: true
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PolicyModel'
          description: successful operation
        '400':
          description: missing_required_parameter / invalid_parameter_value / bad_requestmissing_required_parameter / duplicate_name / invalid_search_cloud_type_for_policy / create_update_disallowed_for_json_schema_type_policy / invalid_ruleremediation_allowed_only_for_config_policies / policy_remediation_disallowed_for_non_sys_admins / unauthorized_access / unable_to_determine_sub_types
        '500':
          description: internal_error
      security:
      - x-redlock-auth: []
      summary: Add Policy
      tags:
      - Policy
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /v2/policy:
    get:
      description: "Returns all available policies, both system default and custom. You can apply filters to narrow the returned policy list to a subset of policies or potentially to a specific policy. For improved performance, response does not include open alert counts.  \n\nFor a request to get a full list of supported filters, see [List Policy Filters](/prisma-cloud/api/cspm/get-policy-filters-and-options).\n"
      operationId: get-policies-v2
      parameters:
      - description: Policy name
        in: query
        name: policy.name
        required: false
        schema:
          type: string
      - description: Policy severity
        in: query
        name: policy.severity
        required: false
        schema:
          enum:
          - critical
          - high
          - medium
          - low
          - informational
          type: string
      - description: Policy label
        in: query
        name: policy.label
        required: false
        schema:
          type: string
      - description: Policy rule template type
        in: query
        name: policy.rule.type
        required: false
        schema:
          enum:
          - tf
          - cft
          - k8s
          type: string
      - description: Policy subtype
        in: query
        name: policy.subtype
        required: false
        schema:
          enum:
          - run
          - build
          - run_and_build
          - audit
          - data_classification
          - dns
          - malware
          - network_event
          - network
          - ueba
          - permissions
          - identity
          type: string
      - description: Policy type
        in: query
        name: policy.type
        required: false
        schema:
          enum:
          - config
          - network
          - audit_event
          type: string
      - description: Policy compliance standard name
        in: query
        name: policy.complianceStandard
        required: false
        schema:
          type: string
      - description: Policy compliance requirement name
        in: query
        name: policy.complianceRequirement
        required: false
        schema:
          type: string
      - description: Policy compliance section ID
        in: query
        name: policy.complianceSection
        required: false
        schema:
          type: string
      - description: Policy enabled
        in: query
        name: policy.enabled
        required: false
        schema:
          enum:
          - 'true'
          - 'false'
          type: string
      - description: Policy mode
        in: query
        name: policy.policyMode
        required: false
        schema:
          enum:
          - custom
          - redlock_default
          type: string
      - description: Policy is remediable
        in: query
        name: policy.remediable
        required: false
        schema:
          enum:
          - 'true'
          - 'false'
          type: string
      - description: 'Include deleted policies '
        in: query
        name: policy.allowDeleted
        required: false
        schema:
          enum:
          - 'true'
          - 'false'
          type: string
      - description: Cloud type
        in: query
        name: cloud.type
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                items:
                  $ref: '#/components/schemas/PolicyViewModel'
                type: array
          description: successful operation
        '500':
          description: internal_error
      security:
      - x-redlock-auth: []
      summary: List Policies V2
      tags:
      - Policy
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /policy/{id}:
    get:
      description: Returns the policy that has the specified policy ID.
      operationId: get-policy
      parameters:
      - description: Policy ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PolicyModel'
          description: successful operation
        '400':
          description: invalid_parameter_value
        '403':
          description: permission_error
        '404':
          description: no_results
        '500':
          description: internal_error
      security:
      - x-redlock-auth: []
      summary: Policy Info
      tags:
      - Policy
    put:
      description: "Updates the existing policy that has the specified policy ID.  \n\nAlthough multiple body parameters are marked as required, to update a policy, you need to provide only the \nbody parameters that you want to update. All body parameters that you don't update will\ndefault to the values of the existing policy.\n"
      operationId: update-policy
      parameters:
      - description: Policy ID
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/PolicyModel'
        description: Model for Policy
        required: true
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PolicyModel'
          description: successful operation
        '400':
          description: missing_required_parameter / invalid_parameter_value / policy_id_cannot_be_changed /type_cannot_be_changed / create_update_disallowed_for_json_schema_type_policy / duplicate_name / remediation_allowed_only_for_config_policies / policy_remediation_disallowed_for_non_sys_admins / unable_to_determine_sub_types / unauthorized_access / compliance_mapping_update_disallowed_for_policy_type
        '403':
          description: not_system_admin_user / not_owner_or_same_role
        '404':
          description: not_found
        '500':
          description: internal_error
      security:
      - x-redlock-auth: []
      summary: Update Policy
      tags:
      - Policy
    delete:
      description: Delete a policy using its ID.
      operationId: delete-policy
      parameters:
      - description: Policy ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: success
        '400':
          description: missing_required_parameter/invalid_parameter_value
        '403':
          description: cannot_delete_default_policy/not_owner_or_same_role/cannot_delete_default_policy
        '404':
          description: no_results
        '500':
          description: internal_error
      security:
      - x-redlock-auth: []
      summary: Delete Policy
      tags:
      - Policy
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /policy/{id}/status/{enabled}:
    patch:
      description: Enable or disable a policy.
      operationId: update-policy-status
      parameters:
      - description: Policy ID
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: Policy status (true = enabled)
        in: path
        name: enabled
        required: true
        schema:
          type: boolean
      responses:
        '200':
          description: successful operation
        '400':
          description: 'invalid_parameter_value / missing_required_param / '
        '403':
          description: not_found / not_system_admin_user / not_owner_or_same_role
        '404':
          description: not_found / failed_update_policy_status
        '500':
          description: failed_update_policy_status
      security:
      - x-redlock-auth: []
      summary: Update Policy Status
      tags:
      - Policy
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /policy/compliance:
    get:
      description: Returns a list of compliance standards that Prisma Cloud supports and for each compliance standard, lists the supported sections.
      operationId: get-compliance-standards
      responses:
        '200':
          content:
            application/json; charset=UTF-8:
              schema:
                additionalProperties:
                  items:
                    $ref: '#/components/schemas/ComplianceMetadataModel'
                  type: array
                  uniqueItems: true
                type: object
          description: successful operation
      security:
      - x-redlock-auth: []
      summary: List Policy Compliance Standards
      tags:
      - Policy
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /policy/rule/validate:
    post:
      description: "Pre-validates a policy rule without creating an actual policy.  \n\nThe only request body parameters for this request are:\n\n* **policyType** - Only the following are valid values for **policyType**:\n    * \"config\" \n    * \"network\"\n    * \"audit_event\" \n    * \"iam\" \n\n* **rule** - The **rule.criteria** value is the RQL search query for the rule you want to validate. Validation of this rule implies validation of a policy you might create with this rule.\n\nOnly the parameters above apply to this request, and both of these parameters are required.\n\nThe JSON below is an example of valid request body parameters:\n\n```json\n{\n    \"policyType\": \"config\",\n    \"rule\": {\n        \"criteria\": \"config from cloud.resource where cloud.type = '\\''azure'\\'' AND api.name = '\\''azure-security-center-settings'\\'' AND json.rule = '\\''autoProvisioningSettings[*].name equals default and (autoProvisioningSettings[*].properties.autoProvision equals Off or autoProvisioningSettings[*] does not exist)'\\''\"\n    }\n}\n``` \n"
      operationId: policy-rule-validate
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/PolicyModel'
        description: Model for Policy
        required: true
      responses:
        '200':
          description: successful operation
        '400':
          description: missing_required_parameter / saved_search_validation_not_supported / preprocessor_not_allowed_for_policy / invalid_search_type_for_policy / invalid_search_type_for_policy / insufficient_query_for_policy_creation  /invalid_hostfinding_type_redlock_in_search_query / invalid_search_cloud_type_for_policy / invalid_azure_resource_group_in_search_query / json_not_supported_in_event_query / anomaly_search_not_supported_in_event_query / rql_validation_service_unavailable / invalid_json_rule
        '500':
          description: internal_error
      security:
      - x-redlock-auth: []
      summary: Pre-validate Policy Rule
      tags:
      - Policy
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
components:
  schemas:
    RemediationAction:
      description: Action for remediation for data policy.
      properties:
        operation:
          type: string
        payload:
          type: string
      type: object
    LegacyPolicyViewModel:
      description: Model for Policy View
      properties:
        cloudType:
          description: Cloud type (Required for config policies). Not case-sensitive. Default is **ALL**.
          enum:
          - ALL
          - AWS
          - AZURE
          - GCP
          - ALIBABA_CLOUD
          - OCI
          - IBM
          type: string
        complianceMetadata:
          description: List of compliance data. Each item has compliance standard, requirement, and/or section information.
          items:
            $ref: '#/components/schemas/ComplianceMetadataModel'
          type: array
        createdBy:
          description: Created by
          readOnly: true
          type: string
        createdOn:
          description: Created on this timestamp
          format: int64
          readOnly: true
          type: integer
        deleted:
          description: Deleted
          readOnly: true
          type: boolean
        description:
          description: Policy description
          type: string
        enabled:
          description: true=enabled. false=disabled.
          type: boolean
        findingTypes:
          description: Finding Type
          items:
            type: string
          type: array
        labels:
          description: Labels
          items:
            type: string
          type: array
          uniqueItems: true
        lastModifiedBy:
          description: Last modified by
          readOnly: true
          type: string
        lastModifiedOn:
          description: Last modified on this timestamp
          format: int64
          readOnly: true
          type: integer
        name:
          description: Policy name
          type: string
        openAlertsCount:
          description: Open Alerts Count (Deprecated)
          format: int32
          type: integer
        overridden:
          description: Overridden
          readOnly: true
          type: boolean
        owner:
          description: Owner
          type: string
        policyCategory:
          description: PolicyCategory
          enum:
          - risk
          - incident
          type: string
        policyClass:
          description: PolicyClass
          enum:
          - behavioral
          - privileged_activity_monitoring
          - network_protection
          - exposure
          - vulnerabilities
          - runtime_incident
          type: string
        policyId:
          description: Policy ID
          readOnly: true
          type: string
        policyMode:
          description: PolicyMode
          enum:
          - custom/redlock_default
          type: string
        policySubTypes:
          description: Policy subtype
          items:
            enum:
            - run
            - build
            - run_and_build
            - audit
            - data_classification
            - dns
            - malware
            - network_event
            - network
            - ueba
            - permissions
            - network_config
            - identity
            type: string
          readOnly: true
          type: array
          uniqueItems: true
        policyType:
          description: Policy type. Policy type **anomaly** is read-only.
          enum:
          - config
          - network
          - audit_event
          - anomaly
          - data
          - iam
          - workload_vulnerability
          - workload_incident
          - waas_event
          - attack_path
          type: string
        policyUpi:
          description: Policy UPI
          readOnly: true
          type: string
        recommendation:
          description: Remediation recommendation
          type: string
        remediable:
          description: isRemediable
          readOnly: true
          type: boolean
        remediation:
          allOf:
          - $ref: '#/components/schemas/RemediationModel'
          - description: Auto remediation info. Available only if policy is remediable.
        restrictAlertDismissal:
          description: Restrict alert dismissal
          readOnly: true
          type: boolean
        rule:
          allOf:
          - $ref: '#/components/schemas/RuleModel'
          - description: Policy rule (Contains RQL search query or saved search)
        ruleLastModifiedOn:
          description: Rule last modified on
          format: int64
          readOnly: true
          type: integer
        severity:
          description: Severity
          enum:
          - high
          - medium
          - low
          type: string
        systemDefault:
          description: true = Policy is a Prisma Cloud system default policy
          readOnly: true
          type: boolean
      required:
      - name
      - policyType
      - rule
      - severity
      type: object
    RuleModel:
      description: Model for Rule
      properties:
        apiName:
          description: API name
          readOnly: true
          type: string
        cloudAccount:
          description: Cloud account
          readOnly: true
          type: string
        cloudType:
          description: Cloud type
          readOnly: true
          type: string
        criteria:
          description: Saved search ID that defines the rule criteria.
          type: string
        dataCriteria:
          allOf:
          - $ref: '#/components/schemas/RuleCriteria'
          - description: Rule criteria for DLP data policy
        name:
          description: Name
          type: string
        parameters:
          additionalProperties:
            type: string
          description: 'Parameters (e.g. {"savedSearch": "true"})'
          type: object
        resourceIdPath:
          description: Resource ID path
          readOnly: true
          type: string
        resourceType:
          description: Resource type
          readOnly: true
          type: string
        type:
          description: Type of rule or RQL query
          enum:
          - Config
          - Network
          - AuditEvent
          - DLP
          - IAM
          - NetworkConfig
          type: string
      required:
      - criteria
      - name
      - parameters
      - type
      type: object
    RuleCriteria:
      description: Criteria for Rule
      properties:
        classificationResult:
          description: Data policy. Required for DLP rule criteria.
          type: string
        exposure:
          description: File exposure
          enum:
          - private
          - public
          - conditional
          type: string
        extension:
          description: File extensions
          items:
            type: string
          type: array
          uniqueItems: true
      type: object
    FilterSuggestionModel:
      description: Model for Filter Suggestions
      properties:
        filterName:
          description: Filter name
          type: string
        query:
          description: Case-insensitive fuzzy search autocomplete filter. Includes only items that contain the query as a substring.
          type: string
      required:
      - filterName
      type: object
    PolicyViewModel:
      description: Model for Policy View V2
      properties:
        cloudType:
          description: Cloud type (Required for config policies). Not case-sensitive. Default is **ALL**.
          enum:
          - ALL
          - AWS
          - AZURE
          - GCP


# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-policy-api-openapi.yml