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.
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:
UpdateSecurityRuleRequest.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.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
DescribeSecurityRuleResponse.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
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
UpdateSecurityRuleResponse.UrlCategory:
additionalProperties: false
properties:
IntelligentFeeds:
items:
type: string
title: Intelligentfeeds
type: array
URLCategoryNames:
items:
type: string
title: Urlcategorynames
type: array
title: UrlCategory
type: object
CreateSecurityRuleRequest.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
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
DescribeSecurityRuleResponse.ResponseData:
additionalProperties: false
properties:
Priority:
description: 'The priority of the rule.
'
title: Priority
type: integer
RuleEntryCandidate:
$ref: '#/components/schemas/DescribeSecurityRuleResponse.Rule'
RuleEntryRunning:
$ref: '#/components/schemas/DescribeSecurityRuleResponse.Rule'
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.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/UpdateSecurityRuleResponse.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/UpdateSecurityRuleResponse.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/UpdateSecurityRuleResponse.RuleSource'
description: "Traffic source. \n"
Tags:
description: "The key:value pairs to associate with a resource. \n"
items:
$ref: '#/components/schemas/UpdateSecurityRuleResponse.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.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
DeleteSecurityRuleResponse.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
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
ListSecurityRulesResponse.ResponseData:
additionalProperties: false
properties:
NextToken:
description: 'If the number of security rules available for retrieval exceeds the maximum you requested, NGFW returns a NextToken value in response. To retrieve the next batch of security rules, use this token in your next request.
'
title: Nexttoken
type: string
RuleEntryCandidate:
description: 'The rules entry candidate.
'
items:
$ref: '#/components/schemas/ListSecurityRulesResponse.RuleEntryIdentifier'
title: Ruleentrycandidate
type: array
RuleEntryRunning:
description: 'Rule entry in run state.
'
items:
$ref: '#/components/schemas/ListSecurityRulesResponse.RuleEntryIdentifier'
title: Ruleentryrunning
type: array
RuleEntryUncommitted:
items:
$ref: '#/components/schemas/ListSecurityRulesResponse.RuleEntryUncommittedIdentifier'
title: Ruleentryuncommitted
type: array
RuleListName:
description: "Name of the rule list. \nLength: `0-128 characters`, Pattern: `^[a-zA-Z0-9-]+$`\n"
title: Rulelistname
type: string
RuleStackName:
description: 'The name of the rulestack.
'
title: Rulestackname
type: string
title: ResponseData
type: object
DeleteSecurityRuleResponse.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
UpdateSecurityRuleResponse.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
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
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
CreateSecurityRuleResponse.UrlCategory:
additionalProperties: false
properties:
IntelligentFeeds:
items:
type: string
title: Intelligentfeeds
type: array
URLCategoryNames:
items:
type: string
title: Urlcategorynames
type: array
title: UrlCategory
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
DeleteSecurityRuleResponse.Rule:
additionalProperties: false
properties:
Action:
default: Allow
description: 'Security rule actions: `Allow`, `DenySilent`, `DenyResetServer`, `DenyResetBoth`.
'
enum:
- Allow
- DenySilent
- DenyResetServer
- DenyResetBoth
# --- 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