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