Palo Alto Networks Policies API

The Policies API from Palo Alto Networks — 82 operation(s) for policies.

Operations 166

POST /code/api/v1/policies/definition/{queryId} Validate Policies - Code-based #
POST /code/api/v1/policies Save New Policy #
GET /code/api/v1/policies/table/data Get Custom Policies Table Data #
PUT /code/api/v1/policies/{policyId} Update Policy #
DELETE /code/api/v1/policies/{policyId} Delete Policy #
POST /code/api/v1/policies/preview Policy Preview #
POST /code/api/v1/policies/clone/{policyId} Policy Clone #
GET /api/v34.03/policies/compliance/ci/images Get Continuous Integration (CI) Image Compliance Policy #
PUT /api/v34.03/policies/compliance/ci/images Update Continuous Integration (CI) Image Compliance Policy #
GET /api/v34.03/policies/compliance/ci/serverless Get Continuous Integration (CI) Serverless Compliance Policy #
PUT /api/v34.03/policies/compliance/ci/serverless Update Continuous Integration (CI) Serverless Compliance Policy #
GET /api/v34.03/policies/compliance/container Get Container Compliance Policy #
PUT /api/v34.03/policies/compliance/container Update Container Compliance Policy #
GET /api/v34.03/policies/compliance/container/impacted Get Impacted Container Compliance Policy #
GET /api/v34.03/policies/compliance/host Get Host Compliance Policy #
PUT /api/v34.03/policies/compliance/host Update Host Compliance Policy #
GET /api/v34.03/policies/compliance/serverless Get Serverless Compliance Policy #
PUT /api/v34.03/policies/compliance/serverless Update Serverless Compliance Policy #
GET /api/v34.03/policies/compliance/vms/impacted Get Impacted VMs Compliance Policy #
GET /api/v34.03/policies/firewall/app/agentless Get Agentless App Firewall Policy #
PUT /api/v34.03/policies/firewall/app/agentless Set Agentless App Firewall Policy #
GET /api/v34.03/policies/firewall/app/agentless/impacted Get Agentless App Firewall Policy Impacted #
GET /api/v34.03/policies/firewall/app/agentless/resources Get Agentless App Firewall Policy Resources #
GET /api/v34.03/policies/firewall/app/agentless/state Get Agentless App Firewall Policy State #
POST /api/v34.03/policies/firewall/app/apispec Generate a WAAS API Specification Object #
GET /api/v34.03/policies/firewall/app/app-embedded Get WAAS App-embedded Policy #
PUT /api/v34.03/policies/firewall/app/app-embedded Update WAAS App-embedded Policy #
GET /api/v34.03/policies/firewall/app/container Get WAAS Container Policy #
PUT /api/v34.03/policies/firewall/app/container Update WAAS Container Policy #
GET /api/v34.03/policies/firewall/app/container/impacted Container App Firewall Policy Impacted #
GET /api/v34.03/policies/firewall/app/host Get WAAS Host Policy #
PUT /api/v34.03/policies/firewall/app/host Update WAAS Host Policy #
GET /api/v34.03/policies/firewall/app/host/impacted Host App Firewall Policy Impacted #
GET /api/v34.03/policies/firewall/app/network-list Get WAAS Network List #
POST /api/v34.03/policies/firewall/app/network-list Add WAAS Network List #
PUT /api/v34.03/policies/firewall/app/network-list Update WAAS Network List #
DELETE /api/v34.03/policies/firewall/app/network-list/{id} Delete WAAS Network List #
GET /api/v34.03/policies/firewall/app/out-of-band Get Out-of-Band WAAS Policy #
PUT /api/v34.03/policies/firewall/app/out-of-band Update Out-of-Band WAAS Policy #
GET /api/v34.03/policies/firewall/app/out-of-band/impacted Get Impacted Resources for Out-of-Band WAAS Policy #
GET /api/v34.03/policies/firewall/app/serverless Get WAAS Serverless Policy #
PUT /api/v34.03/policies/firewall/app/serverless Update WAAS Serverless Policy #
GET /api/v34.03/policies/firewall/network Get CNNS Container and Host Policy #
PUT /api/v34.03/policies/firewall/network Update CNNS Container and Host Policy #
GET /api/v34.03/policies/runtime/app-embedded Get Runtime App-embedded Policy #
POST /api/v34.03/policies/runtime/app-embedded Add Runtime App-embedded Policy #
PUT /api/v34.03/policies/runtime/app-embedded Update Runtime App-embedded Policy #
GET /api/v34.03/policies/runtime/container Get Runtime Container Policy #
POST /api/v34.03/policies/runtime/container Update Runtime Container Policy #
PUT /api/v34.03/policies/runtime/container Set Container Runtime Policy #
GET /api/v34.03/policies/runtime/container/impacted Update Runtime Impacted Container Policy #
GET /api/v34.03/policies/runtime/host Get Runtime Host Policy #
POST /api/v34.03/policies/runtime/host Update Runtime Host Policy #
PUT /api/v34.03/policies/runtime/host Set Host Runtime Policy #
GET /api/v34.03/policies/runtime/serverless Get Runtime Serverless Policy #
POST /api/v34.03/policies/runtime/serverless Update Runtime Serverless Policy #
PUT /api/v34.03/policies/runtime/serverless Set Serverless Runtime Policy #
GET /api/v34.03/policies/vulnerability/base-images Get Base Images Rules #
POST /api/v34.03/policies/vulnerability/base-images Add Base Images Rule #
GET /api/v34.03/policies/vulnerability/base-images/download Download Base Images Rules #
DELETE /api/v34.03/policies/vulnerability/base-images/{id} Delete Base Images Rule #
GET /api/v34.03/policies/vulnerability/ci/images Get CI Image Vulnerability Policy #
PUT /api/v34.03/policies/vulnerability/ci/images Update CI Image Vulnerability Policy #
GET /api/v34.03/policies/vulnerability/ci/serverless Get CI Serverless Vulnerability Policy #
PUT /api/v34.03/policies/vulnerability/ci/serverless Update CI Serverless Vulnerability Policy #
GET /api/v34.03/policies/vulnerability/host Get Host Vulnerability Policy #
PUT /api/v34.03/policies/vulnerability/host Update Host Vulnerability Policy #
GET /api/v34.03/policies/vulnerability/host/impacted Get Impacted Host Vulnerability Policy #
GET /api/v34.03/policies/vulnerability/images Get Image Vulnerability Policy #
PUT /api/v34.03/policies/vulnerability/images Update Image Vulnerability Policy #
GET /api/v34.03/policies/vulnerability/images/impacted Get Impacted Image Vulnerability Policy #
GET /api/v34.03/policies/vulnerability/serverless Get Serverless Vulnerability Policy #
PUT /api/v34.03/policies/vulnerability/serverless Update Serverless Vulnerability Policy #
GET /api/v34.04/policies/compliance/ci/images Get Continuous Integration (CI) Image Compliance Policy #
PUT /api/v34.04/policies/compliance/ci/images Update Continuous Integration (CI) Image Compliance Policy #
GET /api/v34.04/policies/compliance/ci/serverless Get Continuous Integration (CI) Serverless Compliance Policy #
PUT /api/v34.04/policies/compliance/ci/serverless Update Continuous Integration (CI) Serverless Compliance Policy #
GET /api/v34.04/policies/compliance/container Get Container Compliance Policy #
PUT /api/v34.04/policies/compliance/container Update Container Compliance Policy #
GET /api/v34.04/policies/compliance/container/impacted Get Impacted Container Compliance Policy #
GET /api/v34.04/policies/compliance/host Get Host Compliance Policy #
PUT /api/v34.04/policies/compliance/host Update Host Compliance Policy #
GET /api/v34.04/policies/compliance/serverless Get Serverless Compliance Policy #
PUT /api/v34.04/policies/compliance/serverless Update Serverless Compliance Policy #
GET /api/v34.04/policies/compliance/vms/impacted Get Impacted VMs Compliance Policy #
GET /api/v34.04/policies/firewall/app/agentless Get Agentless App Firewall Policy #
PUT /api/v34.04/policies/firewall/app/agentless Set Agentless App Firewall Policy #
GET /api/v34.04/policies/firewall/app/agentless/impacted Get Agentless App Firewall Policy Impacted #
GET /api/v34.04/policies/firewall/app/agentless/resources Get Agentless App Firewall Policy Resources #
GET /api/v34.04/policies/firewall/app/agentless/state Get Agentless App Firewall Policy State #
POST /api/v34.04/policies/firewall/app/apispec Generate a WAAS API Specification Object #
GET /api/v34.04/policies/firewall/app/app-embedded Get WAAS App-embedded Policy #
PUT /api/v34.04/policies/firewall/app/app-embedded Update WAAS App-embedded Policy #
GET /api/v34.04/policies/firewall/app/container Get WAAS Container Policy #
PUT /api/v34.04/policies/firewall/app/container Update WAAS Container Policy #
GET /api/v34.04/policies/firewall/app/container/impacted Container App Firewall Policy Impacted #
GET /api/v34.04/policies/firewall/app/host Get WAAS Host Policy #
PUT /api/v34.04/policies/firewall/app/host Update WAAS Host Policy #
GET /api/v34.04/policies/firewall/app/host/impacted Host App Firewall Policy Impacted #
GET /api/v34.04/policies/firewall/app/network-list Get WAAS Network List #
POST /api/v34.04/policies/firewall/app/network-list Add WAAS Network List #
PUT /api/v34.04/policies/firewall/app/network-list Update WAAS Network List #
DELETE /api/v34.04/policies/firewall/app/network-list/{id} Delete WAAS Network List #
GET /api/v34.04/policies/firewall/app/out-of-band Get Out-of-Band WAAS Policy #
PUT /api/v34.04/policies/firewall/app/out-of-band Update Out-of-Band WAAS Policy #
GET /api/v34.04/policies/firewall/app/out-of-band/impacted Get Impacted Resources for Out-of-Band WAAS Policy #
GET /api/v34.04/policies/firewall/app/serverless Get WAAS Serverless Policy #
PUT /api/v34.04/policies/firewall/app/serverless Update WAAS Serverless Policy #
GET /api/v34.04/policies/firewall/network Get CNNS Container and Host Policy #
PUT /api/v34.04/policies/firewall/network Update CNNS Container and Host Policy #
GET /api/v34.04/policies/runtime/app-embedded Get Runtime App-embedded Policy #
POST /api/v34.04/policies/runtime/app-embedded Add Runtime App-embedded Policy #
PUT /api/v34.04/policies/runtime/app-embedded Update Runtime App-embedded Policy #
GET /api/v34.04/policies/runtime/container Get Runtime Container Policy #
POST /api/v34.04/policies/runtime/container Update Runtime Container Policy #
PUT /api/v34.04/policies/runtime/container Set Container Runtime Policy #
GET /api/v34.04/policies/runtime/container/impacted Update Runtime Impacted Container Policy #
GET /api/v34.04/policies/runtime/host Get Runtime Host Policy #
POST /api/v34.04/policies/runtime/host Update Runtime Host Policy #
PUT /api/v34.04/policies/runtime/host Set Host Runtime Policy #
GET /api/v34.04/policies/runtime/serverless Get Runtime Serverless Policy #
POST /api/v34.04/policies/runtime/serverless Update Runtime Serverless Policy #
PUT /api/v34.04/policies/runtime/serverless Set Serverless Runtime Policy #
GET /api/v34.04/policies/vulnerability/base-images Get Base Images Rules #
POST /api/v34.04/policies/vulnerability/base-images Add Base Images Rule #
GET /api/v34.04/policies/vulnerability/base-images/download Download Base Images Rules #
DELETE /api/v34.04/policies/vulnerability/base-images/{id} Delete Base Images Rule #
GET /api/v34.04/policies/vulnerability/ci/images Get CI Image Vulnerability Policy #
PUT /api/v34.04/policies/vulnerability/ci/images Update CI Image Vulnerability Policy #
GET /api/v34.04/policies/vulnerability/ci/serverless Get CI Serverless Vulnerability Policy #
PUT /api/v34.04/policies/vulnerability/ci/serverless Update CI Serverless Vulnerability Policy #
GET /api/v34.04/policies/vulnerability/host Get Host Vulnerability Policy #
PUT /api/v34.04/policies/vulnerability/host Update Host Vulnerability Policy #
GET /api/v34.04/policies/vulnerability/host/impacted Get Impacted Host Vulnerability Policy #
GET /api/v34.04/policies/vulnerability/images Get Image Vulnerability Policy #
PUT /api/v34.04/policies/vulnerability/images Update Image Vulnerability Policy #
GET /api/v34.04/policies/vulnerability/images/impacted Get Impacted Image Vulnerability Policy #
GET /api/v34.04/policies/vulnerability/serverless Get Serverless Vulnerability Policy #
PUT /api/v34.04/policies/vulnerability/serverless Update Serverless Vulnerability Policy #
GET /policy/recommendation Palo Alto Networks Get Policy Recommendations #
GET /Policies/SecurityRules Palo Alto Networks List Security Rules #
POST /Policies/SecurityRules Palo Alto Networks Create Security Rule #
PUT /Policies/SecurityRules Palo Alto Networks Update Security Rule #
DELETE /Policies/SecurityRules Palo Alto Networks Delete Security Rule #
GET /Policies/NATRules Palo Alto Networks List NAT Rules #
POST /Policies/NATRules Palo Alto Networks Create NAT Rule #
PUT /Policies/NATRules Palo Alto Networks Update NAT Rule #
DELETE /Policies/NATRules Palo Alto Networks Delete NAT Rule #
GET /Policies/QoSRules Palo Alto Networks List QoS Rules #
POST /Policies/QoSRules Palo Alto Networks Create QoS Rule #
PUT /Policies/QoSRules Palo Alto Networks Update QoS Rule #
DELETE /Policies/QoSRules Palo Alto Networks Delete QoS Rule #
GET /v1/policies Palo Alto Networks List Browser Security Policies #
POST /v1/policies Palo Alto Networks Create Browser Security Policy #
GET /v1/policies/{policy_id} Palo Alto Networks Get Browser Security Policy #
PUT /v1/policies/{policy_id} Palo Alto Networks Update Browser Security Policy #
DELETE /v1/policies/{policy_id} Palo Alto Networks Delete Browser Security Policy #
GET /policies/vulnerability/images Palo Alto Networks Get Image Vulnerability Policy #
PUT /policies/vulnerability/images Palo Alto Networks Update Image Vulnerability Policy #
GET /policies/compliance/images Palo Alto Networks Get Image Compliance Policy #
GET /policies/runtime/container Palo Alto Networks Get Container Runtime Policy #
GET /policy Palo Alto Networks List Policies #
POST /policy Palo Alto Networks Create a Custom Policy #
GET /policy/{policyId} Palo Alto Networks Get Policy Details #
PUT /policy/{policyId} Palo Alto Networks Update a Policy #
GET /dspm/api/v1/policies Palo Alto Networks List DSPM Policies #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/palo-alto-networks-policies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

palo-alto-networks-policies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Palo Alto Networks Policies API
  x-refined-note:
  - x-description-source differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Policies across 12 of this provider''s published API definitions: palo-alto-code-policies-openapi.json, palo-alto-compute-34-03-openapi-34-03-138-sh-openapi.json, palo-alto-compute-openapi-34-04-145-sh-openapi.json, palo-alto-cwpp-34-03-openapi-34-03-138-saas-openapi.json, palo-alto-cwpp-openapi-34-04-145-saas-openapi.json, palo-alto-iot-security-api-openapi-original.yml, palo-alto-networks-policies-api-openapi.yml, palo-alto-pan-os-rest-api-openapi-original.yml, palo-alto-prisma-access-browser-api-openapi-original.yml, palo-alto-prisma-cloud-compute-api-openapi-original.yml, palo-alto-prisma-cloud-cspm-api-openapi-original.yml, palo-alto-prisma-cloud-dspm-api-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.prismacloud.io
- url: PATH_TO_CONSOLE
- url: https://{customer}.iot.paloaltonetworks.com/pub/v4.0
  description: IoT Security API production server.
  variables:
    customer:
      description: Customer-specific tenant identifier.
      default: customer-tenant
- url: https://api.stratacloud.paloaltonetworks.com/aiops/bpa/v1
  description: AIOps for NGFW BPA API production server.
- url: https://{firewall}/restapi/v10.2
  description: PAN-OS firewall or Panorama REST API endpoint.
  variables:
    firewall:
      description: Hostname or IP address of the PAN-OS firewall or Panorama appliance.
      default: firewall.example.com
- url: https://api.sase.paloaltonetworks.com/browser-mgmt
  description: SASE Prisma Access Browser Management API production server.
- url: https://{console}/api/v1
  description: Prisma Cloud Compute Console API.
  variables:
    console:
      default: console.example.com
      description: Address of the Prisma Cloud Compute Console. For SaaS deployments, use the address provided in Prisma Cloud under Compute > Manage > System > Utilities.
- url: https://api2.prismacloud.io
  description: Prisma Cloud API (US region 2).
- url: https://api3.prismacloud.io
  description: Prisma Cloud API (US region 3).
- url: https://api.eu.prismacloud.io
  description: Prisma Cloud API (EU).
- url: https://api.anz.prismacloud.io
  description: Prisma Cloud API (ANZ).
- url: https://api.sg.prismacloud.io
  description: Prisma Cloud API (Singapore).
- url: https://api.ca.prismacloud.io
  description: Prisma Cloud API (Canada).
tags:
- name: Policies
paths:
  /code/api/v1/policies/definition/{queryId}:
    post:
      description: "Prisma Cloud Application Security supports policy-as-code capabilities using YAML-based policy definition files to enable attribute and connection checks (composite checks).\n\n For information on defining YAML-based policies, see the Prisma Cloud documentation about the [Code Editor](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/custom-build-policy-examples). If you are upgraded to Darwin, see  [Code Editor](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/custom-build-policy-examples).\n\n To use the API request, add your token to the header. API supports both YAML and JSON configuration of Prisma Cloud Application Security custom policy schema.\n\n This API is used to validate a user defined Prisma Cloud Application Security YAML-based custom policy schema. It returns an array of errors for not supported keys, values, and more. This call is used to verify that a custom policy which is about to be saved is properly configured.\n\n Policy definitions include the following types:\noption 1 - \"attribute\" block (defined by cond_type=attribute) - checks the specific attributes of a given resource type\noption 2 - \"connection\" block (defined by cond_type=connection) - checks the existence of connection between given two resource group types\noption 3 - \"filter\" block (defined by cond_type=filter) - return given resource group types\noption 4 - \"and\"/\"or\"  - structure that supports nested \"and\"/\"or\" logic and blocks for options 1, 2 and 3\nUse the given examples as a reference for configuring the API request body."
      operationId: validateCustomPolicy
      parameters:
      - in: path
        name: queryId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              definition:
                or:
                - attribute: instance_type
                  cond_type: attribute
                  operator: equals
                  resource_types:
                  - aws_instance
                  value: t3.micro
                - attribute: instance_type
                  cond_type: attribute
                  operator: equals
                  resource_types:
                  - aws_instance
                  value: t3.nano
              metadata:
                category: networking
                guidelines: In order to avoid compute issues in this account - change manually instances to be at least from type t3.small
                name: Org's compute instances should not be t3.micro or t3.nano
                severity: high
              scope:
                provider: aws
            schema:
              $ref: '#/components/schemas/PolicyValidation'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsReturn'
          description: Policy definition
        '400':
          description: Invalid policy
        '403':
          description: Payment required
        '422':
          description: Request arguments validation error
      security:
      - CustomAuthorizer: []
      summary: Validate Policies - Code-based
      tags:
      - Policies
      x-codeSamples:
      - lang: Python + Requests
        source: "import requests\n\nurl = \"https://api.prismacloud.io/code/api/v1/policies/definition/{queryId}\"\n\npayload = {\n    \"definition\": {\n        \"attribute\": \"string\",\n        \"cond_type\": \"attribute\",\n        \"operator\": \"within\",\n        \"resource_types\": {\n            \"property1\": {\n                \"arguments\": [\"string\"],\n                \"provider\": \"string\"\n            },\n            \"property2\": {\n                \"arguments\": [\"string\"],\n                \"provider\": \"string\"\n            }\n        },\n        \"value\": \"string\"\n    },\n    \"metadata\": {\n        \"category\": \"elasticsearch\",\n        \"guidelines\": \"string\",\n        \"name\": \"string\",\n        \"severity\": \"critical\"\n    },\n    \"scope\": {\"provider\": \"aws\"}\n}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"authorization\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://api.prismacloud.io/code/api/v1/policies/definition/{queryId} \\\n  --header 'authorization: REPLACE_KEY_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{\"definition\":{\"attribute\":\"string\",\"cond_type\":\"attribute\",\"operator\":\"within\",\"resource_types\":{\"property1\":{\"arguments\":[\"string\"],\"provider\":\"string\"},\"property2\":{\"arguments\":[\"string\"],\"provider\":\"string\"}},\"value\":\"string\"},\"metadata\":{\"category\":\"elasticsearch\",\"guidelines\":\"string\",\"name\":\"string\",\"severity\":\"critical\"},\"scope\":{\"provider\":\"aws\"}}'"
    servers:
    - url: https://api.prismacloud.io
  /code/api/v1/policies:
    post:
      deprecated: true
      description: "Prisma Cloud Application Security supports policy-as-code capabilities using YAML-based policy definition files to enable attribute and connection checks (composite checks).\n\n For information on defining YAML-based policies, see the Prisma Cloud documentation about the [Code Editor](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/custom-build-policy-examples). If you are upgraded to Darwin, see  [Code Editor](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/custom-build-policy-examples).\n\n To use the API request, add your token to the header. API supports both YAML and JSON configuration of Prisma Cloud Application Security custom policy schema.\n\n This API creates a new Prisma Cloud Application Security custom policy.\n\n The input will be a code-based policy definition file. The output will be a new policy id. In case of invalid code - output will include definition errors.\nUse the given examples as a reference for configuring the API request body for saving new policies.\n:::info\nUse the CSPM endpoint [Add Policy](/prisma-cloud/api/cspm/add-policy/) in place of this endpoint.\n:::"
      operationId: savePolicy
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ErrorMessage'
                - $ref: '#/components/schemas/PolicyRes'
          description: Save a new policy data
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '202':
          description: Operation Accepted
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: Policy Validation Error
        '403':
          description: Payment required
        '422':
          description: Request arguments validation error
        '500':
          description: Failed to create new policy
      security:
      - CustomAuthorizer: []
      summary: Save New Policy
      tags:
      - Policies
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        responseParameters:
          method.response.header.Access-Control-Allow-Headers: '''Content-Type,X-Amz-Date,Authorization,X-Api-Key'''
          method.response.header.Access-Control-Allow-Methods: '''*'''
          method.response.header.Access-Control-Allow-Origin: '''*'''
          method.response.header.Access-Control-Expose-Headers: '''etag'''
        type: aws_proxy
        uri: policies_api_arn
      x-codeSamples:
      - lang: Python + Requests
        source: "import requests\n\nurl = \"https://api.prismacloud.io/code/api/v1/policies\"\n\npayload = {}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"authorization\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://api.prismacloud.io/code/api/v1/policies \\\n  --header 'authorization: REPLACE_KEY_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{}'"
    servers:
    - url: https://api.prismacloud.io
  /code/api/v1/policies/table/data:
    get:
      deprecated: true
      description: "Prisma Cloud Application Security supports policy-as-code capabilities using YAML-based policy definition files to enable attribute and connection checks (composite checks).\n\n For information on defining YAML-based policies, see the Prisma Cloud documentation about the [Code Editor](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/custom-build-policy-examples). If you are upgraded to Darwin, see  [Code Editor](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/custom-build-policy-examples).\n\n To use the API request, add your token to the header. API supports both YAML and JSON configuration of Prisma Cloud Application Security custom policy schema.\n\n This API gets all Prisma Cloud Application Security custom policies with count of passed, failed, suppressed resources, scan status (compliant/non-compliant), and attached benchmarks of specific policies.\n\n Use the given examples as a reference for the expected output of this API request.\n:::info \n Use the CSPM endpoint [List Policies V2](/prisma-cloud/api/cspm/get-policies-v-2/) in place of this endpoint.\n :::"
      operationId: getCustomPoliciesTable
      parameters: []
      responses:
        '200':
          content:
            application/json:
              examples:
                Example 1:
                  value:
                    data:
                    - accountsData: {}
                      benchmarks:
                        CIS AWS V1.2:
                        - id
                        CIS AZURE V1.1:
                        - id
                        CIS KUBERNETES V1.5:
                        - id
                        HIPAA:
                        - id_1
                        - id_2
                        - id_3
                        - id_4
                        - id_5
                        - id_6
                        PCI-DSS V3.2:
                        - id_1
                        - id_2
                      category: IAM
                      code: null
                      conditionQuery: null
                      createdBy: null
                      guideline: https://docs
                      id: POLICY_ID
                      isCustom: false
                      provider: AWS
                      resourceTypes:
                      - aws_root
                      severity: CRITICAL
                      title: Title of the policy
                    - accountsData:
                        owner/repo:
                          amounts:
                            AWAITING_REMEDIATION: 0
                            CLOSED: 0
                            DELETED: 0
                            OPEN: 1
                            REMEDIATED: 0
                            SUPPRESSED: 0
                          lastUpdateDate: '2021-06-14T10:27:15.230Z'
                        owner2/repo2:
                          amounts:
                            AWAITING_REMEDIATION: 0
                            CLOSED: 0
                            DELETED: 0
                            OPEN: 1
                            REMEDIATED: 0
                            SUPPRESSED: 0
                          lastUpdateDate: '2021-06-14T10:27:11.490Z'
                      benchmarks:
                        CIS AWS V1.2:
                        - id
                        CIS AZURE V1.1:
                        - id
                        CIS KUBERNETES V1.5:
                        - id
                        HIPAA:
                        - id_1
                        - id_2
                        - id_3
                        - id_4
                        - id_5
                        - id_6
                        PCI-DSS V3.2:
                        - id_1
                        - id_2
                      category: IAM
                      code: null
                      conditionQuery: null
                      createdBy: null
                      guideline: https://docs
                      id: POLICY_ID
                      isCustom: false
                      provider: AWS
                      resourceTypes:
                      - aws_iam_user_policy
                      - aws_iam_user_policy_attachment
                      - aws_iam_policy_attachment
                      severity: CRITICAL
                      title: Policy title
                    filters:
                      accounts:
                      - owner/repo
                      - owner2/repo2
                      benchmarks:
                      - SOC2
                      - PCI-DSS V3.2
                      - HIPAA
                      - NIST-800-53
                      - ISO27001
                      - CIS AWS V1.2
                      - CIS AWS V1.3
                      - PCI-DSS V3.2.1
                      - FEDRAMP (MODERATE)
                      - CIS GKE V1.1
                      - CIS KUBERNETES V1.5
                      - CIS EKS V1.1
                      - CIS KUBERNETES V1.6
                      - CIS GCP V1.1
                      - CIS AZURE V1.1
                      - CIS AZURE V1.3
                      - CIS DOCKER V1.2
                      category:
                      - IAM
                      - Monitoring
                      - Logging
                      - Networking
                      - Storage
                      - Serverless
                      - Public
                      - General
                      - Elasticsearch
                      - Secrets
                      createdBy:
                      - Prisma Cloud Application Security
                      - user@email.com
                      provider:
                      - Kubernetes
                      - AWS
                      - GCP
                      - Azure
                      - Docker
                      resourceTypes:
                      - aws_root
                      - aws_iam_user
                      - aws_iam_access_key
                      - aws_iam_account_password_policy
                      - aws_root_access_key
                      - google_project
                      severity:
                      - CRITICAL
                      - HIGH
                      - MEDIUM
                      - LOW
              schema:
                anyOf:
                - $ref: '#/components/schemas/PoliciesTable'
                - $ref: '#/components/schemas/ErrorMessage'
          description: Returns custom policies with benchmarks and errors count
        '500':
          description: Failed to get custom policies with benchmarks and errors count
      security:
      - CustomAuthorizer: []
      summary: Get Custom Policies Table Data
      tags:
      - Policies
      x-codeSamples:
      - lang: Python + Requests
        source: 'import requests


          url = "https://api.prismacloud.io/code/api/v1/policies/table/data"


          headers = {"authorization": "REPLACE_KEY_VALUE"}


          response = requests.request("GET", url, headers=headers)


          print(response.text)'
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url https://api.prismacloud.io/code/api/v1/policies/table/data \\\n  --header 'authorization: REPLACE_KEY_VALUE'"
    servers:
    - url: https://api.prismacloud.io
  /code/api/v1/policies/{policyId}:
    put:
      deprecated: true
      description: "Prisma Cloud Application Security supports policy-as-code capabilities using YAML-based policy definition files to enable attribute and connection checks (composite checks).\n\n For information on defining YAML-based policies, see the Prisma Cloud documentation about the [Code Editor](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/custom-build-policy-examples). If you are upgraded to Darwin, see  [Code Editor](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/custom-build-policy-examples).\n\n To use the API request, add your token to the header. API supports both YAML and JSON configuration of Prisma Cloud Application Security custom policy schema.\n\n This API request updates an existing Prisma Cloud Application Security custom policy. The API contains the fields to be edited. Any field not included in the request will remain unchanged.\n\n You can use this API request to add fields that were previously not configured. The output will be the id of updated policy.\nUse the given examples as a reference for configuring the API request body.\n\n :::info\nUse the CSPM endpoint [Update Policy](/prisma-cloud/api/cspm/update-policy/) in place of this endpoint.\n:::"
      operationId: updatePolicy
      parameters:
      - description: '- the policy Id to update'
        in: path
        name: policyId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ErrorMessage'
                - $ref: '#/components/schemas/PolicyRes'
          description: Update a policy data
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '202':
          description: Operation Accepted
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: Policy Validation Error
        '422':
          description: Request arguments validation error
        '500':
          description: Could not update policy
      security:
      - CustomAuthorizer: []
      summary: Update Policy
      tags:
      - Policies
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        responseParameters:
          method.response.header.Access-Control-Allow-Headers: '''Content-Type,X-Amz-Date,Authorization,X-Api-Key'''
          method.response.header.Access-Control-Allow-Methods: '''*'''
          method.response.header.Access-Control-Allow-Origin: '''*'''
          method.response.header.Access-Control-Expose-Headers: '''etag'''
        type: aws_proxy
        uri: policies_api_arn
      x-codeSamples:
      - lang: Python + Requests
        source: "import requests\n\nurl = \"https://api.prismacloud.io/code/api/v1/policies/{policyId}\"\n\npayload = {}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"authorization\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Shell + Curl
        source: "curl --request PUT \\\n  --url https://api.prismacloud.io/code/api/v1/policies/{policyId} \\\n  --header 'authorization: REPLACE_KEY_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{}'"
    delete:
      deprecated: true
      description: "Prisma Cloud Application Security supports policy-as-code capabilities using YAML-based policy definition files to enable attribute and connection checks (composite checks).\n\n For information on defining YAML-based policies, see the Prisma Cloud documentation about the [Code Editor](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/custom-build-policy-examples). If you are upgraded to Darwin, see  [Code Editor](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/custom-build-policy-examples).\n\n To use the API request, add your token to the header. API supports both YAML and JSON configuration of Prisma Cloud Application Security custom policy schema.\n\n This API deletes an existing Prisma Cloud Application Security custom policy. The output will be the id of deleted policy.\n\n :::info\nUse the CSPM endpoint [Delete Policy](/prisma-cloud/api/cspm/delete-policy/) in place of this endpoint.\n:::"
      operationId: removePolicy
      parameters:
      - description: '- the policy Id to delete'
        in: path
        name: policyId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                Example 1:
                  value:
                    policy: policy1
              schema:
                anyOf:
                - $ref: '#/components/schemas/ErrorMessage'
                - $ref: '#/components/schemas/PolicyRes'
          description: Remove a policy data by policy id
        '201':
          description: Policy removed
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Policy id is not exist
        '422':
          description: Request arguments validation error
        '500':
          description: Could not remove policy
      security:
      - CustomAuthorizer: []
      summary: Delete Policy
      tags:
      - Policies
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        responseParameters:
          method.response.header.Access-Control-Allow-Headers: '''Content-Type,X-Amz-Date,Authorization,X-Api-Key'''
          method.response.header.Access-Control-Allow-Methods: '''*'''
          method.response.header.Access-Control-Allow-Origin: '''*'''
        type: aws_proxy
        uri: policies_api_arn
      x-codeSamples:
      - lang: Python + Requests
        source: 'import requests


          url = "https://api.prismacloud.io/code/api/v1/policies/{policyId}"


          headers = {"authorization": "REPLACE_KEY_VALUE"}


          response = requests.request("DELETE", url, headers=headers)


          print(response.text)'
      - lang: Shell + Curl
        source: "curl --request DELETE \\\n  --url https://api.prismacloud.io/code/api/v1/policies/{policyId} \\\n  --header 'authorization: REPLACE_KEY_VALUE'"
    servers:
    - url: https://api.prismacloud.io
  /code/api/v1/policies/preview:
    post:
      description: "Prisma Cloud Application Security supports policy-as-code capabilities using YAML-based policy definition files to enable attribute and connection checks (composite checks).\n\n For information on defining YAML-based policies, see the Prisma Cloud documentation about the [Code Editor](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/classic/appsec-admin-guide/get-started/code-repositories-policy-management/custom-build-policy-examples). If you are upgraded to Darwin, see  [Code Editor](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/code-editor) and [Custom Build Policy Examples](https://docs.prismacloud.io/en/enterprise-edition/content-collections/governance/custom-build-policies/custom-build-policy-examples).\n\n To use the API request, add your token to the header. API supports both YAML and JSON configuration of Prisma Cloud Application Security custom policy schema.\n\n This API gets up to 30 results (by default) of non-compliant resources for a specific policy. The input is the policy to test and the output is an array of resources results.\n\n Use the first example to configure the API to test a policy, and use the second example as a reference of the expected output."
      operationId: policyPreview
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              policy:
                policy_preview:
                  query:
                    attribute: value
                    cond_type: attribute
                    operator: exists
                    resource_types:
                    - aws_s3_bucket
                  resource_types:
                  - aws_s3_bucket
                  scope:
                    provider: aws
              resultsNumber: 20
              token: '12345'
            schema:
              $ref: '#/components/schemas/PolicyPreviewBody'
              type: string
        description: policy query
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                Example 1:
                  value:
                    data:
                    - arn: /../folderName/account/branch/provider/resource
                      awsAccountId: owner/repo
                      code: "---\nmetadata:\n  name: \"example\" \n  guidelines: \"guidelines example\" \n  category: \"elasticsearch\" \n  severity: \"critical\" \nscope:\n  provider: \"aws\" \ndefinition: #define the conditions the policy searches for.\n  or:\n  - cond_type: \"attribute\"\n    resource_types:\n    - \"aws_instance\"\n    attribute: \"instance_type\"\n    operator: \"equals\"\n    value: \"t3.micro\"\n  - cond_type: \"attribute\"\n    resource_types:\n    - \"aws_instance\"\n    attribute: \"instance_type\"\n    operator: \"equals\"\n    value: \"t3.nano\"\n"
                      createdBy: username
                      customerName: customerName
                      file_path: filePath
                      lines:
                      - 10
                      - 20
                      resource: aws_s3_bucket.logs
                      source: ''
                      status: Pass
                    - arn: arn
                      awsAccountId: owner/repo
                      code: resource code block
                      createdBy: username
                      customerName: customerName
                      file_path: filePath
                      lines:
                      - 4
                      - 6
                      resource: aws_s3_bucket.flowbucket
                      source: ''
                      status: Fail
                    token: '12345'
              schema:
                anyOf:
                - $ref: '#/components/schemas/policyPreviewResult'
                - $ref: '#/components/schemas/ErrorMessage'
          description: Got policy preview
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
    

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