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: description: Priority value for device 1 type: string example: '1' failover_on_link_down: description: Failover when link goes down type: boolean default: true ipv6: type: array description: IPv6 address entries items: type: object required: - name properties: name: description: IPv6 address or variable name type: string example: 2001:db8::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: description: Priority value for device 1 type: string example: '1' failover_on_link_down: description: Failover when link goes down type: boolean default: true monitoring: type: object properties: path_monitoring: type: object properties: enabled: description: Enable path monitoring type: boolean default: false failure_condition: description: Path monitoring failure condition type: string enum: - any - all path_group: type: object properties: vlan: description: VLAN path groups type: array items: type: object required: - name properties: name: description: VLAN path group name type: string source_ip: description: Source IP address type: string enabled: description: Enable VLAN path group type: boolean default: true failure_condition: description: Failure condition type: string enum: - any - all ping_interval: description: Ping interval (milliseconds) type: integer minimum: 200 maximum: 60000 default: 200 ping_count: description: Ping count type: integer minimum: 3 maximum: 10 default: 10 destination_ip_group: type: array items: type: object properties: name: description: Destination IP group name type: string destination_ip: description: Destination IP addresses type: array items: type: string enabled: description: Enable destination IP group type: boolean failure_condition: description: Failure condition type: string enum: - any - all logical_router: description: Logical router path groups type: array items: type: object required: - name properties: name: description: Logical router name type: string enabled: description: Enable path group type: boolean default: true failure_condition: description: Failure condition type: string enum: - any - all ping_interval: description: Ping interval (milliseconds) type: integer minimum: 200 maximum: 60000 default: 200 ping_count: description: Ping count type: integer minimum: 3 maximum: 10 default: 10 destination_ip_group: type: array items: type: object required: - name properties: name: description: Destination IP group name type: string destination_ip: description: Destination IP addresses type: array items: type: string enabled: description: Enable destination IP group type: boolean failure_condition: description: Failure condition type: string enum: - any - all link_monitoring: type: object properties: enabled: description: Enable link monitoring type: boolean default: false failure_condition: description: Failure condition type: string enum: - any - all link_group: description: Link groups type: array items: type: object required: - name properties: name: description: Link group name type: string enabled: description: Enable link group type: boolean default: true failure_condition: description: Failure condition type: string enum: - any - all interface: description: Interfaces to monitor type: array items: type: string error_detail_cause_infos: type: array items: $ref: '#/components/schemas/error_detail_cause_info' x-examples: {} responses: not_found: description: Not Found content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: object_not_present: $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' default_errors: description: General Errors content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: version_not_supported: $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' method_not_allowed: $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' action_not_supported: $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' bad_xpath: $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' invalid_command: $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' malformed_command: $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' session_timeout: $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' bad_request_errors_basic_with_body: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: input_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' output_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' missing_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' invalid_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' missing_body: $ref: '#/components/examples/json_400_panui_restapi_missing_body' invalid_object: $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' bad_request_errors_basic: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: input_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' output_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' missing_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' invalid_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' auth_errors: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: auth_not_authenticated: $ref: '#/components/examples/json_401_panui_auth_not_authenticated' invalid_credential: $ref: '#/components/examples/json_401_panui_auth_invalid_credential' key_too_long: $ref: '#/components/examples/json_401_panui_auth_key_too_long' key_expired: $ref: '#/components/examples/json_401_panui_auth_key_expired' need_password_change: $ref: '#/components/examples/json_401_panui_auth_need_password_change' conflict_errors: description: Conflict content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: object_not_unique: $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' name_not_unique: $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' reference_not_zero: $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' access_errors: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: auth_unauthorized: $ref: '#/components/examples/json_403_panui_auth_unauthorized' parameters: limit: name: limit in: query description: The maximum number of results per page required: false schema: type: integer default: 200 offset: name: offset in: query description: The offset into the list of results returned required: false schema: type: integer default: 0 securitySchemes: scmOAuth: type: oauth2 description: "Strata Cloud Manager APIs authenticate client requests using the \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n" flows: clientCredentials: tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token scopes: {} scmToken: type: http description: "Strata Cloud Manager APIs authenticate client requests using the \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n" scheme: bearer bearerFormat: JWT x-internal: false