Palo Alto Networks Config Upload API
Config file upload for BPA result.
Config file upload for BPA result.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/palo-alto-networks-config-upload-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Posture Management Config Upload API
description: 'This API provides comprehensive posture management capabilities including:
- Custom posture check management (create, update, delete, clone, batch operations)
- Config file upload for BPA (Best Practice Assessment) results
- Config cleanup for identifying unused or redundant configuration objects
- Compliance framework definition management (create, update, delete, release)
- Compliance analytics and reporting
- Benchmark monitoring and BPC (Best Practice Check) verdict tracking
'
version: 1.1.0
termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf
contact:
email: support@paloaltonetworks.com
name: Palo Alto Networks Technical Support
url: https://support.paloaltonetworks.com
license:
name: MIT
url: https://opensource.org/license/mit
servers:
- url: https://api.strata.paloaltonetworks.com/posture
description: Current
security:
- BearerAuth: []
tags:
- name: Config Upload
description: Config file upload for BPA result.
paths:
/checks/v1/reports/config-file-upload:
post:
tags:
- Config Upload
summary: Initiate a Config Upload
description: "Generates a tracking ID and a presigned GCS URL for file upload using device metadata.\n\n## Using the Signed URL\n\nAfter receiving the `upload_url` in the response, upload your config file using a PUT request:\n\n```bash\ncurl -X PUT \"<upload_url>\" \\\n -H \"Content-Type: text/plain\" \\\n -H \"Content-Encoding: gzip\" \\\n --data-binary @/path/to/your/config.xml\n```\n\n**Required headers:**\n- `Content-Type: text/plain`\n- `Content-Encoding: gzip`\n"
operationId: InitiateConfigUpload
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- delete_after_processing
properties:
delete_after_processing:
type: boolean
description: If true, the uploaded data will be deleted immediately after processing completes.
default: false
example: false
responses:
'201':
description: Successfully initiated config upload.
headers:
Location:
description: URI of the created task resource.
schema:
type: string
format: uri-reference
example: /checks/v1/reports/550e8400-e29b-41d4-a716-446655440000/bpa-result
content:
application/json:
schema:
type: object
properties:
task_id:
type: string
format: uuid
example: 550e8400-e29b-41d4-a716-446655440000
upload_url:
type: string
format: uri
description: Presigned GCS URL.
'400':
description: Bad request - missing required header or invalid request body.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Too many requests - maximum limit of 5 active jobs reached.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/checks/v1/reports/{id}/bpa-result:
get:
tags:
- Config Upload
summary: Get BPA Processing Status
description: Returns the status (QUEUED, IN_PROGRESS, COMPLETED, FAILED) and final result.
operationId: GetBpaResultByID
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: The task ID provided during initiation.
responses:
'200':
description: Status retrieved successfully.
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- QUEUED
- IN_PROGRESS
- COMPLETED
- FAILED
example: IN_PROGRESS
message:
type: string
example: Analyzing security rules...
result:
type: object
description: Populated only when status is COMPLETED.
properties:
report_url:
type: string
format: uri
'404':
description: Task ID not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
Error:
type: object
properties:
_errors:
type: array
items:
type: object
properties:
code:
type: string
description: The error code representing a specific error condition.
message:
type: string
description: A brief description of the error condition.
details:
type: array
items:
type: string
description: An explanation of the error condition.
help:
type: string
format: uri
description: A URL link to documentation describing the error condition.
_request_id:
type: string
format: uuid
description: The request ID for troubleshooting purposes.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Bearer token authentication using JWT.