Palo Alto Networks BPA Report API API
The BPA Report API API from Palo Alto Networks — 3 operation(s) for bpa report api.
The BPA Report API API from Palo Alto Networks — 3 operation(s) for bpa report api.
openapi: 3.2.0
info:
contact: {}
description: 'Programmatically request Best Practice Assessment Data for both free and premium instances of AIOps.
'
license:
name: MIT
termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf
title: Best Practice Assessment Report BPA Report API API
version: '1.0'
servers:
- url: https://bpa.paloaltonetworks.com
tags:
- name: BPA Report API
paths:
/bpa/v1/jobs/{id}:
get:
description: Downloads the BPA assessment job status.
operationId: get-bpa-v1-jobs-id
parameters:
- $ref: '#/components/parameters/id'
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/job-id'
- properties:
status:
description: The status of the report generation job.
enum:
- UPLOAD_INITIATED
- CONFIG_PARSED
- COMPLETED_WITH_SUCCESS
- COMPLETED_WITH_ERROR
type: object
description: OK
'404':
description: Not Found
'500':
description: Internal Server Error
security:
- Bearer: []
servers:
- url: https://api.stratacloud.paloaltonetworks.com/aiops
summary: Get Job Status
tags:
- BPA Report API
/bpa/v1/reports/{id}:
get:
description: "Retrieves the url for the completed BPA report. The `download-url` field contains a [signed \nURL](https://cloud.google.com/storage/docs/access-control/signed-urls) where you can download the report.\n\n> Note that this API endpoint should only be called when the report generation status is `COMPLETED_WITH_SUCCESS`.\n"
operationId: get-bpa-v1-reports-id
parameters:
- $ref: '#/components/parameters/id'
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/job-id'
- properties:
download-url:
description: The signed URL that will be used to download the Best Practices Assessment (BPA) report.
example: https://storage.googleapis.com/taskId/config.xml?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=key%40project.iam.gserviceaccount.com%2F20230803%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20230803T172537Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=046d2e0e5f7c8f5100f50e8f057bcc222fcab2658bdc5cf4b4078dc93ef9dac5b815ed368afb09f2580cbc91818e49f0b9fe32857c13734f7b1bc131b6cd4ff370f5e5ffa839b6d9a4557ce3221324baa9e6cf6469088672b6688ba12c0765945f0a609e26c5878a3f16bd6f51108db2f2e71d3b532583d7713d6497cf1e942b0b295fcc4bf7d2c6ce5e479ac1ca5ed0f79bc5c1f36b234b678183ecfe0b27ee0c911fe529bfbe6cf9b3896230b9ab0a4a651dcd9babdbc1921fb0a513cf640f4e024c2523c9c3f3582ec19b3dac5b83cf44492305f69bb0545d1a0681e0c9cf7f5477bbdbf73f3f4352b8613d74a8f2d974e9a2b49187b6bd8e5df6a96e0f69
format: uri
type: string
type: object
description: OK
'400':
description: Bad Request
'404':
description: Not Found
'500':
description: Internal Server Error
security:
- Bearer: []
servers:
- url: https://api.stratacloud.paloaltonetworks.com/aiops
summary: Get BPA Reports
tags:
- BPA Report API
/bpa/v1/requests:
post:
description: "Initiates the BPA report generation process using the configurable options.\n\nWhen you use a POST request to initiate a report generation, the response contains an `upload-url` field. This field contains a [signed URL](https://cloud.google.com/storage/docs/access-control/signed-urls). Use the signed URL to upload a PAN-OS [configuration file](https://docs.paloaltonetworks.com/pan-os/11-0/pan-os-admin/firewall-administration/manage-configuration-backups/save-and-export-firewall-configurations) to generate the report. \n\nThe `id` field contains the report generation job ID that you can use to track the report generation completion status. The generation time can vary depending on the size of the configuration file. For configuartion files under 100 megabytes, you can expect a report in about 10 seconds. You can [request the status of a generated BPA report](/aiops-ngfw-bpa/api/get-bpa-v-1-jobs-id/) to get the current completion status.\n\nBelow is an example curl request you can use to upload your XML configuration file to the generated signed-URL you receive in the response: \n```\ncurl -X PUT --upload-file ${path/to/file} '${signed-upload-url}'\n```"
operationId: post-bpa-v1-requests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/report-request'
application/xml:
schema:
type: object
responses:
'201':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/job-id'
- $ref: '#/components/schemas/report-request'
- properties:
upload-url:
description: The signed URL that will be used to upload the PAN-OS configuration file.
example: https://storage.googleapis.com/taskId/config.xml?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=key%40project.iam.gserviceaccount.com%2F20230803%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20230803T172537Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=046d2e0e5f7c8f5100f50e8f057bcc222fcab2658bdc5cf4b4078dc93ef9dac5b815ed368afb09f2580cbc91818e49f0b9fe32857c13734f7b1bc131b6cd4ff370f5e5ffa839b6d9a4557ce3221324baa9e6cf6469088672b6688ba12c0765945f0a609e26c5878a3f16bd6f51108db2f2e71d3b532583d7713d6497cf1e942b0b295fcc4bf7d2c6ce5e479ac1ca5ed0f79bc5c1f36b234b678183ecfe0b27ee0c911fe529bfbe6cf9b3896230b9ab0a4a651dcd9babdbc1921fb0a513cf640f4e024c2523c9c3f3582ec19b3dac5b83cf44492305f69bb0545d1a0681e0c9cf7f5477bbdbf73f3f4352b8613d74a8f2d974e9a2b49187b6bd8e5df6a96e0f69
format: uri
type: string
type: object
description: Generated the BPA Report
'400':
description: Bad Request
'500':
description: Internal Server Error
security:
- Bearer: []
servers:
- url: https://api.stratacloud.paloaltonetworks.com/aiops
summary: Generate BPA Report
tags:
- BPA Report API
components:
schemas:
report-request:
properties:
family:
description: The platform family of the device.
enum:
- 7000f
- 5400f
- 5200f
- 5000f
- 3400f
- 3200f
- 3000f
- 1400f
- 800f
- 400f
- 220f
- vm
- m
model:
description: The model of the device.
enum:
- PA-7080
- PA-7050
- PA-5450
- PA-5440
- PA-5430
- PA-5420
- PA-5410
- PA-5280
- PA-5260
- PA-5240
- PA-5220
- PA-5060
- PA-5050
- PA-5020
- PA-3440
- PA-3430
- PA-3420
- PA-3410
- PA-3260
- PA-3250
- PA-3220
- PA-3050
- PA-3020
- PA-1420
- PA-1410
- PA-850
- PA-820
- PA-460
- PA-450
- PA-445
- PA-440
- PA-415
- PA-410
- PA-220
- PA-220R
- Panorama
requester-email:
description: The email address of the person requesting the BPA report.
example: joe@alvisofincorp.com
format: email
type: string
requester-name:
description: The name of the person requesting the BPA report.
example: Joe User
type: string
serial:
description: The serial number of the device.
example: '023101010101'
type: string
version:
description: The PAN-OS version of the device. The API supports versions such as 11.0 or 11.0.1.
example: 10.2.4
type: string
required:
- requester-name
- requester-email
- serial
- model
- family
- version
title: report-request
type: object
job-id:
properties:
id:
description: The generated report ID.
example: 123e4567-e89b-12d3-a456-426655440000
format: uuid
type: string
title: id
type: object
parameters:
id:
description: The unique identifier for the request.
in: path
name: id
required: true
schema:
example: 123e4567-e89b-12d3-a456-426655440000
format: uuid
type: string
securitySchemes:
Bearer:
scheme: bearer
type: http