Palo Alto Networks High Availability Configurations API

High Availability Configurations

OpenAPI Specification

palo-alto-networks-high-availability-configurations-api-openapi.yml Raw ↑
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