Palo Alto Networks Manage Security Rules API
The ManageSecurityRules API from Palo Alto Networks — 2 operation(s) for managesecurityrules.
The ManageSecurityRules API from Palo Alto Networks — 2 operation(s) for managesecurityrules.
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-managesecurityrules-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:
contact: {}
description: "Security rules determine whether to block or allow a session based on traffic attributes such as the source and destination IP address, source and destination FQDNs, or the application. \n\nFor more information, see [Create security roles on Cloud NGFW for AWS](https://docs.paloaltonetworks.com/cloud-ngfw/aws/cloud-ngfw-on-aws/rules-and-rulestacks/create-a-rule).\n"
title: Manage Security Rules API
version: 1.0.0
servers:
- url: https://api.us-east-1.aws.cloudngfw.paloaltonetworks.com
tags:
- name: ManageSecurityRules
paths:
/v1/config/rulestacks/{rulestackname}/rulelists/{rulelistname}:
get:
description: 'List the security rules associate with a specified rulestack in the order of priority.
'
operationId: get-v1-config-rulestacks-rulestackname-rulelists-rulelistname
parameters:
- description: 'The name of the rulestack.
'
in: path
name: rulestackname
required: true
schema:
type: string
- description: 'The name of the rulelist.
'
in: path
name: rulelistname
required: true
schema:
type: string
- description: 'If the number of rulestacks available for retrieval exceeds the maximum you requested, NGFW returns a NextToken value in response. To retrieve the next batch of rulestacks, use this token in your next request.
'
in: query
name: nexttoken
required: false
schema:
title: Nexttoken
type: string
- description: 'Rulestack candidate.
'
in: query
name: candidate
required: false
schema:
default: true
title: Candidate
type: boolean
- description: 'Rulestacks in run state.
'
in: query
name: running
required: false
schema:
default: false
title: Running
type: boolean
- description: 'Uncommitted rulestacks.
'
in: query
name: uncommitted
required: false
schema:
default: false
title: Uncommitted
type: boolean
- description: 'The maximum number of rulestacks that you want NGFW to return for this request.
'
in: query
name: maxresults
required: false
schema:
default: 1024
maximum: 1024
minimum: 1
title: Maxresults
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListSecurityRulesResponse'
description: OK
summary: List Security Rules
tags:
- ManageSecurityRules
post:
description: 'Create a security rule for a specified rulestack.
'
operationId: post-v1-config-rulestacks-rulestackname-rulelists-rulelistname
parameters:
- description: 'The name of the rulestack.
'
in: path
name: rulestackname
required: true
schema:
type: string
- description: 'The name of the rulelist.
'
in: path
name: rulelistname
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSecurityRuleRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSecurityRuleResponse'
description: OK
summary: Create a Security Rule
tags:
- ManageSecurityRules
/v1/config/rulestacks/{rulestackname}/rulelists/{rulelistname}/priorities/{priority}:
delete:
description: 'Delete a security rule associated with a specified rulestack.
'
operationId: delete-v1-config-rulestacks-rulestackname-rulelists-rulelistname-priorities-priority
parameters:
- description: 'The name of the rulestack.
'
in: path
name: rulestackname
required: true
schema:
type: string
- description: 'The name of the rulelist.
'
in: path
name: rulelistname
required: true
schema:
type: string
- description: 'The security rule priority.
'
in: path
name: priority
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteSecurityRuleRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteSecurityRuleResponse'
description: OK
summary: Delete a Security Rule
tags:
- ManageSecurityRules
get:
description: 'Retrieve the information related to the security rule associated with a specified rulestack.
'
operationId: get-v1-config-rulestacks-rulestackname-rulelists-rulelistname-priorities-priority
parameters:
- description: 'The name of the rulestack.
'
in: path
name: rulestackname
required: true
schema:
type: string
- description: 'The name of the rulelist.
'
in: path
name: rulelistname
required: true
schema:
type: string
- description: 'The security rule priority.
'
in: path
name: priority
required: true
schema:
type: string
- description: 'Rulestack candidate.
'
in: query
name: Candidate
required: false
schema:
default: true
title: Candidate
type: boolean
- description: 'Rulestacks in run state.
'
in: query
name: Running
required: false
schema:
default: false
title: Running
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeSecurityRuleResponse'
description: OK
summary: Describe a Security Rule
tags:
- ManageSecurityRules
put:
description: 'Update a security rule associated a specified rulestack.
'
operationId: put-v1-config-rulestacks-rulestackname-rulelists-rulelistname-priorities-priority
parameters:
- description: 'The name of the rulestack.
'
in: path
name: rulestackname
required: true
schema:
type: string
- description: 'The name of the rulelist.
'
in: path
name: rulelistname
required: true
schema:
type: string
- description: 'The security rule priority.
'
in: path
name: priority
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSecurityRuleRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSecurityRuleResponse'
description: OK
summary: Update a Security Rule
tags:
- ManageSecurityRules
components:
schemas:
DeleteSecurityRuleResponse.Result:
additionalProperties: false
properties:
ErrorCode:
default: 0
description: "Default value of a successful response is 0. Any other number indicates an error code. \n\n400—HTTP bad request\n* InvalidRequestException—Operation failed due to invalid request. For example, unsupported parameter name, value, priority, or length in the request.\n* ResourceNotFoundException—Unable to locate a resource using the parameters you provided. For example, RuleListName is not found, Priority is not found. \n* ThrottlingException—Operation failed due to throttling limitations. \n\n500—Bad request \n* InternalServerError—Your request is valid but Cloud NGFW could not perform the operation due to a system issue.\n"
title: Errorcode
type: integer
Reason:
description: 'The error description.
'
title: Reason
type: string
title: Result
type: object
CreateSecurityRuleResponse.Rule:
additionalProperties: false
properties:
Action:
default: Allow
description: 'Security rule actions: `Allow`, `DenySilent`, `DenyResetServer`, `DenyResetBoth`.
'
enum:
- Allow
- DenySilent
- DenyResetServer
- DenyResetBoth
title: Action
type: string
Applications:
default:
- Any
description: 'Application details.
'
items:
type: string
title: Applications
type: array
AuditComment:
description: 'Audit remarks.
'
maxLength: 512
title: Auditcomment
type: string
Category:
$ref: '#/components/schemas/CreateSecurityRuleResponse.UrlCategory'
description: 'Security rule category.
'
DecryptionRuleType:
description: 'Decryption policy rule.
'
enum:
- SSLOutboundInspection
title: Decryptionruletype
type: string
Description:
description: "Rule entry description. \nMax length: `512 characters`, Pattern: Any character `^.*$`.\n"
maxLength: 512
title: Description
type: string
Destination:
$ref: '#/components/schemas/CreateSecurityRuleResponse.RuleDestination'
description: 'Rule entry destination.
'
Enabled:
default: true
description: 'Specify whether or not the rule is enabled.
'
title: Enabled
type: boolean
Logging:
default: false
description: 'Specify whether or not logging is enabled.
'
title: Logging
type: boolean
NegateDestination:
default: false
description: 'Rule to negate a specified destination.
'
title: Negatedestination
type: boolean
NegateSource:
default: false
description: 'Rule to negate a specified source.
'
title: Negatesource
type: boolean
Protocol:
default: application-default
description: "Application protocol. \n"
title: Protocol
type: string
RuleName:
description: "Name of the rule entry. \nLength: `0-48 characters`, Pattern: `^[a-zA-Z0-9-]+$`. \n"
maxLength: 128
minLength: 1
pattern: ^[a-zA-Z0-9-]+$
title: Rulename
type: string
Source:
$ref: '#/components/schemas/CreateSecurityRuleResponse.RuleSource'
description: "Traffic source. \n"
Tags:
description: "The key:value pairs to associate with a resource. \n"
items:
$ref: '#/components/schemas/CreateSecurityRuleResponse.Tag'
maxItems: 200
title: Tags
type: array
UpdateToken:
description: 'Refresh token.
'
title: Updatetoken
type: string
required:
- RuleName
title: Rule
type: object
CreateSecurityRuleRequest.RuleSource:
additionalProperties: false
properties:
Cidrs:
default:
- Any
description: 'The CIDR block or range as the source of your security rule.
'
items:
type: string
title: Cidrs
type: array
Countries:
description: "Country as the source of your security rule \n"
items:
type: string
title: Countries
type: array
Feeds:
description: "Intelligence Feed as the source of your security rule. \n"
items:
type: string
title: Feeds
type: array
PrefixLists:
description: 'Grouped IP addresses as the source of your security rule.
'
items:
type: string
title: Prefixlists
type: array
title: RuleSource
type: object
CreateSecurityRuleRequest.RuleDestination:
additionalProperties: false
properties:
Cidrs:
default:
- Any
description: 'The CIDR block or range as the destination of your security rule.
'
items:
type: string
title: Cidrs
type: array
Countries:
description: "Country as the destination of your security rule \n"
items:
type: string
title: Countries
type: array
Feeds:
description: "Intelligence Feed as the destination of your security rule. \n"
items:
type: string
title: Feeds
type: array
FqdnLists:
description: 'Fully Qualified Domain Name (FQDN) list as the destination of your security rule.
'
items:
type: string
title: Fqdnlists
type: array
PrefixLists:
description: 'Grouped IP addresses as the destination of your security rule.
'
items:
type: string
title: Prefixlists
type: array
title: RuleDestination
type: object
CreateSecurityRuleResponse.Result:
additionalProperties: false
properties:
ErrorCode:
default: 0
description: "Default value of a successful response is 0. Any other number indicates an error code. \n\n400—HTTP bad request\n* InvalidOperationException—Operation failed because it is not valid. For example, when you delete an NGFW or rulestack in use.\n* InvalidRequestException—Operation failed due to invalid request. For example, unsupported parameter name, value, priority, or length in the request.\n* LimitExceededException—Operation failed due to violation in limit settings.\n* ThrottlingException—Operation failed due to throttling limitations. \n\n500—Bad request \n* InternalServerError—Your request is valid but Cloud NGFW could not perform the operation due to a system issue.\n* InsufficientCapacityException—AWS currently does not have enough capacity to fulfill your request.\n"
title: Errorcode
type: integer
Reason:
description: 'The error description.
'
title: Reason
type: string
title: Result
type: object
UpdateSecurityRuleResponse.ResponseData:
additionalProperties: false
properties:
Priority:
description: 'The priority of the rule.
'
title: Priority
type: integer
RuleEntry:
$ref: '#/components/schemas/UpdateSecurityRuleResponse.Rule'
description: "Details of the rule entry. \n"
RuleListName:
description: "Name of the rule list. \nLength: `0-128 characters`, Pattern: `^[a-zA-Z0-9-]+$`.\n"
title: Rulelistname
type: string
RuleStackName:
description: 'Name of the rulestack.
'
title: Rulestackname
type: string
title: ResponseData
type: object
UpdateSecurityRuleResponse.RuleSource:
additionalProperties: false
properties:
Cidrs:
default:
- Any
description: 'The CIDR block or range as the source of your security rule.
'
items:
type: string
title: Cidrs
type: array
Countries:
description: "Country as the source of your security rule \n"
items:
type: string
title: Countries
type: array
Feeds:
description: "Intelligence Feed as the source of your security rule. \n"
items:
type: string
title: Feeds
type: array
PrefixLists:
description: 'Grouped IP addresses as the source of your security rule.
'
items:
type: string
title: Prefixlists
type: array
title: RuleSource
type: object
DescribeSecurityRuleResponse:
additionalProperties: false
properties:
Response:
$ref: '#/components/schemas/DescribeSecurityRuleResponse.ResponseData'
ResponseStatus:
$ref: '#/components/schemas/DescribeSecurityRuleResponse.Result'
title: DescribeSecurityRuleResponse
type: object
DeleteSecurityRuleResponse.Rule:
additionalProperties: false
properties:
Action:
default: Allow
description: 'Security rule actions: `Allow`, `DenySilent`, `DenyResetServer`, `DenyResetBoth`.
'
enum:
- Allow
- DenySilent
- DenyResetServer
- DenyResetBoth
title: Action
type: string
Applications:
default:
- Any
description: 'Application details.
'
items:
type: string
title: Applications
type: array
AuditComment:
description: 'Audit remarks.
'
maxLength: 512
title: Auditcomment
type: string
Category:
$ref: '#/components/schemas/DeleteSecurityRuleResponse.UrlCategory'
description: 'Security rule category.
'
DecryptionRuleType:
description: 'Decryption policy rule.
'
enum:
- SSLOutboundInspection
title: Decryptionruletype
type: string
Description:
description: "Rule entry description. \nMax length: `512 characters`, Pattern: Any character `^.*$`.\n"
maxLength: 512
title: Description
type: string
Destination:
$ref: '#/components/schemas/DeleteSecurityRuleResponse.RuleDestination'
description: 'Rule entry destination.
'
Enabled:
default: true
description: 'Specify whether or not the rule is enabled.
'
title: Enabled
type: boolean
Logging:
default: false
description: 'Specify whether or not logging is enabled.
'
title: Logging
type: boolean
NegateDestination:
default: false
description: 'Rule to negate a specified destination.
'
title: Negatedestination
type: boolean
NegateSource:
default: false
description: 'Rule to negate a specified source.
'
title: Negatesource
type: boolean
Protocol:
default: application-default
description: 'Application protocol.
'
title: Protocol
type: string
RuleName:
description: "Name of the rule entry. \nLength: `0-48 characters`, Pattern: `^[a-zA-Z0-9-]+$`. \n"
maxLength: 128
minLength: 1
pattern: ^[a-zA-Z0-9-]+$
title: Rulename
type: string
Source:
$ref: '#/components/schemas/DeleteSecurityRuleResponse.RuleSource'
description: "Traffic source. \n"
Tags:
description: "The key:value pairs to associate with a resource. \n"
items:
$ref: '#/components/schemas/DeleteSecurityRuleResponse.Tag'
maxItems: 200
title: Tags
type: array
UpdateToken:
description: 'Refresh token.
'
title: Updatetoken
type: string
required:
- RuleName
title: Rule
type: object
DeleteSecurityRuleResponse.RuleSource:
additionalProperties: false
properties:
Cidrs:
default:
- Any
description: 'The CIDR block or range as the source of your security rule.
'
items:
type: string
title: Cidrs
type: array
Countries:
description: "Country as the source of your security rule \n"
items:
type: string
title: Countries
type: array
Feeds:
description: "Intelligence Feed as the source of your security rule. \n"
items:
type: string
title: Feeds
type: array
PrefixLists:
description: 'Grouped IP addresses as the source of your security rule.
'
items:
type: string
title: Prefixlists
type: array
title: RuleSource
type: object
UpdateSecurityRuleResponse.Result:
additionalProperties: false
properties:
ErrorCode:
default: 0
description: "Default value of a successful response is 0. Any other number indicates an error code. \n\n400—HTTP bad request\n* InvalidRequestException—Operation failed due to invalid request. For example, unsupported parameter name, value, priority, or length in the request.\n* ResourceNotFoundException—Unable to locate a resource using the parameters you provided. For example, RuleListName is not found, Priority is not found. \n* ThrottlingException—Operation failed due to throttling limitations. \n\n500—Bad request \n* InternalServerError—Your request is valid but Cloud NGFW could not perform the operation due to a system issue.\n"
title: Errorcode
type: integer
Reason:
description: 'The error description.
'
title: Reason
type: string
title: Result
type: object
ListSecurityRulesResponse.Result:
additionalProperties: false
properties:
ErrorCode:
default: 0
description: "Default value of a successful response is 0. Any other number indicates an error code. \n\n400—HTTP bad request\n* InvalidRequestException—Operation failed due to invalid request. For example, unsupported parameter name, value, priority, or length in the request.\n* ResourceNotFoundException—Unable to locate a resource using the parameters you provided. For example, RuleListName is not found, Priority is not found. \n* ThrottlingException—Operation failed due to throttling limitations. \n\n500—Bad request \n* InternalServerError—Your request is valid but Cloud NGFW could not perform the operation due to a system issue.\n"
title: Errorcode
type: integer
Reason:
description: 'The error description.
'
title: Reason
type: string
title: Result
type: object
ListSecurityRulesResponse.RuleEntryUncommittedIdentifier:
additionalProperties: false
properties:
Operation:
description: 'The rule action.
'
title: Operation
type: string
Priority:
description: 'The priority of the rule.
'
title: Priority
type: integer
RuleName:
description: 'Name of the rule.
'
title: Rulename
type: string
required:
- Priority
- RuleName
- Operation
title: RuleEntryUncommittedIdentifier
type: object
DescribeSecurityRuleResponse.UrlCategory:
additionalProperties: false
properties:
IntelligentFeeds:
description: 'Specify Intelligence Feed as the source or destination of your security rule.
'
items:
type: string
title: Intelligentfeeds
type: array
URLCategoryNames:
description: 'Specify URL categories in security rules to block or allow access to websites.
'
items:
type: string
title: Urlcategorynames
type: array
title: UrlCategory
type: object
UpdateSecurityRuleResponse.RuleDestination:
additionalProperties: false
properties:
Cidrs:
default:
- Any
description: 'The CIDR block or range as the destination of your security rule.
'
items:
type: string
title: Cidrs
type: array
Countries:
description: "Country as the destination of your security rule \n"
items:
type: string
title: Countries
type: array
Feeds:
description: "Intelligence Feed as the destination of your security rule. \n"
items:
type: string
title: Feeds
type: array
FqdnLists:
description: 'Fully Qualified Domain Name (FQDN) list as the destination of your security rule.
'
items:
type: string
title: Fqdnlists
type: array
PrefixLists:
description: 'Grouped IP addresses as the destination of your security rule.
'
items:
type: string
title: Prefixlists
type: array
title: RuleDestination
type: object
CreateSecurityRuleRequest.Tag:
additionalProperties: false
properties:
Key:
description: 'A unique identifier in the key-value pair. The constant that defines the data set.
.
'
maxLength: 128
minLength: 1
title: Key
type: string
Value:
description: 'The variable that belongs to the data set.
'
maxLength: 128
minLength: 1
title: Value
type: string
required:
- Key
- Value
title: Tag
type: object
DescribeSecurityRuleResponse.Tag:
additionalProperties: false
properties:
Key:
description: 'A unique identifier in the key-value pair. The constant that defines the data set.
.
'
maxLength: 128
minLength: 1
title: Key
type: string
Value:
description: 'The variable that belongs to the data set.
'
maxLength: 128
minLength: 1
title: Value
type: string
required:
- Key
- Value
title: Tag
type: object
UpdateSecurityRuleRequest:
additionalProperties: false
properties:
RuleEntry:
$ref: '#/components/schemas/UpdateSecurityRuleRequest.Rule'
description: 'Details of the rule entry.
'
required:
- RuleEntry
title: UpdateSecurityRuleRequest
type: object
UpdateSecurityRuleRequest.Rule:
additionalProperties: false
properties:
Action:
default: Allow
description: 'Security rule actions: `Allow`, `DenySilent`, `DenyResetServer`, `DenyResetBoth`.
'
enum:
- Allow
- DenySilent
- DenyResetServer
- DenyResetBoth
title: Action
type: string
Applications:
default:
- Any
description: 'Application details.
'
items:
type: string
title: Applications
type: array
AuditComment:
description: 'Audit remarks.
'
maxLength: 512
title: Auditcomment
type: string
Category:
$ref: '#/components/schemas/UpdateSecurityRuleRequest.UrlCategory'
description: 'Security rule category.
'
DecryptionRuleType:
description: 'Decryption policy rule.
'
enum:
- SSLOutboundInspection
title: Decryptionruletype
type: string
Description:
description: "Rule entry description. \nMax length: `512 characters`, Pattern: Any character `^.*$`.\n"
maxLength: 512
title: Description
type: string
Destination:
$ref: '#/components/schemas/UpdateSecurityRuleRequest.RuleDestination'
description: 'Rule entry destination.
'
Enabled:
default: true
description: 'Specify whether or not the rule is enabled.
'
title: Enabled
type: boolean
Logging:
default: false
description: 'Specify whether or not logging is enabled.
'
title: Logging
type: boolean
NegateDestination:
default: false
description: 'Rule to negate a specified destination.
'
title: Negatedestination
type: boolean
NegateSource:
default: false
description: 'Rule to negate a specified source.
'
title: Negatesource
type: boolean
Protocol:
default: application-default
description: "Application protocol. \n"
title: Protocol
type: string
RuleName:
description: "Name of the rule entry. \nLength: `0-48 characters`, Pattern: `^[a-zA-Z0-9-]+$`. \n"
maxLength: 128
minLength: 1
pattern: ^[a-zA-Z0-9-]+$
title: Rulename
type: string
Source:
$ref: '#/components/schemas/UpdateSecurityRuleRequest.RuleSource'
description: "Traffic source. \n"
Tags:
description: "The key:value pairs to associate with a resource. \n"
items:
$ref: '#/components/schemas/UpdateSecurityRuleRequest.Tag'
maxItems: 200
title: Tags
type: array
UpdateToken:
description: 'Refresh token.
'
title: Updatetoken
type: string
required:
- RuleName
title: Rule
type: object
CreateSecurityRuleResponse:
additionalProperties: false
properties:
Response:
$ref: '#/components/schemas/CreateSecurityRuleResponse.ResponseData'
ResponseStatus:
$ref: '#/components/schemas/CreateSecurityRuleResponse.Result'
title: CreateSecurityRuleResponse
type: object
CreateSecurityRuleRequest.RuleCreate:
additionalProperties: false
properties:
Action:
default: Allow
description: 'Security rule actions: `Allow`, `DenySilent`, `DenyResetServer`, `DenyResetBoth`.
'
enum:
- Allow
- DenySilent
- DenyResetServer
- DenyResetBoth
title: Action
type: string
Applications:
default:
- Any
description: 'Application details.
'
items:
type: string
title: Applications
type: array
AuditComment:
description: 'Audit remarks.
'
maxLength: 512
title: Auditcomment
type: string
Category:
$ref: '#/components/schemas/CreateSecurityRuleRequest.UrlCategory'
description: 'Security rule category.
'
DecryptionRuleType:
description: 'Decryption policy rule.
'
enum:
- SSLOutboundInspection
title: Decryptionruletype
type: string
Description:
description: "Rule entry description. \nMax length: `512 characters`, Pattern: Any character `^.*$`.\n"
maxLength: 512
title: Description
type: string
Destination:
$ref: '#/components/schemas/CreateSecurityRuleRequest.RuleDestination'
description: 'Rule entry destination.
'
Enabled:
default: true
description: 'Specify whether or not the rule is enabled.
'
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-managesecurityrules-api-openapi.yml