Palo Alto Networks Network Packet Broker Rules API
Network Packet Broker Rule management
Network Packet Broker Rule management
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-network-packet-broker-rules-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:
version: 2.0.0
title: Network Services Network Packet Broker Rules API
description: These APIs are used for defining and managing network services configuration within Strata Cloud Manager.
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/config/network/v1
description: Current
- url: https://api.sase.paloaltonetworks.com/sse/config/v1
description: Legacy
security:
- scmToken: []
tags:
- name: Network Packet Broker Rules
description: Network Packet Broker Rule management
paths:
/network_packet_broker_rules:
get:
tags:
- Network Packet Broker Rules
summary: List all Network Packet Broker Rules
description: Retrieves a paginated list of Network Packet Broker Rules
operationId: ListNetworkPacketBrokerRules
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/folder'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/network_packet_broker_rules'
limit:
type: integer
offset:
type: integer
total:
type: integer
'400':
$ref: '#/components/responses/bad_request_errors_basic'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
'404':
$ref: '#/components/responses/not_found'
default:
$ref: '#/components/responses/default_errors'
security:
- Bearer: []
post:
tags:
- Network Packet Broker Rules
summary: Create a new Network Packet Broker Rule
description: Creates a new Network Packet Broker Rule
operationId: CreateNetworkPacketBrokerRules
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/network_packet_broker_rules'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/network_packet_broker_rules'
'400':
$ref: '#/components/responses/bad_request_errors_basic_with_body'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
'409':
$ref: '#/components/responses/conflict_errors'
default:
$ref: '#/components/responses/default_errors'
security:
- Bearer: []
/network_packet_broker_rules/{id}:
get:
tags:
- Network Packet Broker Rules
summary: Get Network Packet Broker Rule by ID
description: Retrieves a single Network Packet Broker Rule by its ID
operationId: GetNetworkPacketBrokerRulesByID
parameters:
- $ref: '#/components/parameters/uuid'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/network_packet_broker_rules'
'400':
$ref: '#/components/responses/bad_request_errors_basic'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
'404':
$ref: '#/components/responses/not_found'
default:
$ref: '#/components/responses/default_errors'
security:
- Bearer: []
put:
tags:
- Network Packet Broker Rules
summary: Update Network Packet Broker Rule by ID
description: Updates an existing Network Packet Broker Rule by ID
operationId: UpdateNetworkPacketBrokerRulesByID
parameters:
- $ref: '#/components/parameters/uuid'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/network_packet_broker_rules'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/network_packet_broker_rules'
'400':
$ref: '#/components/responses/bad_request_errors_basic_with_body'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
'404':
$ref: '#/components/responses/not_found'
default:
$ref: '#/components/responses/default_errors'
security:
- Bearer: []
delete:
tags:
- Network Packet Broker Rules
summary: Delete a Network Packet Broker Rule
description: Deletes a Network Packet Broker Rule by ID
operationId: DeleteNetworkPacketBrokerRulesByID
parameters:
- $ref: '#/components/parameters/uuid'
responses:
'200':
$ref: '#/components/responses/http_ok'
'400':
$ref: '#/components/responses/bad_request_errors_basic'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
'404':
$ref: '#/components/responses/not_found'
'409':
$ref: '#/components/responses/conflict_errors'
default:
$ref: '#/components/responses/default_errors'
components:
examples:
json_400_panui_mgmt_invalid_object:
summary: Invalid Object
value:
_errors:
- code: E003
message: Invalid Object
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_409_panui_mgmt_object_not_unique:
summary: Object Not Unique
value:
_errors:
- code: E016
message: Object Not Unique
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_restapi_input_format_mismatch:
summary: Input Format Mismatch
value:
_errors:
- code: E003
message: 'Input Format Mismatch: input-format=json'
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_405_panui_restapi_action_not_supported:
summary: Action Not Supported
value:
_errors:
- code: E012
message: 'Action Not Supported: move'
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_401_panui_auth_key_expired:
summary: Key Expired
value:
_errors:
- code: E016
message: Key Expired
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_mgmt_bad_xpath:
summary: Bad XPath
value:
_errors:
- code: E013
message: Bad XPath
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_restapi_missing_body:
summary: Missing Body
value:
_errors:
- code: E003
message: Missing Body
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_403_panui_auth_unauthorized:
summary: Unauthorized
value:
_errors:
- code: E007
message: Unauthorized
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_401_panui_auth_invalid_credential:
summary: Invalid Credential
value:
_errors:
- code: E016
message: Invalid Credential
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_504_panui_mgmt_session_timeout:
summary: Session Timeout
value:
_errors:
- code: '4'
message: Session Timeout
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_401_panui_auth_not_authenticated:
summary: Not Authenticated
value:
_errors:
- code: E016
message: Not Authenticated
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_mgmt_invalid_command:
summary: Invalid Command
value:
_errors:
- code: E003
message: Invalid Command
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_401_panui_auth_key_too_long:
summary: Key Too Long
value:
_errors:
- code: E016
message: Key Too Long
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_409_panui_mgmt_name_not_unique:
summary: Name Not Unique
value:
_errors:
- code: E006
message: Name Not Unique
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_401_panui_auth_need_password_change:
summary: Need Password Change
value:
_errors:
- code: E016
message: The password needs to be changed.
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_501_panui_restapi_method_not_supported:
summary: Method Not Supported
value:
_errors:
- code: E012
message: Method Not Supported
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_mgmt_malformed_command:
summary: Malformed Command
value:
_errors:
- code: E003
message: Malformed Command
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_409_panui_mgmt_reference_not_zero:
summary: Reference Not Zero
value:
_errors:
- code: E009
message: Reference Not Zero
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_restapi_invalid_query_parameter:
summary: Invalid Query Parameter
value:
_errors:
- code: E003
message: 'Invalid Query Parameter: location=invalid'
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_501_panui_restapi_version_not_supported:
summary: Version Not Supported
value:
_errors:
- code: E012
message: Version Not Supported
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_restapi_missing_query_parameter:
summary: Missing Query Parameter
value:
_errors:
- code: E003
message: 'Missing Query Parameter: name'
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_400_panui_restapi_output_format_mismatch:
summary: Output Format Mismatch
value:
_errors:
- code: E003
message: 'Output Format Mismatch: output-format=json Accept=xml'
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
json_404_panui_mgmt_object_not_present:
summary: Object Not Present
value:
_errors:
- code: E005
message: Object Not Present
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
responses:
access_errors:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/generic_error'
examples:
auth_unauthorized:
$ref: '#/components/examples/json_403_panui_auth_unauthorized'
not_found:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/generic_error'
examples:
object_not_present:
$ref: '#/components/examples/json_404_panui_mgmt_object_not_present'
conflict_errors:
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/generic_error'
examples:
object_not_unique:
$ref: '#/components/examples/json_409_panui_mgmt_object_not_unique'
name_not_unique:
$ref: '#/components/examples/json_409_panui_mgmt_name_not_unique'
reference_not_zero:
$ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero'
bad_request_errors_basic:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/generic_error'
examples:
input_format_mismatch:
$ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch'
output_format_mismatch:
$ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch'
missing_query_parameter:
$ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter'
invalid_query_parameter:
$ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter'
default_errors:
description: General Errors
content:
application/json:
schema:
$ref: '#/components/schemas/generic_error'
examples:
version_not_supported:
$ref: '#/components/examples/json_501_panui_restapi_version_not_supported'
method_not_allowed:
$ref: '#/components/examples/json_501_panui_restapi_method_not_supported'
action_not_supported:
$ref: '#/components/examples/json_405_panui_restapi_action_not_supported'
bad_xpath:
$ref: '#/components/examples/json_400_panui_mgmt_bad_xpath'
invalid_command:
$ref: '#/components/examples/json_400_panui_mgmt_invalid_command'
malformed_command:
$ref: '#/components/examples/json_400_panui_mgmt_malformed_command'
session_timeout:
$ref: '#/components/examples/json_504_panui_mgmt_session_timeout'
auth_errors:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/generic_error'
examples:
auth_not_authenticated:
$ref: '#/components/examples/json_401_panui_auth_not_authenticated'
invalid_credential:
$ref: '#/components/examples/json_401_panui_auth_invalid_credential'
key_too_long:
$ref: '#/components/examples/json_401_panui_auth_key_too_long'
key_expired:
$ref: '#/components/examples/json_401_panui_auth_key_expired'
need_password_change:
$ref: '#/components/examples/json_401_panui_auth_need_password_change'
bad_request_errors_basic_with_body:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/generic_error'
examples:
input_format_mismatch:
$ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch'
output_format_mismatch:
$ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch'
missing_query_parameter:
$ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter'
invalid_query_parameter:
$ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter'
missing_body:
$ref: '#/components/examples/json_400_panui_restapi_missing_body'
invalid_object:
$ref: '#/components/examples/json_400_panui_mgmt_invalid_object'
http_ok:
description: OK
parameters:
uuid:
name: id
in: path
description: The UUID of the configuration resource
required: true
schema:
type: string
format: uuid
example: 123e4567-e89b-12d3-a456-426655440000
folder:
name: folder
in: query
description: 'The folder in which the resource is defined
'
required: false
schema:
type: string
offset:
name: offset
in: query
description: The offset into the list of results returned
required: false
schema:
type: integer
default: 0
limit:
name: limit
in: query
description: The maximum number of results per page
required: false
schema:
type: integer
default: 200
schemas:
generic_error:
type: object
properties:
_errors:
$ref: '#/components/schemas/error_detail_cause_infos'
_request_id:
type: string
x-examples: {}
network_packet_broker_rules:
type: object
required:
- id
- name
- action
properties:
id:
type: string
format: uuid
description: Unique identifier
readOnly: true
example: 550e8400-e29b-41d4-a716-446655440000
name:
type: string
description: Rule name
maxLength: 63
pattern: ^[a-zA-Z\d\-_\. ]+$
example: npb-rule-1
description:
type: string
description: Rule description
example: Route traffic to security devices
group_tag:
type: string
description: Group tag for rule organization
example: security-monitoring
from:
type: array
description: Source zones
items:
type: string
example:
- trust
- dmz
to:
type: array
description: Destination zones
items:
type: string
example:
- untrust
source:
type: array
description: Source addresses
items:
type: string
example:
- 10.0.0.0/24
- any
destination:
type: array
description: Destination addresses
items:
type: string
example:
- any
application:
type: array
description: Applications
items:
type: string
example:
- web-browsing
- ssl
- ssh
service:
type: array
description: Services
items:
type: string
example:
- any
- application-default
source_user:
type: array
description: Source users
items:
type: string
example:
- any
source_hip:
type: array
description: Source Host Information Profile (HIP)
items:
type: string
example:
- any
destination_hip:
type: array
description: Destination Host Information Profile (HIP)
items:
type: string
example:
- any
tag:
type: array
description: Tags associated with the rule
items:
type: string
example:
- production
- monitoring
negate_source:
type: boolean
description: Negate source address match
example: false
negate_destination:
type: boolean
description: Negate destination address match
example: false
disabled:
type: boolean
description: Rule is disabled
example: false
action:
type: object
required:
- packet_broker_profile
description: Action to take when rule matches
properties:
packet_broker_profile:
type: string
description: Name of the packet broker profile to use
example: routed-profile-1
traffic_type:
type: object
description: Types of traffic this rule applies to
properties:
non_tls:
type: boolean
description: Match non-TLS traffic
example: true
tls_encrypted:
type: boolean
description: Match TLS encrypted traffic
example: true
tls_decrypted:
type: boolean
description: Match TLS decrypted traffic
example: false
oneOf:
- type: object
title: folder
properties:
folder:
type: string
pattern: ^[a-zA-Z\d\-_\. ]+$
maxLength: 64
description: The folder in which the resource is defined
example: My Folder
required:
- folder
- type: object
title: snippet
properties:
snippet:
type: string
pattern: ^[a-zA-Z\d\-_\. ]+$
maxLength: 64
description: The snippet in which the resource is defined
example: My Snippet
required:
- snippet
- type: object
title: device
properties:
device:
type: string
pattern: ^[a-zA-Z\d\-_\. ]+$
maxLength: 64
description: The device in which the resource is defined
example: My Device
required:
- device
error_detail_cause_infos:
type: array
items:
$ref: '#/components/schemas/error_detail_cause_info'
x-examples: {}
error_detail_cause_info:
type: object
title: Cause Info
properties:
code:
type: string
message:
type: string
details:
oneOf:
- type: string
- type: object
help:
type: string
securitySchemes:
scmOAuth:
type: oauth2
description: "Strata Cloud Manager APIs authenticate client requests using the \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n"
flows:
clientCredentials:
tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token
scopes:
tsg_id: Your tenant service group in the form `tsg_id:XXXXXXXXXX`
scmToken:
type: http
description: "Strata Cloud Manager APIs authenticate client requests using the \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n"
scheme: bearer
bearerFormat: JWT
x-internal: false