Palo Alto Networks Asset Explorer API
The Asset Explorer APIs enable you to list resource information filters, autocomplete suggestions for resource information filter, and list resource scan information.
The Asset Explorer APIs enable you to list resource information filters, autocomplete suggestions for resource information filter, and list resource scan information.
openapi: 3.2.0
info:
title: Palo Alto Networks Asset Explorer API
version: '1.0'
description: 'Operations tagged Asset Explorer across 3 of this provider''s published API definitions: palo-alto-cspm-assetexplorer-openapi.json, palo-alto-cspm-assetmicroservice-openapi.json, palo-alto-cspm-consolidated-spec-cspm-spec-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: "The Asset Explorer APIs enable you to list resource information filters, \nautocomplete suggestions for resource information filter, and list resource scan information.\n"
name: Asset Explorer
paths:
/filter/resource/scan_info/suggest:
get:
description: Returns an object where the keys are supported Resource Info filters and values contain default recent options.
operationId: get-resource-info-filters-and-options
responses:
'200':
content:
'*/*':
schema:
$ref: '#/components/schemas/InventoryFilterSuggestion'
description: success
security:
- x-redlock-auth: []
summary: List Resource Info Filters
tags:
- Asset Explorer
post:
description: Returns an object that includes a list of autocomplete suggestions for the specified resource info filter.
operationId: get-resource-info-filter-options
requestBody:
content:
application/json; charset=UTF-8:
schema:
$ref: '#/components/schemas/FilterSuggestionModel'
responses:
'200':
content:
'*/*':
schema:
$ref: '#/components/schemas/ParsedTableFilter'
description: success
security:
- x-redlock-auth: []
summary: List Resource Info Filter Autocomplete Suggestions
tags:
- Asset Explorer
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
/resource/scan_info:
get:
deprecated: true
description: "Returns a full breakdown of passed/failed statistics and associated policies for resources.\n:::info\n **Replacement Endpoint: [Resource Scan Info V2 - GET](/prisma-cloud/api/cspm/get-resource-scan-info-v-2)**\n:::\n\n \n\nThe query parameters enable you to add filters to your request to narrow your results.\n### Filter by Time\nThe following table has examples of common filters by time. The time filter narrows the\nresponse to resources from account onboarding until the point in time of interest.\n\nPoint in time of interest | timeAmount | timeType | timeUnit \n-------------| ---- | ----------- | -------------\n24 hours ago | 24 | **relative** | hour \n1 week ago | 1 | **relative** | week\n1 month ago | 1 | **relative** | month \n1 year ago | 1 | **relative** | year \nLatest | Not required with **to_now** | **to_now** | Defaults to **epoch**\n\n### How Current is the Returned Data?\nSince Prisma Cloud relies on snapshots of data, there can be an hour or two delay between the \ntime a resource passes or fails a policy check and the reporting of that result through this method.\n\n### Filter by Cloud Type\nYou can specify more than one cloud type to request a combination of data. For \nexample **cloud.type=gcp&cloud.type=azure** returns data for both **gcp** and **azure**.\n\n### Filter by Compliance Standard, Requirement, and/or Section \nYou can also broaden your filter by specifying any of the following query parameters more than once:\n* **policy.complianceStandard**\n* **policy.complianceRequirement**\n* **policy.complianceSection**\n"
operationId: get-resource-scan-info
parameters:
- description: Time Type
in: query
name: timeType
required: true
schema:
enum:
- relative
- to_now
type: string
- description: Time Amount. Required for **timeType** **relative**. Unused for **timeType** **to_now**
in: query
name: timeAmount
required: false
schema:
type: string
- description: Time Unit. Required for **timeType** **relative**. Unused for **timeType** **to_now**
in: query
name: timeUnit
required: false
schema:
enum:
- minute
- hour
- day
- week
- month
- year
type: string
- description: Cloud account
in: query
name: cloud.account
required: false
schema:
type: string
- description: Cloud type
in: query
name: cloud.type
required: false
schema:
enum:
- aws
- azure
- gcp
- alibaba_cloud
- oci
type: string
- description: Cloud region
in: query
name: cloud.region
required: false
schema:
type: string
- description: Account group
in: query
name: account.group
required: false
schema:
type: string
- description: Policy compliance standard. You can specify policy.complianceStandard=* to return the data for all compliance standards.
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: Maximum number of entries to be returned. A single API call retrieves a maximum of 10,000 resources, which is also the default.
in: query
name: limit
required: false
schema:
type: string
- description: Whether or not the resources were scanned and whether they passed or failed the scan. The default is **all**.
in: query
name: scan.status
required: false
schema:
enum:
- all
- passed
- failed
type: string
- description: Token identifying the required page of data. When there are multiple pages of data, the **nextPageToken** from the response can be used in this parameter
in: query
name: pageToken
required: false
schema:
type: string
- description: Policy severity
in: query
name: asset.severity
required: false
schema:
type: string
- description: Vulnerability Severity
in: query
name: vulnerability.severity
required: false
schema:
type: string
- description: Include Foreign Entities. This is only applicable for compliance flows. This is because the Asset Inventory only counts assets that belong to your cloud account, and the Compliance Dashboard includes foreign entities such as SSO or Federated Users that are not resources ingested directly from the monitored cloud accounts
in: query
name: includeEventForeignEntities
required: false
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DecoratedResourceInfoResult'
description: success
'400':
description: bad_request
security:
- x-redlock-auth: []
summary: Resource Scan Info - GET
tags:
- Asset Explorer
post:
deprecated: true
description: "Returns a full breakdown of passed/failed statistics and associated policies for resources.\n:::info\n **Replacement Endpoint: [Resource Scan Info V2 - POST](/prisma-cloud/api/cspm/post-resource-scan-info-v-2)**\n:::\n\n \n\nYou can get a list of the valid names and values for the filters body parameter through \n[List Inventory Filters V2](/prisma-cloud/api/cspm/get-asset-inventory-v-2-dashboard-filter-options).\n\n### Filter by Time\nThe time filter narrows the response to resources from account onboarding until the point in time of interest.\n\n#### Time Types\n\nTime Type | Required **timeRange.value** Parameters\n----------|-----------------\n**to_now** | No **timeRange.value** parameter required\n**relative** | **timeRange.value.amount**, **timeRange.value.unit** \n**absolute** | **timeRange.value.endTime** (**timeRange.value.startTime** is ignored)\n\n### How Current is the Returned Data?\nSince Prisma Cloud relies on snapshots of data, there can be an hour or two delay between the \ntime a resource passes or fails a policy check and the reporting of that result through this method.\n"
operationId: post-resource-scan-info
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FilterModel'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DecoratedResourceInfoResult'
description: success
'400':
description: bad_request
'404':
description: not_found
security:
- x-redlock-auth: []
summary: Resource Scan Info - POST
tags:
- Asset Explorer
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
/v2/resource/scan_info:
get:
description: "Returns a full breakdown of passed/failed statistics and associated policies for resources. \n\nThe query parameters enable you to add filters to your request to narrow your results.\n### How Current is the Returned Data?\nSince Prisma Cloud relies on snapshots of data, there can be an hour or two delay between the \ntime a resource passes or fails a policy check and the reporting of that result through this method.\n\n### Filter by Cloud Type\nYou can specify more than one cloud type to request a combination of data. For \nexample **cloud.type=gcp&cloud.type=azure** returns data for both **gcp** and **azure**.\n\n### Filter by Compliance Standard, Requirement, and/or Section \nYou can also broaden your filter by specifying any of the following query parameters more than once:\n* **policy.complianceStandard**\n* **policy.complianceRequirement**\n* **policy.complianceSection**\n"
operationId: get-resource-scan-info-v2
parameters:
- description: Cloud account
in: query
name: cloud.account
required: false
schema:
type: string
- description: Cloud type
in: query
name: cloud.type
required: false
schema:
enum:
- aws
- azure
- gcp
- alibaba_cloud
- oci
type: string
- description: Cloud region
in: query
name: cloud.region
required: false
schema:
type: string
- description: Account group
in: query
name: account.group
required: false
schema:
type: string
- description: Policy compliance standard. You can specify policy.complianceStandard=* to return the data for all compliance standards.
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: Maximum number of entries to be returned. A single API call retrieves a maximum of 10,000 resources, which is also the default.
in: query
name: limit
required: false
schema:
type: string
- description: Whether or not the resources were scanned and whether they passed or failed the scan. The default is **all**.
in: query
name: scan.status
required: false
schema:
enum:
- all
- passed
- failed
type: string
- description: Token identifying the required page of data. When there are multiple pages of data, the **nextPageToken** from the response can be used in this parameter
in: query
name: pageToken
required: false
schema:
type: string
- description: Policy severity
in: query
name: asset.severity
required: false
schema:
type: string
- description: Vulnerability Severity
in: query
name: vulnerability.severity
required: false
schema:
type: string
- description: Include Foreign Entities. This is only applicable for compliance flows. This is because the Asset Inventory only counts assets that belong to your cloud account, and the Compliance Dashboard includes foreign entities such as SSO or Federated Users that are not resources ingested directly from the monitored cloud accounts
in: query
name: includeEventForeignEntities
required: false
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DecoratedResourceInfoResult'
description: success
'400':
description: bad_request
security:
- x-redlock-auth: []
summary: Resource Scan Info V2 - GET
tags:
- Asset Explorer
post:
description: "Returns a full breakdown of passed/failed statistics and associated policies for resources. \n\nYou can get a list of the valid names and values for the filters body parameter through \n[List Inventory Filters V2](/prisma-cloud/api/cspm/get-asset-inventory-v-2-dashboard-filter-options).\n### How Current is the Returned Data?\nSince Prisma Cloud relies on snapshots of data, there can be an hour or two delay between the \ntime a resource passes or fails a policy check and the reporting of that result through this method.\n\n:::info\nThe `offset`, `sortBy`, `fields` and `detailed` fields in the request body are not supported for this endpoint\n:::"
operationId: post-resource-scan-info-v2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BaseFilterModel'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DecoratedResourceInfoResult'
description: success
'400':
description: bad_request
'404':
description: not_found
security:
- x-redlock-auth: []
summary: Resource Scan Info V2 - POST
tags:
- Asset Explorer
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
/uai/v1/asset:
post:
tags:
- Asset Explorer
summary: Get Asset
description: "Returns detailed information for the asset with the given id.\n\nThe data field in the response object contains the raw JSON blob as returned by the source cloud service provider API for the given asset.\n\nOnly the rrn parameter in the request body is used for this API. Ignore the timelineItemId and findingType fields.\n\n Ensure to add the required parameters for the asset query parameter with type as follows: \n\n | **Type** | **Conditionally Required Query Parameters** |\n| ------------------------------- | ----------------------------------------------------------------- |\n| external_finding | <ul><li>findingType</li><li>riskFactors </li></ul> |\n| alerts | alertIds |\n| attack_path | attackPathIds |\n| package_info | <ul><li>vulnerabilityInfoTypeId</li><li>filters</li></ul> |\n| labels | filters |\n| vulnerability_aggregates | filters |\n| process_info | filters |\n| vulnerabilities_group_by_type |<ul><li>vulnerabilityInfoTypeId</li><li> filters</li></ul> |\n| asset_cwp_vulns |<ul><li>vulnerabilityInfoTypeId</li><li>vulnerabilityInfoType</li><li>filters</li></ul> |\n\n"
operationId: get-asset-details-by-id
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetRequest'
required: true
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
$ref: '#/components/schemas/AssetResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Problem'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/AssetResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AssetResponse'
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
components:
schemas:
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
RelativeTimeRangeConfigModel:
allOf:
- $ref: '#/components/schemas/TimeRangeConfigModel'
- description: Model for RelativeTimeRangeConfig
properties:
relativeTimeType:
description: Direction in which to count time. Default = BACKWARD
enum:
- BACKWARD
- FORWARD
type: string
type:
example: relative
type: string
value:
allOf:
- $ref: '#/components/schemas/RelativeTimeDurationModel'
- description: Time range object
required:
- value
type: object
ScannedPolicyInfo:
properties:
id:
type: string
labels:
items:
type: string
type: array
uniqueItems: true
name:
type: string
passed:
type: boolean
severity:
enum:
- INFORMATIONAL
- LOW
- MEDIUM
- HIGH
- CRITICAL
type: string
type: object
ToNowTimeRangeConfigModel:
allOf:
- $ref: '#/components/schemas/TimeRangeConfigModel'
- description: Model for ToNowTimeRangeConfig
properties:
value:
description: Time range object
enum:
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- YEAR
- EPOCH
- LOGIN
type: string
type: object
TimeRangeConfigModel:
description: 'See the [Time Range Model](/prisma-cloud/api/cspm/api-time-range-model) for details.
'
discriminator:
mapping:
absolute: '#/components/schemas/AbsoluteTimeRangeConfigModel'
relative: '#/components/schemas/RelativeTimeRangeConfigModel'
to_now: '#/components/schemas/ToNowTimeRangeConfigModel'
propertyName: type
oneOf:
- $ref: '#/components/schemas/RelativeTimeRangeConfigModel'
- $ref: '#/components/schemas/AbsoluteTimeRangeConfigModel'
- $ref: '#/components/schemas/ToNowTimeRangeConfigModel'
properties:
type:
description: Time type
type: string
required:
- type
type: object
RelativeTimeDurationModel:
description: Model for RelativeTimeDuration
properties:
amount:
description: Number of time units
format: int32
type: integer
unit:
description: Time unit
enum:
- minute
- hour
- day
- week
- month
- year
type: string
type: object
AbsoluteTimeRangeConfigModel:
allOf:
- $ref: '#/components/schemas/TimeRangeConfigModel'
- description: Model for AbsoluteTimeRangeConfig
properties:
type:
example: absolute
type: string
value:
allOf:
- $ref: '#/components/schemas/TimeModel'
- description: Time range object
required:
- value
type: object
DecoratedResourceInfo:
description: Model for resource info and status list
properties:
accountId:
description: Account ID
type: string
accountName:
description: Account name
type: string
alertStatus:
allOf:
- $ref: '#/components/schemas/AlertStatus'
- description: Count of alerts found by their policy severity
appNames:
items:
type: string
type: array
uniqueItems: true
assetType:
description: Asset Type
type: string
cloudType:
description: Cloud type
enum:
- ALL
- AWS
- AZURE
- GCP
- ALIBABA_CLOUD
- OCI
- IBM
type: string
id:
description: Resource ID
type: string
name:
description: Resource name
type: string
overallPassed:
description: All policies passed
type: boolean
regionId:
description: Region ID
type: string
regionName:
description: Region Name
type: string
resourceConfigJsonAvailable:
description: Resource config JSON available
type: boolean
resourceDetailsAvailable:
description: Resource details available
type: boolean
rrn:
description: RRN
type: string
scannedPolicies:
description: Scanned policies
items:
$ref: '#/components/schemas/ScannedPolicyInfo'
type: array
unifiedAssetId:
description: Asset Id
type: string
vulnerabilityStatus:
allOf:
- $ref: '#/components/schemas/VulnerabilityStatus'
- description: Count of vulnerabilities found by their severity
type: object
FilterSuggestion:
description: Model for FilterSuggestion
properties:
nameValue:
description: Filter options
items:
$ref: '#/components/schemas/NameValueIntegerString'
type: array
options:
description: Filter options, which lists all the default options for static filters or all the recent options, if any, for non-static filters
items:
type: string
type: array
uniqueItems: true
staticFilter:
description: Filter is a static filter
type: boolean
type: object
ResourceInfoPageOption:
properties:
failedEventOffset:
type: boolean
lastRowIdx:
format: int64
type: integer
limit:
format: int64
type: integer
offset:
format: int64
type: integer
previousTotalMatchedCount:
format: int64
type: integer
timestamp:
format: int64
type: integer
type: object
FilterModel:
allOf:
- $ref: '#/components/schemas/BaseFilterModel'
- description: Model for Filter
properties:
timeRange:
allOf:
- $ref: '#/components/schemas/TimeRangeConfigModel'
- description: Time range
type: object
UIFilterModel:
description: Model for UIFilter
properties:
name:
description: Name
type: string
operator:
description: Operator
enum:
- tag:yaml.org,2002:value =
type: string
value:
description: Value
type: string
type: object
InventoryFilterSuggestion:
description: Model for InventoryFilterSuggestion
properties:
account.group:
$ref: '#/components/schemas/FilterSuggestion'
cloud.account:
$ref: '#/components/schemas/FilterSuggestion'
cloud.region:
$ref: '#/components/schemas/FilterSuggestion'
cloud.service:
$ref: '#/components/schemas/FilterSuggestion'
cloud.type:
allOf:
- $ref: '#/components/schemas/FilterSuggestion'
- readOnly: true
type: object
DecoratedResourceInfoResult:
description: Model for resource info and status list
properties:
nextPageToken:
allOf:
- $ref: '#/components/schemas/ResourceInfoPageOption'
- description: Use as page token to return next page of data
pageSize:
description: Page size
format: int64
type: integer
resources:
description: List of metadata for resources that match filter
items:
$ref: '#/components/schemas/DecoratedResourceInfo'
type: array
timestamp:
description: Epoch timestamp
format: int64
type: integer
totalMatchedCount:
description: Total number of filtered resources, both scanned and unscanned
format: int64
type: integer
type: object
VulnerabilityStatus:
properties:
critical:
format: int64
type: integer
high:
format: int64
type: integer
low:
format: int64
type: integer
medium:
format: int64
type: integer
type: object
ParsedTableFilter:
description: Model for parsed table filter
properties:
completeParameters:
items:
$ref: '#/components/schemas/UIFilterModel'
type: array
links:
description: JSON query builder links
type: string
needsOffsetUpdate:
description: Needs offset update (for internal use)
type: boolean
offset:
description: Offset within query
format: int32
type: integer
queryRemainder:
description: Query remainder
type: string
suggestions:
description: List of suggestions
items:
type: string
type: array
translate:
description: Translate (for internal use)
type: boolean
valid:
description: Query is valid
type: boolean
type: object
BaseFilterModel:
description: Model for Filter
discriminator:
propertyName: type
properties:
detailed:
description: Detailed
type: boolean
fields:
description: Array of specific fields to return
items:
type: string
type: array
filters:
description: "Filtering parameters. \n\nFor filter names, refer to List Filters API. \n\nFor filter values, refer to List filter suggestions. \n\nThe only exception is **resource.tagv2** filter name, provide filter value for it in the following format: \"{\"key\":\"'CustomerTagKey'\",\"value\":\"'CustomerTagValue'\"}\""
items:
$ref: '#/components/schemas/UIFilterModel'
type: array
groupBy:
description: For asset or data inventory only. Group returned items by **cloud.type**, **cloud.service**, **cloud.region**, **cloud.account**, and/or **resource.type**
items:
type: string
type: array
limit:
description: Maximum number of items to return. When data is paginated, maximum number of items per page.The maximum cannot exceed 10,000. The default is 10,000.
type: number
offset:
description: The number of items to skip before selecting items to return. Default is zero
type: number
pageToken:
description: 'Setting this pagination Token to the **nextPageToken** from a response object returns the next page of data '
type: string
sortBy:
description: Array of sort properties. Append **:asc** or **:desc** to the key to sort by ascending or descending order respectively. Example sort properties are **id:asc** and **timestamp:desc**
items:
type: string
type: array
type:
# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-asset-explorer-api-openapi.yml