Palo Alto Networks IAM API

Prisma Cloud identity and access management (IAM) security provides: * Visiblity—Query all relevant IAM entities * Gonvernance—Monitor your cloud environment for overly-used permissions * Response—Automatically remediate permissions The IAM security endpoints enable you to investigate IAM data programmatically. See [Primsa Cloud IAM Security](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-iam-security/what-is-prisma-cloud-iam-security.html) for more information. ### Error Handling Like other Prisma Cloud public API requests, the IAM security API requests return standard HTTP response codes. Unlike most other CSPM API error handling, IAM security API error responses do not include an [x-redlock-status](//prisma-cloud/api/cspm/api-errors) in the response header. ### Pagination You can control the number of items in a response for endpoints that support pagination. Use request parameter **limit** to control the maximum number of items in a response. If the response includes **data.nextPageToken**, use **data.nextPageToken** as the request parameter **pageToken** in a request for the next page of data. The following table summarizes the request parameters for pagination: Request Parameter | Description -----------| ------- **limit** | Maximum number of items to return in a page. **pageToken** | Use the **data.nextPageToken** value from the previous response object to return the next page of data.

Operations 21

POST /api/v1/permission Get Permissions #
POST /api/v1/permission/page Get Permissions Next Page #
POST /api/v1/permission/access Get Permissions Access #
POST /api/v1/permission/access/page Get Permissions Access Next Page #
POST /api/v1/permission/alert/remediation Get Remediation #
GET /api/v1/permission/alert/search Get IAM Query #
POST /api/v1/suggest Get Query Suggestions #
POST /iam/api/v3/search/permission Get Permissions V3 #
POST /iam/api/v4/search/permission Get Permissions V4 #
POST /iam/api/v3/permission/{permission-id}/list_access Get Permission Accesses V3 #
POST /iam/api/v2/suggestion Get Query Suggestions V2 #
POST /iam/api/v2/search/iam_config Get Permissions Role or Policy Definition V2 #
GET /iam/api/v2/alert/{alertId}/remediation_command Get Remediation Command #
GET /iam/api/v2/alert/{alertId}/query Get IAM Query V2 #
GET /iam/api/v1/assets/{assetId}/over-permissive-metadata Get Least Privilege Access Metadata of an Asset #
GET /iam/api/v1/assets/{assetId}/existing-least-privileged-access Get Existing Least Privilege Access Suggestions for an Asset #
GET /iam/api/v1/assets/{assetId}/custom-least-privileged-access Get New Least Privilege Access Suggestions for an Asset #
GET /iam/api/v1/resources/{resourceId}/over-permissive-metadata Get Least Privilege Access Metadata of a Resource #
GET /iam/api/v1/resources/{resourceId}/existing-least-privileged-access Get Least Privilege Access Suggestions for a Resource #
GET /iam/api/v1/resources/{resourceId}/custom-least-privileged-access Get New Least Privilege Access Suggestions for a Resource #

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-iam-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-iam-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Palo Alto Networks IAM API
  version: '1.0'
  description: 'Operations tagged IAM across 3 of this provider''s published API definitions: palo-alto-cspm-consolidated-spec-cspm-spec-openapi.json, palo-alto-cspm-iammicroservice-openapi.json, palo-alto-cspm-iamv2microservice-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:
- name: IAM
  description: "Prisma Cloud identity and access management (IAM) security provides:\n* Visiblity—Query all relevant IAM entities\n* Gonvernance—Monitor your cloud environment for overly-used permissions\n* Response—Automatically remediate permissions\n\nThe IAM security endpoints enable you to investigate IAM data programmatically.\n\nSee [Primsa Cloud IAM Security](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-iam-security/what-is-prisma-cloud-iam-security.html)\nfor more information.\n\n\n### Error Handling\n\nLike other Prisma Cloud public API requests, the IAM security API requests return standard HTTP response codes. \nUnlike most other CSPM API error handling, IAM security API error responses do not include an [x-redlock-status](//prisma-cloud/api/cspm/api-errors)\nin the response header.\n\n\n### Pagination\n\nYou can control the number of items in a response for endpoints that support pagination. \nUse request parameter **limit** to control the maximum number of items in a response. If the response includes\n**data.nextPageToken**, use **data.nextPageToken** as the request parameter **pageToken** in a request for\nthe next page of data. \n\nThe following table summarizes the request parameters for pagination:\n\nRequest Parameter  | Description  \n-----------| -------\n**limit** | Maximum number of items to return in a page.\n**pageToken** | Use the **data.nextPageToken** value from the previous response object to return the next page of data.\n"
paths:
  /api/v1/permission:
    post:
      tags:
      - IAM
      summary: Get Permissions
      description: 'Returns the results of a given [IAM query](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-reference/iam-query.html).


        If you set the **Accept** request header to **appliation/json**, the response object contains an array of items with permissions data.


        The request parameter **limit** determines the number of items—for example, permissions—in the response object. If the amount of available data is greater than the specified **limit**, use the response object attribute **data.nextPageToken** as the request parameter **pageToken** in [Get Permissions Next Page](/prisma-cloud/api/cspm/get-next-permissions-page-with-post) to request the next page of data.


        If you set the **Accept** request header to **text/csv**, the response is a CSV that contains permissions details.'
      operationId: get-permissions-with-post
      requestBody:
        description: Model for Permission Search Request DTO
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionSearchRequestDto'
        required: true
      security:
      - x-redlock-auth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionSearchResponseDto'
            text/csv:
              schema:
                type: string
        '201':
          description: Created
        '401':
          description: Unauthorize
        '403':
          description: Forbidden
        '404':
          description: Not Found
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /api/v1/permission/page:
    post:
      tags:
      - IAM
      summary: Get Permissions Next Page
      operationId: get-next-permissions-page-with-post
      description: Given a request parameter **pageToken**, returns the next page of permissions data. You can find the value for **pageToken** from the response object of a previous request to [Get Permissions](/prisma-cloud/api/cspm/get-permissions-with-post).
      requestBody:
        description: Model for Permission Search Page Request DTO
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionSearchPageRequestDto'
        required: true
      security:
      - x-redlock-auth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionSearchResultDataDto'
            text/plain:
              schema:
                $ref: '#/components/schemas/PermissionSearchResultDataDto'
        '201':
          description: Created
        '401':
          description: Unauthorize
        '403':
          description: Forbidden
        '404':
          description: Not Found
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /api/v1/permission/access:
    post:
      tags:
      - IAM
      summary: Get Permissions Access
      description: "Given a permission ID and an \n[IAM query](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-reference/iam-query.html),\nreturns data about the actual permission usage (last access).\n\n\nThe request parameter **limit** determines the number of items—that is, last access—in the response object. \n\n\nIf the amount of available data is greater than the \nspecified **limit**, use the response object attribute **data.nextPageToken** as the request parameter **pageToken** in \n[Get Permissions Access Next Page](/prisma-cloud/api/cspm/get-next-permissions-access-with-post) to request the\nnext page of data.\n"
      operationId: get-permissions-access-with-post
      requestBody:
        description: Model for Permission Access Request DTO
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionAccessRequestDto'
        required: true
      security:
      - x-redlock-auth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionAccessResponseDto'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /api/v1/permission/access/page:
    post:
      tags:
      - IAM
      summary: Get Permissions Access Next Page
      description: "Given a request parameter **pageToken**, returns the next page of permissions data.\nYou can find the value for **pageToken** from the response object of a previous request to \n[Get Permissions Access](/prisma-cloud/api/cspm/get-permissions-access-with-post)\n"
      operationId: get-next-permissions-access-with-post
      requestBody:
        description: Model for Permission Access Page Request DTO
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionAccessPageRequestDto'
        required: true
      security:
      - x-redlock-auth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionAccessResultDataDto'
        '201':
          description: Created
        '401':
          description: Unauthorize
        '403':
          description: Forbidden
        '404':
          description: Not Found
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /api/v1/permission/alert/remediation:
    post:
      tags:
      - IAM
      summary: Get Remediation
      operationId: get-remediation-with-post
      description: Returns a list of remediations for the specified alert IDs.
      requestBody:
        description: Model for RemediationRequestDto
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemediationRequestDto'
        required: true
      security:
      - x-redlock-auth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemediationResponseDto'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /api/v1/permission/alert/search:
    get:
      tags:
      - IAM
      summary: Get IAM Query
      operationId: get-rql-with-get
      description: Returns the IAM query for the specified alert ID.
      parameters:
      - name: alertId
        in: query
        description: alertId
        required: true
        schema:
          type: string
      security:
      - x-redlock-auth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RqlResponseDto'
        '401':
          description: Unauthorize
        '403':
          description: Forbidden
        '404':
          description: Not Found
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /api/v1/suggest:
    post:
      tags:
      - IAM
      summary: Get Query Suggestions
      operationId: get-suggestions-with-post
      description: Given a partial IAM query, returns suggestions to append to your query either to create a complete valid IAM query or to build a further partial query. Also indicates whether or not the query you input is already a valid IAM query.
      requestBody:
        description: Model for SuggestRequestDto
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuggestRequestDto'
        required: true
      security:
      - x-redlock-auth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestResponseDto'
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
  /iam/api/v3/search/permission:
    post:
      tags:
      - IAM
      summary: Get Permissions V3
      description: Returns a page of permissions and a page token for the next page if applicable
      operationId: search-permissions-v3
      parameters:
      - name: limit
        in: query
        description: Query records limit
        required: false
        schema:
          type: integer
          format: int32
        example: 5
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionSearchRequestDtoV3'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionSearchResponseDtoV3'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Throttled
          headers:
            X-RateLimit-Remaining:
              style: simple
              schema:
                type: integer
            X-RateLimit-Requested-Tokens:
              style: simple
              schema:
                type: integer
            X-RateLimit-Burst-Capacity:
              style: simple
              schema:
                type: integer
            X-RateLimit-Replenish-Rate:
              style: simple
              schema:
                type: integer
      x-microservice: 'true'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    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
  /iam/api/v4/search/permission:
    post:
      tags:
      - IAM
      summary: Get Permissions V4
      description: Returns permissions grouped by requested fields and a page token for the next page if applicable.
      operationId: permission-search-v4
      parameters:
      - name: limit
        in: query
        description: Query records limit
        required: false
        schema:
          type: integer
          format: int32
        example: 100
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionSearchV4RequestDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionSearchV4ResponseDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Throttled
          headers:
            X-RateLimit-Remaining:
              style: simple
              schema:
                type: integer
            X-RateLimit-Requested-Tokens:
              style: simple
              schema:
                type: integer
            X-RateLimit-Burst-Capacity:
              style: simple
              schema:
                type: integer
            X-RateLimit-Replenish-Rate:
              style: simple
              schema:
                type: integer
      x-microservice: 'true'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    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
  /iam/api/v3/permission/{permission-id}/list_access:
    post:
      tags:
      - IAM
      summary: Get Permission Accesses V3
      description: Returns a page of permission's last acceses and a page token for the next page if applicable
      operationId: permissions-accesses-v3
      parameters:
      - name: permission-id
        in: path
        description: The permission id. Can be retrieved from search/permission api
        required: true
        schema:
          type: string
          description: The permission id. Can be retrieved from search/permission api
          example: 06c3cb4403ac276ff59679139b8e6afca2afe93100c8b39014f033ca0339ff0f
        example: 06c3cb4403ac276ff59679139b8e6afca2afe93100c8b39014f033ca0339ff0f
      - name: limit
        in: query
        description: Query records limit
        required: false
        schema:
          type: integer
          format: int32
        example: 5
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionAccessRequestDtoV3'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionAccessResponseDtoV3'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Throttled
          headers:
            X-RateLimit-Remaining:
              style: simple
              schema:
                type: integer
            X-RateLimit-Requested-Tokens:
              style: simple
              schema:
                type: integer
            X-RateLimit-Burst-Capacity:
              style: simple
              schema:
                type: integer
            X-RateLimit-Replenish-Rate:
              style: simple
              schema:
                type: integer
      x-microservice: 'true'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    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
  /iam/api/v2/suggestion:
    post:
      tags:
      - IAM
      summary: Get Query Suggestions V2
      description: Suggest auto completion for RQL and notify whether the current RQL is valid or not
      operationId: iam-suggest-v2
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuggestRequestDto_2'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestResponseDto_2'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Throttled
          headers:
            X-RateLimit-Remaining:
              style: simple
              schema:
                type: integer
            X-RateLimit-Requested-Tokens:
              style: simple
              schema:
                type: integer
            X-RateLimit-Burst-Capacity:
              style: simple
              schema:
                type: integer
            X-RateLimit-Replenish-Rate:
              style: simple
              schema:
                type: integer
      x-microservice: 'true'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    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
  /iam/api/v2/search/iam_config:
    post:
      tags:
      - IAM
      summary: Get Permissions Role or Policy Definition V2
      description: Returns the raw config (policy/role definition) which the permission was calculated from
      operationId: permission-raw-config-definition
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionRawDataRequestDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionRawDataResponseDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Throttled
          headers:
            X-RateLimit-Remaining:
              style: simple
              schema:
                type: integer
            X-RateLimit-Requested-Tokens:
              style: simple
              schema:
                type: integer
            X-RateLimit-Burst-Capacity:
              style: simple
              schema:
                type: integer
            X-RateLimit-Replenish-Rate:
              style: simple
              schema:
                type: integer
      x-microservice: 'true'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    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
  /iam/api/v1/asset/{asset-id}/related-asset:
    post:
      tags:
      - IAM
      summary: Get Cloud Identity Inventory (CII) Resource Related Assets
      description: Get assets related to Cloud Identity Inventory (CII) resource.
      operationId: cii-related-assets-v1
      parameters:
      - name: asset-id
        in: path
        description: The asset UAI where you want to find it related assets
        required: true
        schema:
          type: string
          description: The asset UAI where you want to find it related assets
          example: 681390424b288d835f5cd03e7bfb0993
        example: 681390424b288d835f5cd03e7bfb0993
      - name: limit
        in: query
        description: Query client records limit, return MAX(0, MIN(client.limit, service.limit))
        required: false
        schema:
          type: string
          description: Query client records limit, return MAX(0, MIN(client.limit, service.limit))
          example: 5
        example: 5
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudAssetRelatedAssetsRequestDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudAssetRelatedAssetsResponseDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Throttled
          headers:
            X-RateLimit-Remaining:
              style: simple
              schema:
                type: integer
            X-RateLimit-Requested-Tokens:
              style: simple
              schema:
                type: integer
            X-RateLimit-Burst-Capacity:
              style: simple
              schema:
                type: integer
            X-RateLimit-Replenish-Rate:
              style: simple
              schema:
                type: integer
      x-microservice: 'true'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    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
  /iam/api/v2/alert/{alertId}/remediation_command:
    get:
      tags:
      - IAM
      summary: Get Remediation Command
      description: Get remediation command for an alert
      operationId: alert-remediation-command
      parameters:
      - name: alertId
        in: path
        description: The alert id
        required: true
        schema:
          type: string
          description: The alert id
          example: I-34537
        example: I-34537
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemediationResponseDtoV2'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Throttled
          headers:
            X-RateLimit-Remaining:
              style: simple
              schema:
                type: integer
            X-RateLimit-Requested-Tokens:
              style: simple
              schema:
                type: integer
            X-RateLimit-Burst-Capacity:
              style: simple
              schema:
                type: integer
            X-RateLimit-Replenish-Rate:
              style: simple
              schema:
                type: integer
      x-microservice: 'true'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    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
  /iam/api/v2/alert/{alertId}/query:
    get:
      tags:
      - IAM
      summary: Get IAM Query V2
      description: Returns the query associated with an alert instance
      operationId: investigate-alert
      parameters:
      - name: alertId
        in: path
        description: The alert id
        required: true
        schema:
          type: string
          description: The alert id
          example: I-34537
        example: I-34537
      re

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