Palo Alto Networks Snippet Snapshots API
Snippet Snapshots
Snippet Snapshots
openapi: 3.2.0
info:
version: 2.0.0
title: Configuration Setup Snippet Snapshots API
description: These APIs are used to define how Strata Cloud Manager configurations are implemented.
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/setup/v1
description: Current
security:
- scmToken: []
tags:
- name: Snippet Snapshots
description: Snippet Snapshots
paths:
/snippet-snapshots:
post:
summary: Save Snippet Snapshots
description: 'Save Snippet Snapshots.
'
tags:
- Snippet Snapshots
operationId: SaveSnippetSnapshot
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/save_snippet_snapshot_payload'
description: The `Save Snippet Snapshots` resource definition
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/save_snippet_snapshot_config_response'
description: OK
'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'
/snippet-snapshots:publish:
post:
summary: Publish Snippet Snapshots
description: 'Publish Snippet Snapshots.
'
tags:
- Snippet Snapshots
operationId: PublishSnippetSnapshot
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_publish_request'
description: The `Snippet Snapshots To Publish` resource definition
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_publish_response'
description: OK
'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'
/snippet-snapshots:compare:
post:
summary: Compare Snippet Snapshots
description: 'Compare Snippet Snapshots.
'
tags:
- Snippet Snapshots
operationId: CompareSnippetSnapshot
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/compare_snippet_snapshot_config_payload'
description: The `Snippet Snapshots To Compare` resource definition
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_compare_response'
description: OK
'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'
/snippet-snapshots:diff:
post:
summary: Diff Snippet Snapshots
description: 'Diff Snippet Snapshots.
'
tags:
- Snippet Snapshots
operationId: DiffSnippetSnapshot
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/compare_tlo_payload'
description: The `Snippet Snapshots To Differentiate` resource definition
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_diff_response'
description: OK
'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'
/snippet-snapshots:load:
post:
summary: Load Snippet Snapshots
description: 'Load Snippet Snapshots.
'
tags:
- Snippet Snapshots
operationId: LoadSnippetSnapshot
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_load_snippet_payload'
description: The `Snippet Snapshots To Load` resource definition
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_load_snippet_response'
description: OK
'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'
/snippet-snapshots:updates:
post:
summary: Update Snippet Snapshots
description: 'Update Snippet Snapshots.
'
tags:
- Snippet Snapshots
operationId: UpdateSnippetSnapshot
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_subscriber_compare_payload'
description: The `Snippet Snapshots To Update` resource definition
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response'
description: OK
'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'
/snippet-snapshots:convert:
post:
summary: Convert Snippet Snapshots
description: 'Convert Snippet Snapshots.
'
tags:
- Snippet Snapshots
operationId: ConvertSnippetSnapshot
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/common_snippet_snapshot_payload'
description: The `Snippet Snapshots To Convert` resource definition
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/dynamic_entry'
description: OK
'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'
components:
schemas:
compare_snippet_snapshot_config_payload:
type: object
properties:
id:
type: string
version:
type: integer
comparing_version:
type: integer
required:
- id
- version
- comparing_version
save_snippet_snapshot_payload:
type: object
properties:
id:
type: string
description:
type: string
required:
- id
- description
save_snippet_snapshot_config_response:
type: object
readOnly: true
properties:
status:
type: string
readOnly: true
result:
type: object
readOnly: true
properties:
version:
type: string
dynamic_entry:
type: object
readOnly: true
additionalProperties: true
snippet_snapshot_publish_response:
type: object
readOnly: true
properties:
id:
type: string
readOnly: true
tsgs:
type: array
readOnly: true
items:
type: string
version:
type:
- integer
- 'null'
readOnly: true
file_id:
type:
- integer
- 'null'
readOnly: true
job_id:
type: integer
readOnly: true
snippet_snapshot_load_snippet_payload:
type: object
properties:
id:
type: string
version:
type: string
required:
- id
- version
generic_error:
type: object
properties:
_errors:
$ref: '#/components/schemas/error_detail_cause_infos'
_request_id:
type: string
error_detail_cause_info:
title: Cause Info
type: object
properties:
code:
type: string
message:
type: string
details:
oneOf:
- type: string
- type: object
help:
type: string
snippet_snapshot_load_snippet_response:
type: object
readOnly: true
properties:
status:
type: string
error_detail_cause_infos:
type: array
items:
$ref: '#/components/schemas/error_detail_cause_info'
snippet_snapshot_compare_entry:
type: object
readOnly: true
properties:
id:
type: string
readOnly: true
admin:
type: string
readOnly: true
format: email
loc:
type: string
loctype:
type: string
objectname:
type: string
objecttype:
type: string
operations:
type: string
enum:
- edit
- create
timestamp:
type: string
format: date-time
common_snippet_snapshot_payload:
type: object
properties:
id:
type: string
keep_local:
type: boolean
snippet_snapshot_subscriber_compare_payload:
type: object
properties:
id:
type: string
tenant_id:
type: string
description: Publisher Tenant ID
required:
- id
- tenant_id
snippet_snapshot_diff_response:
type: object
properties:
after:
type: object
readOnly: true
properties:
'@ts':
type: string
readOnly: true
format: date-time
entry:
type: array
readOnly: true
items:
$ref: '#/components/schemas/dynamic_entry'
before:
type: object
properties:
'@ts':
type: string
format: date-time
entry:
type: array
items:
$ref: '#/components/schemas/dynamic_entry'
snippet_snapshot_compare_response:
type: array
readOnly: true
items:
$ref: '#/components/schemas/snippet_snapshot_compare_entry'
compare_tlo_payload:
type: object
properties:
snippet_id:
type: string
object_id:
type: string
version:
type: integer
comparing_version:
type: integer
required:
- snippet_id
- object_id
- version
- comparing_version -
snippet_snapshot_subscriber_compare_response:
type: object
properties:
publisher:
type: object
readOnly: true
properties:
entry:
type: array
items:
$ref: '#/components/schemas/dynamic_entry'
subscriber:
type: object
readOnly: true
properties:
entry:
type: array
items:
$ref: '#/components/schemas/dynamic_entry'
snippet_snapshot_publish_request:
type: object
properties:
id:
type: string
name:
type: string
tsgs:
type: array
items:
type: string
validation:
type: boolean
version:
type: integer
examples:
json_401_panui_auth_key_expired:
summary: Key Expired
value:
_errors:
- code: E016
message: Key Expired
details: {}
_request_id: abcd-1234
json_501_panui_restapi_method_not_supported:
summary: Method Not Supported
value:
_errors:
- code: E012
message: Method Not Supported
details: {}
_request_id: abcd-1234
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: abcd-1234
json_501_panui_restapi_version_not_supported:
summary: Version Not Supported
value:
_errors:
- code: E012
message: Version Not Supported
details: {}
_request_id: abcd-1234
json_409_panui_mgmt_name_not_unique:
summary: Name Not Unique
value:
_errors:
- code: E006
message: Name Not Unique
details: {}
_request_id: abcd-1234
json_409_panui_mgmt_object_not_unique:
summary: Object Not Unique
value:
_errors:
- code: E016
message: Object Not Unique
details: {}
_request_id: abcd-1234
json_400_panui_restapi_missing_body:
summary: Missing Body
value:
_errors:
- code: E003
message: Missing Body
details: {}
_request_id: abcd-1234
json_409_panui_mgmt_reference_not_zero:
summary: Reference Not Zero
value:
_errors:
- code: E009
message: Reference Not Zero
details: {}
_request_id: abcd-1234
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: abcd-1234
json_400_panui_mgmt_invalid_command:
summary: Invalid Command
value:
_errors:
- code: E003
message: Invalid Command
details: {}
_request_id: abcd-1234
json_401_panui_auth_not_authenticated:
summary: Not Authenticated
value:
_errors:
- code: E016
message: Not Authenticated
details: {}
_request_id: abcd-1234
json_401_panui_auth_invalid_credential:
summary: Invalid Credential
value:
_errors:
- code: E016
message: Invalid Credential
details: {}
_request_id: abcd-1234
json_403_panui_auth_unauthorized:
summary: Unauthorized
value:
_errors:
- code: E007
message: Unauthorized
details: {}
_request_id: abcd-1234
json_400_panui_restapi_missing_query_parameter:
summary: Missing Query Parameter
value:
_errors:
- code: E003
message: 'Missing Query Parameter: name'
details: {}
_request_id: abcd-1234
json_405_panui_restapi_action_not_supported:
summary: Action Not Supported
value:
_errors:
- code: E012
message: 'Action Not Supported: move'
details: {}
_request_id: abcd-1234
json_400_panui_restapi_invalid_query_parameter:
summary: Invalid Query Parameter
value:
_errors:
- code: E003
message: 'Invalid Query Parameter: location=invalid'
details: {}
_request_id: abcd-1234
json_401_panui_auth_key_too_long:
summary: Key Too Long
value:
_errors:
- code: E016
message: Key Too Long
details: {}
_request_id: abcd-1234
json_400_panui_mgmt_invalid_object:
summary: Invalid Object
value:
_errors:
- code: E003
message: Invalid Object
details: {}
_request_id: abcd-1234
json_400_panui_mgmt_malformed_command:
summary: Malformed Command
value:
_errors:
- code: E003
message: Malformed Command
details: {}
_request_id: abcd-1234
json_504_panui_mgmt_session_timeout:
summary: Session Timeout
value:
_errors:
- code: '4'
message: Session Timeout
details: {}
_request_id: abcd-1234
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: abcd-1234
json_400_panui_mgmt_bad_xpath:
summary: Bad XPath
value:
_errors:
- code: E013
message: Bad XPath
details: {}
_request_id: abcd-1234
responses:
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'
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'
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