Palo Alto Networks High Availability Configurations API
High Availability Configurations
High Availability Configurations
openapi: 3.2.0
info:
version: 2.0.0
title: Device Settings High Availability Configurations API
description: These APIs are used for defining and managing device configurations 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/device/v1
description: Production
security:
- scmToken: []
tags:
- name: High Availability Configurations
description: High Availability Configurations
paths:
/ha-configurations:
get:
tags:
- High Availability Configurations
summary: Get high availability configuration
description: 'Retrieve high availability configuration for a device.
'
operationId: GetHAConfiguration
parameters:
- name: device
in: query
required: true
description: Device ID (numeric only)
schema:
type: string
pattern: ^\d+$
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations'
'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'
post:
tags:
- High Availability Configurations
summary: Create high availability configuration
description: 'Create high availability configuration for a device.
'
operationId: CreateHAConfiguration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations'
'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'
put:
tags:
- High Availability Configurations
summary: Update high availability configuration
description: 'Update high availability configuration for a device.
'
operationId: UpdateHAConfiguration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations'
'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'
'409':
$ref: '#/components/responses/conflict_errors'
default:
$ref: '#/components/responses/default_errors'
delete:
tags:
- High Availability Configurations
summary: Delete high availability configuration
description: 'Delete high availability configuration for a device.
'
operationId: DeleteHAConfiguration
parameters:
- name: device
in: query
required: true
description: Device ID (numeric only)
schema:
type: string
pattern: ^\d+$
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: HA configuration deleted successfully
'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'
/ha-configurations-ports:
get:
tags:
- High Availability Configurations
summary: Autocomplete HA ports
description: 'Get available port options for HA configuration.
'
operationId: AutocompleteHAPorts
parameters:
- name: device_id
in: query
required: true
description: Device ID
schema:
type: string
pattern: ^[a-zA-Z0-9_\-]+$
- name: interface_type
in: query
required: true
description: HA interface type
schema:
type: string
enum:
- ha1
- ha1-backup
- ha2
- ha2-backup
- ha3
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations-autocomplete'
'400':
$ref: '#/components/responses/bad_request_errors_basic'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
default:
$ref: '#/components/responses/default_errors'
/ha-configurations-ip-addresses:
get:
tags:
- High Availability Configurations
summary: Autocomplete HA IP addresses
description: 'Get available IP address options for HA configuration.
'
operationId: AutocompleteHAIPAddresses
parameters:
- name: device_id
in: query
required: true
description: Device ID
schema:
type: string
pattern: ^[a-zA-Z0-9_\-]+$
- name: interface_type
in: query
required: true
description: HA interface type
schema:
type: string
enum:
- ha1
- ha1-backup
- ha2
- ha2-backup
- ha3
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations-autocomplete'
'400':
$ref: '#/components/responses/bad_request_errors_basic'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
default:
$ref: '#/components/responses/default_errors'
/ha-configurations-netmasks:
get:
tags:
- High Availability Configurations
summary: Autocomplete HA netmasks
description: 'Get available netmask options for HA configuration.
'
operationId: AutocompleteHANetmasks
parameters:
- name: device_id
in: query
required: true
description: Device ID
schema:
type: string
pattern: ^[a-zA-Z0-9_\-]+$
- name: interface_type
in: query
required: true
description: HA interface type
schema:
type: string
enum:
- ha1
- ha1-backup
- ha2
- ha2-backup
- ha3
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations-autocomplete'
'400':
$ref: '#/components/responses/bad_request_errors_basic'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
default:
$ref: '#/components/responses/default_errors'
/ha-configurations-gateways:
get:
tags:
- High Availability Configurations
summary: Autocomplete HA gateways
description: 'Get available gateway options for HA configuration.
'
operationId: AutocompleteHAGateways
parameters:
- name: device_id
in: query
required: true
description: Device ID
schema:
type: string
pattern: ^[a-zA-Z0-9_\-]+$
- name: interface_type
in: query
required: true
description: HA interface type
schema:
type: string
enum:
- ha1
- ha1-backup
- ha2
- ha2-backup
- ha3
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ha-configurations-autocomplete'
'400':
$ref: '#/components/responses/bad_request_errors_basic'
'401':
$ref: '#/components/responses/auth_errors'
'403':
$ref: '#/components/responses/access_errors'
default:
$ref: '#/components/responses/default_errors'
components:
examples:
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_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_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_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_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_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_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
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_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_mgmt_invalid_command:
summary: Invalid Command
value:
_errors:
- code: E003
message: Invalid Command
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_401_panui_auth_not_authenticated:
summary: Not Authenticated
value:
_errors:
- code: E016
message: Not Authenticated
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_403_panui_auth_unauthorized:
summary: Unauthorized
value:
_errors:
- code: E007
message: Unauthorized
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_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_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_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_400_panui_mgmt_invalid_object:
summary: Invalid Object
value:
_errors:
- code: E003
message: Invalid Object
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_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_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_400_panui_mgmt_bad_xpath:
summary: Bad XPath
value:
_errors:
- code: E013
message: Bad XPath
details: {}
_request_id: 123e4567-e89b-12d3-a456-426655440000
schemas:
ha-configurations-autocomplete:
type: object
description: Autocomplete response for HA configuration fields
properties:
data:
description: List of autocomplete options
type: array
items:
type: object
properties:
value:
description: The value to use
type: string
label:
description: Display label
type: string
description:
description: Help text for the option
type: string
is_keyword:
description: Whether this is a keyword option
type: boolean
type:
description: Type of the value (e.g., variable)
type: string
variable_value:
description: Variable value if type is variable
type: string
id:
description: Additional identifier for the option
type: string
limit:
description: Maximum number of results per page
type: integer
offset:
description: Offset into the list of results
type: integer
total:
description: Total number of results available
type: integer
generic_error:
type: object
properties:
_errors:
$ref: '#/components/schemas/error_detail_cause_infos'
_request_id:
type: string
x-examples: {}
error_detail_cause_info:
type: object
title: Cause Info
properties:
code:
type: string
message:
type: string
details:
type: object
help:
type: string
ha-configurations:
type: object
required:
- interface
- group
properties:
device:
description: Device ID (numeric only)
type: string
pattern: ^\d+$
example: '1234567890'
enabled:
type: boolean
default: true
location:
description: Location identifier
type: string
interface:
type: object
required:
- ha1
- ha2
properties:
ha1:
type: object
required:
- port
properties:
port:
description: HA1 port (use 'management' for management port)
type: string
example: management
ip_address:
description: HA1 IP address (required if port is not management)
type: string
netmask:
description: HA1 netmask (required if port is not management)
type: string
gateway:
description: HA1 default gateway (required if port is not management)
type: string
link_speed:
description: HA1 link speed
type: string
enum:
- auto
- '10'
- '100'
- '1000'
link_duplex:
description: HA1 link duplex
type: string
enum:
- auto
- half
- full
monitor_hold_time:
description: HA1 monitor hold time (milliseconds)
type: integer
minimum: 1000
maximum: 60000
default: 3000
encryption:
type: object
description: HA1 encryption settings
properties:
enabled:
description: Enable HA1 encryption
type: boolean
default: false
ha1_backup:
type: object
properties:
port:
description: HA1 backup port
type: string
ip_address:
description: HA1 backup IP address
type: string
netmask:
description: HA1 backup netmask
type: string
gateway:
description: HA1 backup default gateway
type: string
link_speed:
description: HA1 backup link speed
type: string
enum:
- auto
- '10'
- '100'
- '1000'
link_duplex:
description: HA1 backup link duplex
type: string
enum:
- auto
- half
- full
ha2:
type: object
required:
- port
- ip_address
- netmask
properties:
port:
description: HA2 port
type: string
ip_address:
description: HA2 IP address
type: string
netmask:
description: HA2 netmask
type: string
gateway:
description: HA2 default gateway
type: string
link_speed:
description: HA2 link speed
type: string
enum:
- auto
- '10'
- '100'
- '1000'
link_duplex:
description: HA2 link duplex
type: string
enum:
- auto
- half
- full
ha2_backup:
type: object
properties:
port:
description: HA2 backup port
type: string
ip_address:
description: HA2 backup IP address
type: string
netmask:
description: HA2 backup netmask
type: string
gateway:
description: HA2 backup default gateway
type: string
link_speed:
description: HA2 backup link speed
type: string
enum:
- auto
- '10'
- '100'
- '1000'
link_duplex:
description: HA2 backup link duplex
type: string
enum:
- auto
- half
- full
ha3:
type: object
description: HA3 interface for session synchronization (Active/Active mode)
properties:
port:
description: HA3 port
type: string
group:
type: object
required:
- group_id
- election_option
- mode
- peer_ip
- peer_serial
properties:
group_id:
description: HA group ID (auto-assigned if not provided)
type: string
pattern: ^([1-9]|[1-5][0-9]|6[0-3])$
example: '1'
description:
description: HA group description
type: string
configuration_synchronization:
type: object
description: Configuration synchronization settings
properties:
enabled:
description: Enable configuration synchronization
type: boolean
default: true
ha:
type: object
description: HA profile settings
properties:
ha_profile:
description: HA profile name
type: string
election_option:
type: object
required:
- ha_role
properties:
device_priority:
description: Device priority (0-255, lower value = higher priority)
type: string
pattern: ^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
default: '100'
example: '100'
ha_role:
description: Device HA role
type: string
enum:
- primary
- secondary
preemptive:
description: Enable preemption
type: boolean
default: false
heartbeat_backup:
description: Enable heartbeat backup
type: boolean
default: false
timers:
type: object
description: HA timer settings (choose one)
properties:
aggressive:
type: object
description: Use aggressive (fast failover) timers
advanced:
type: object
description: Custom advanced timer settings
properties:
additional_master_hold_up_time:
description: Additional master hold up time (milliseconds)
type: integer
flap_max:
description: Maximum flap count
type: integer
heartbeat_interval:
description: Heartbeat interval (milliseconds)
type: integer
hello_interval:
description: Hello interval (milliseconds)
type: integer
monitor_fail_hold_up_time:
description: Monitor fail hold up time (milliseconds)
type: integer
preemption_hold_time:
description: Preemption hold time (milliseconds)
type: integer
promotion_hold_time:
description: Promotion hold time (milliseconds)
type: integer
peer_ip:
description: Peer HA1 IP address
type: string
peer_ip_backup:
description: Peer HA1 backup IP address
type: string
peer_serial:
description: Serial number of the HA peer
type: string
state_synchronization:
type: object
properties:
enabled:
description: Enable session synchronization
type: boolean
transport:
description: Session synchronization transport
type: string
enum:
- ethernet
- ip
- udp
ha2_keep_alive:
type: object
properties:
enabled:
description: Enable HA2 keep-alives
type: boolean
default: false
action:
description: Keep-alive action
type: string
enum:
- log-only
- split-datapath
threshold:
description: Keep-alive threshold (milliseconds)
type: integer
minimum: 5000
maximum: 60000
default: 10000
mode:
type: object
description: HA mode (active_passive or active_active, mutually exclusive)
properties:
active_passive:
type: object
description: Active/Passive mode settings
properties:
passive_link_state:
description: Passive link state
type: string
enum:
- shutdown
- auto
monitor_fail_hold_down_time:
description: Monitor fail hold down time (milliseconds)
type: integer
minimum: 1000
maximum: 60000
default: 3000
active_active:
type: object
description: Active/Active mode settings
required:
- device_id
properties:
device_id:
description: Device ID in HA pair (0 or 1)
type: string
enum:
- '0'
- '1'
tentative_hold_time:
description: Tentative hold time
type: string
session_owner_selection:
type: object
description: Session owner selection method (choose one)
properties:
primary_device:
type: object
description: Primary device owns all sessions
first_packet:
type: object
description: Device receiving first packet owns session
network_configuration:
type: object
description: Network configuration sync settings
properties:
sync:
type: object
properties:
logical_router:
description: Sync logical router configuration
type: string
enum:
- 'yes'
- 'no'
qos:
description: Sync QoS configuration
type: string
enum:
- 'yes'
- 'no'
virtual_address:
type: array
description: Virtual address configurations for Active/Active HA
items:
type: object
required:
- name
properties:
name:
description: Virtual address group name (interface or variable name)
type: string
example: ethernet1/1
ip:
type: array
description: IPv4 address entries
items:
type: object
required:
- name
properties:
name:
description: IP address or variable name
type: string
example: 10.0.0.1
floating:
type: object
description: Floating IP configuration
properties:
bind_to_active_primary:
description: Bind to active primary device
type: boolean
default: false
device_priority:
type: object
description: Device priority settings for failover
properties:
device_0:
description: Priority value for device 0
type: string
example: '1'
device_1:
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-high-availability-configurations-api-openapi.yml