openapi: 3.1.0 info: title: Panorama API description: | Panorama and PAN-OS XML and REST APIs for centralized network security management across Palo Alto Networks firewalls. The XML API uses query-parameter style request types (`type=keygen`, `type=op`, `type=config`, etc.), while the REST API uses versioned resource paths under `/restapi/v{version}/`. version: "11.1" contact: name: Palo Alto Networks url: https://docs.paloaltonetworks.com/panorama servers: - url: https://{panorama_host} description: Panorama management server variables: panorama_host: default: panorama.example.com description: Hostname or IP of the Panorama appliance security: - ApiKeyHeader: [] - ApiKeyQuery: [] paths: /api/: get: summary: PAN-OS XML API request description: | Single XML API entry point. The operation is selected through the `type` query parameter (e.g. `keygen`, `op`, `config`, `commit`, `report`, `export`, `import`, `log`, `user-id`). parameters: - in: query name: type required: true schema: type: string enum: - keygen - op - config - commit - report - export - import - log - user-id - in: query name: action schema: type: string description: Sub-action for config/op (e.g. get, set, edit, delete, show). - in: query name: cmd schema: type: string description: XML command body for op/commit/report requests. - in: query name: xpath schema: type: string description: XPath used by config requests. - in: query name: key schema: type: string description: API key (alternative to X-PAN-KEY header). responses: '200': description: XML response document. content: application/xml: schema: type: string post: summary: PAN-OS XML API request (POST form) description: Same as GET, but parameters may be provided as form fields. requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: type: type: string action: type: string cmd: type: string xpath: type: string key: type: string responses: '200': description: XML response document. content: application/xml: schema: type: string /restapi/v11.1/Objects/Addresses: get: summary: List address objects parameters: - in: query name: location required: true schema: type: string enum: [shared, vsys, panorama-pushed, device-group] - in: query name: device-group schema: type: string responses: '200': description: A list of address objects. post: summary: Create an address object parameters: - in: query name: location required: true schema: type: string - in: query name: name required: true schema: type: string requestBody: required: true content: application/json: schema: type: object responses: '200': description: Address object created. /restapi/v11.1/Policies/SecurityRules: get: summary: List security rules parameters: - in: query name: location required: true schema: type: string - in: query name: device-group schema: type: string responses: '200': description: A list of security rules. post: summary: Create a security rule parameters: - in: query name: location required: true schema: type: string - in: query name: name required: true schema: type: string requestBody: required: true content: application/json: schema: type: object responses: '200': description: Security rule created. /restapi/v11.1/Network/Interfaces: get: summary: List network interfaces parameters: - in: query name: location required: true schema: type: string responses: '200': description: A list of network interfaces. components: securitySchemes: ApiKeyHeader: type: apiKey in: header name: X-PAN-KEY description: API key generated via `/api/?type=keygen`. ApiKeyQuery: type: apiKey in: query name: key description: API key passed as a query parameter (XML API).