Palo Alto Networks External Dynamic Lists API
External Dynamic Lists
External Dynamic Lists
openapi: 3.2.0
info:
version: 2.0.0
title: Objects External Dynamic Lists API
description: These APIs are used for defining and managing policy object 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/objects/v1
description: Current
- url: https://api.sase.paloaltonetworks.com/sse/config/v1
description: Legacy
security:
- scmToken: []
tags:
- name: External Dynamic Lists
description: External Dynamic Lists
paths:
/external-dynamic-lists:
get:
tags:
- External Dynamic Lists
summary: List External Dynamic Lists
description: 'Retrieve a list of External Dynamic Lists.
'
operationId: ListExternalDynamicLists
parameters:
- $ref: '#/components/parameters/name'
- $ref: '#/components/parameters/folder'
- $ref: '#/components/parameters/snippet'
- $ref: '#/components/parameters/device'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
allOf:
- type: array
items:
$ref: '#/components/schemas/external-dynamic-lists'
limit:
type: integer
default: 200
offset:
type: integer
default: 0
total:
type: integer
'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:
- External Dynamic Lists
summary: Create an External Dynamic List
description: 'Create a new External Dynamic List.
'
operationId: CreateExternalDynamicLists
requestBody:
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/external-dynamic-lists'
responses:
'201':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/external-dynamic-lists'
'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'
/external-dynamic-lists/{id}:
get:
tags:
- External Dynamic Lists
summary: Get an External Dynamic List
description: 'Get an existing External Dynamic List.
'
operationId: GetExternalDynamicListsByID
parameters:
- $ref: '#/components/parameters/uuid'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/external-dynamic-lists'
'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'
put:
tags:
- External Dynamic Lists
summary: Update an External Dynamic List
description: 'Update an existing External Dynamic List.
'
operationId: UpdateExternalDynamicListsByID
parameters:
- $ref: '#/components/parameters/uuid'
requestBody:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/external-dynamic-lists'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/external-dynamic-lists'
'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:
- External Dynamic Lists
summary: Delete an External Dynamic List
description: 'Delete an External Dynamic List.
'
operationId: DeleteExternalDynamicListsByID
parameters:
- $ref: '#/components/parameters/uuid'
responses:
'200':
$ref: '#/components/responses/http_ok'
'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'
'409':
$ref: '#/components/responses/conflict_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
parameters:
uuid:
name: id
in: path
description: The UUID of the configuration resource
required: true
schema:
type: string
format: uuid
example: 123e4567-e89b-12d3-a456-426655440000
name:
name: name
in: query
description: The name of the configuration resource
required: false
schema:
type: string
limit:
name: limit
in: query
description: The maximum number of results per page
required: false
schema:
type: integer
default: 200
folder:
name: folder
in: query
description: 'The folder in which the resource is defined
'
required: false
schema:
type: string
snippet:
name: snippet
in: query
description: 'The snippet in which the resource is defined
'
required: false
schema:
type: string
offset:
name: offset
in: query
description: The offset into the list of results returned
required: false
schema:
type: integer
default: 0
device:
name: device
in: query
description: 'The device in which the resource is defined
'
required: false
schema:
type: string
responses:
http_ok:
description: OK
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'
schemas:
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:
oneOf:
- type: string
- type: object
help:
type: string
external-dynamic-lists:
type: object
description: External Dynamic Lists
required:
- name
properties:
id:
type: string
description: The UUID of the external dynamic list
readOnly: true
example: 123e4567-e89b-12d3-a456-426655440000
name:
type: string
pattern: ^[ a-zA-Z\d.\-_]+$
description: The name of the external dynamic list
maxLength: 63
type:
type: object
description: Type configuration for External Dynamic List
oneOf:
- type: object
title: predefined_ip
description: Predefined IP configuration for External Dynamic List
properties:
predefined_ip:
type: object
description: Predefined IP settings for EDL type
properties:
exception_list:
type: array
description: IP Exception List for Predefined IP type
items:
type: string
maxLength: 255
description:
type: string
maxLength: 255
url:
type: string
description: URL source for Predefined IP type
required:
- url
- type: object
title: predefined_url
description: Predefined URL configuration for External Dynamic List
properties:
predefined_url:
type: object
description: Predefined URL settings for EDL type
properties:
exception_list:
type: array
description: URL Exception List for Predefined URL type
items:
type: string
maxLength: 255
description:
type: string
maxLength: 255
url:
type: string
description: URL source for Predefined URL type
required:
- url
- type: object
title: ip
description: Custom IP configuration for External Dynamic List
properties:
ip:
type: object
description: IP settings for Custom IP type
properties:
exception_list:
type: array
description: IP Exception List for Custom IP type
items:
type: string
maxLength: 255
description:
type: string
maxLength: 255
url:
type: string
maxLength: 255
default: http://
description: External URL for Custom IP type
certificate_profile:
type: string
description: Profile for authenticating client certificates
default: None
x-panMultiple:
- type: string
- enum:
- None
type: string
auth:
type: object
description: Authentication settings for Custom IP type
properties:
username:
type: string
minLength: 1
maxLength: 255
description: Username for Custom IP authentication
password:
type: string
format: password
maxLength: 255
description: Password for Custom IP authentication
required:
- username
- password
recurring:
type: object
description: Update Schedule for Custom IP type
oneOf:
- type: object
title: five_minute
description: Five minute interval for IP updates
properties:
five_minute:
type: object
description: Five minute settings for IP recurring
required:
- five_minute
- type: object
title: hourly
description: Hourly interval for IP updates
properties:
hourly:
type: object
description: Hourly settings for IP recurring
required:
- hourly
- type: object
title: daily
description: Daily interval for IP updates
properties:
daily:
type: object
description: Daily settings for IP recurring
properties:
at:
type: string
description: Daily Time specification hh (e.g. 20) for IP
pattern: ([01][0-9]|[2][0-3])
minLength: 2
maxLength: 2
default: '00'
required:
- at
required:
- daily
- type: object
title: weekly
description: Weekly interval for IP updates
properties:
weekly:
type: object
description: Weekly settings for IP recurring
properties:
day_of_week:
enum:
- sunday
- monday
- tuesday
- wednesday
- thursday
- friday
- saturday
at:
type: string
description: Weekly Time specification hh (e.g. 20) for IP
pattern: ([01][0-9]|[2][0-3])
minLength: 2
maxLength: 2
default: '00'
required:
- day_of_week
- at
required:
- weekly
- type: object
title: monthly
description: Monthly interval for IP updates
properties:
monthly:
type: object
description: Monthly settings for IP recurring
properties:
day_of_month:
type: integer
minimum: 1
maximum: 31
description: Day setting for monthly IP updates
at:
type: string
description: Monthly Time specification hh (e.g. 20) for IP
pattern: ([01][0-9]|[2][0-3])
minLength: 2
maxLength: 2
default: '00'
required:
- day_of_month
- at
required:
- monthly
required:
- url
- recurring
- type: object
title: domain
description: Custom Domain configuration for External Dynamic List
properties:
domain:
type: object
description: Domain settings for Custom Domain type
properties:
exception_list:
type: array
description: Domain Exception List for Custom Domain type
items:
type: string
maxLength: 255
description:
type: string
maxLength: 255
url:
type: string
maxLength: 255
default: http://
description: External URL for Custom Domain type
certificate_profile:
type: string
description: Profile for authenticating client certificates
default: None
x-panMultiple:
- type: string
- enum:
- None
type: string
auth:
type: object
description: Authentication settings for Custom Domain type
properties:
username:
type: string
minLength: 1
maxLength: 255
description: Username for Custom Domain authentication
password:
type: string
format: password
maxLength: 255
description: Password for Custom Domain authentication
required:
- username
- password
recurring:
type: object
description: Update Schedule for Custom Domain type
oneOf:
- type: object
title: hourly
description: Hourly interval for Domain updates
properties:
hourly:
type: object
description: Hourly settings for Domain recurring
required:
- hourly
- type: object
title: five_minute
description: Five minute interval for Domain updates
properties:
five_minute:
type: object
description: Five minute settings for Domain recurring
required:
- five_minute
- type: object
title: daily
description: Daily interval for Domain updates
properties:
daily:
type: object
description: Daily settings for Domain recurring
properties:
at:
type: string
description: Daily Time specification hh (e.g. 20) for Domain
pattern: ([01][0-9]|[2][0-3])
minLength: 2
maxLength: 2
default: '00'
required:
- at
required:
- daily
- type: object
title: weekly
description: Weekly interval for Domain updates
properties:
weekly:
type: object
description: Weekly settings for Domain recurring
properties:
day_of_week:
enum:
- sunday
- monday
- tuesday
- wednesday
- thursday
- friday
- saturday
at:
type: string
description: Weekly Time specification hh (e.g. 20) for Domain
pattern: ([01][0-9]|[2][0-3])
minLength: 2
maxLength: 2
default: '00'
required:
- day_of_week
- at
required:
- weekly
- type: object
title: monthly
description: Monthly interval for Domain updates
properties:
monthly:
type: object
description: Monthly settings for Domain recurring
properties:
day_of_month:
type: integer
minimum: 1
maximum: 31
description: Day setting for monthly Domain updates
at:
type: string
description: Monthly Time specification hh (e.g. 20) for domain
pattern: ([01][0-9]|[2][0-3])
minLength: 2
maxLength: 2
default: '00'
required:
- day_of_month
- at
required:
- monthly
expand_domain:
type: boolean
description: Enable/Disable expand domain
default: false
required:
- url
- re
# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-external-dynamic-lists-api-openapi.yml