Palo Alto Networks EDL Definitions API
The EDL Definitions API from Palo Alto Networks — 2 operation(s) for edl definitions.
The EDL Definitions API from Palo Alto Networks — 2 operation(s) for edl definitions.
openapi: 3.2.0
info:
contact:
email: support@paloaltonetworks.com
name: Palo Alto Networks Technical Support
url: https://support.paloaltonetworks.com
description: These APIs are used to define how Advanced DNS Security Resolver configurations are implemented.
license:
name: MIT
url: https://opensource.org/license/mit
termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf
title: Advanced DNS Security Resolver Configuration EDL Definitions API
version: 1.0.0
servers:
- description: Prod
url: https://api.strata.paloaltonetworks.com
security:
- scmToken: []
tags:
- name: EDL Definitions
paths:
/adns-resolver/v1/edls:
get:
description: Retrieve all EDL definitions.
operationId: ListEDLDefinitions
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/edls'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Not Found
'405':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Method Not Allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Conflict
'412':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Precondition Failed
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unprocessable Entity
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Internal Server Error
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Service Unavailable
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error
summary: List EDL definitions
tags:
- EDL Definitions
post:
description: Create a new EDL definition.
operationId: CreateEDLDefinition
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/edl-definition-input'
description: EDL definition to be created
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/edl-item'
description: Created
headers:
Location:
schema:
description: URI of the created EDL definition resource
type: string
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Not Found
'405':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Method Not Allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Conflict
'412':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Precondition Failed
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unprocessable Entity
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Internal Server Error
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Service Unavailable
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error
summary: Create an EDL definition
tags:
- EDL Definitions
/adns-resolver/v1/edls/{edl-id}:
delete:
description: Delete a specific EDL definition by ID.
operationId: DeleteEDLDefinitionByID
parameters:
- description: EDL Definition ID
in: path
name: edl-id
required: true
schema:
description: EDL Definition ID
type: string
responses:
'204':
description: No Content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Not Found
'405':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Method Not Allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Conflict
'412':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Precondition Failed
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unprocessable Entity
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Internal Server Error
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Service Unavailable
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error
summary: Delete an EDL definition
tags:
- EDL Definitions
get:
description: Retrieve a specific EDL definition by ID.
operationId: GetEDLDefinitionByID
parameters:
- description: EDL definition ID
in: path
name: edl-id
required: true
schema:
description: EDL definition ID
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/edl-item'
description: OK
headers:
Location:
schema:
description: URI of the created EDL definition resource
type: string
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Not Found
'405':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Method Not Allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Conflict
'412':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Precondition Failed
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unprocessable Entity
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Internal Server Error
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Service Unavailable
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error
summary: Get an EDL definition
tags:
- EDL Definitions
put:
description: Update an existing EDL definition.
operationId: UpdateEDLDefinitionByID
parameters:
- description: EDL definition ID
in: path
name: edl-id
required: true
schema:
description: EDL definition ID
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/edl-definition-input'
description: EDL definition to be modified
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/edl-item'
description: OK
headers:
Location:
schema:
description: URI of the created EDL definition resource
type: string
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Not Found
'405':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Method Not Allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Conflict
'412':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Precondition Failed
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Unprocessable Entity
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Internal Server Error
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Service Unavailable
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error
summary: Update an EDL definition
tags:
- EDL Definitions
components:
schemas:
error-code:
oneOf:
- enum:
- 1001
title: 1001 - Forbidden
type: integer
- enum:
- 1002
title: 1002 - Invalid Input
type: integer
- enum:
- 1004
title: 1004 - Invalid Output
type: integer
- enum:
- 1005
title: 1005 - Internal Server Error
type: integer
- enum:
- 1006
title: 1006 - Precondition Failed
type: integer
- enum:
- 1007
title: 1007 - Method Not Allowed
type: integer
- enum:
- 1008
title: 1008 - Not Found
type: integer
- enum:
- 1009
title: 1009 - Service Unavailable
type: integer
- enum:
- 1010
title: 1010 - Duplicate Not Allowed
type: integer
- enum:
- 1011
title: 1011 - Expired License
type: integer
- enum:
- 1012
title: 1012 - Dependency Error
type: integer
- enum:
- 1013
title: 1013 - Subnet Already Verified
type: integer
- enum:
- 1014
title: 1014 - In Grace
type: integer
- enum:
- 1015
title: 1015 - Limit Exceeded
type: integer
- enum:
- 1016
title: 1016 - Duplicate Subnet Not Allowed
type: integer
- enum:
- 1017
title: 1017 - IP Limit Exceeded
type: integer
- enum:
- 1018
title: 1018 - FQDN Limit Exceeded
type: integer
- enum:
- 1019
title: 1019 - Private Subnet
type: integer
- enum:
- 1020
title: 1020 - Mapped IPv4
type: integer
- enum:
- 1021
title: 1021 - Invalid Subnet
type: integer
- enum:
- 1022
title: 1022 - Invalid Sinkhole
type: integer
- enum:
- 1023
title: 1023 - Allowed Subnet Required
type: integer
- enum:
- 1024
title: 1024 - Cross Tenant Subnet Conflict
type: integer
title: error-code
type: integer
error-detail:
additionalProperties: false
properties:
code:
$ref: '#/components/schemas/error-code'
description: Error code identifier
details:
description: Additional error details
items:
type: string
type:
- array
- 'null'
help:
description: URL to error documentation
type: string
message:
description: Human-readable error message
type: string
required:
- code
- message
type: object
edl-definition-input:
additionalProperties: false
properties:
ca_cert_id:
examples:
- CA Certificate ID(Optional)
type: string
is_expansion_enabled:
examples:
- false
type: boolean
name:
examples:
- EDL Definition name
maxLength: 128
minLength: 1
type: string
password:
examples:
- password(Optional)
maxLength: 40
type: string
poll_duration:
enum:
- FIVE_MINUTES
- HOURLY
- DAILY
- WEEKLY
- MONTHLY
examples:
- DAILY
type: string
url:
examples:
- https://example.com/edl
maxLength: 2048
minLength: 1
type: string
user:
examples:
- username(Optional)
maxLength: 40
type: string
required:
- name
- url
- poll_duration
type: object
error:
additionalProperties: false
properties:
_errors:
description: Array of error objects
items:
$ref: '#/components/schemas/error-detail'
type:
- array
- 'null'
_request_id:
description: Request identifier for tracking
type: string
required:
- _errors
type: object
edl-item:
additionalProperties: false
properties:
item:
$ref: '#/components/schemas/edl-definition'
required:
- item
type: object
edls:
additionalProperties: false
properties:
data:
items:
$ref: '#/components/schemas/edl-definition'
type:
- array
- 'null'
required:
- data
type: object
edl-definition:
additionalProperties: false
properties:
ca_cert_id:
description: CA certificate ID for EDL authentication
examples:
- 123-45
type: string
checked_at:
description: Timestamp when EDL was last checked
examples:
- '2024-01-15T10:30:00Z'
readOnly: true
type: string
error_message:
description: Error message if EDL fetch failed
examples:
- Connection timeout
readOnly: true
type: string
error_type:
description: Type of error encountered during EDL processing
enum:
- INVALID_URL
- CERT_ERROR
- CONNECT_ERROR
- NON_2XX_ERROR
- READ_ERROR
- SAVE_ERROR
- CONTENT_TYPE_ERROR
- TIMEOUT_ERROR
- NO_VALID_EDL_ERROR
examples:
- INVALID_URL
readOnly: true
type: string
expanded_lines:
description: Number of expanded lines in the EDL
examples:
- 1200
format: int64
readOnly: true
type: integer
has_password:
description: Indicates if password is set for EDL authentication
examples:
- true
readOnly: true
type: boolean
http_status:
description: HTTP status code from EDL fetch attempt
examples:
- 200
format: int64
readOnly: true
type: integer
id:
description: Unique identifier of the EDL definition
examples:
- 1234-5678
readOnly: true
type: string
invalid_lines:
description: Number of invalid lines in the EDL
examples:
- 50
format: int64
readOnly: true
type: integer
is_expansion_enabled:
description: Indicates if EDL line expansion is enabled
examples:
- true
type: boolean
is_truncated:
description: Indicates if the EDL content is truncated
examples:
- false
readOnly: true
type: boolean
name:
description: Name of the EDL definition
examples:
- Malware EDL
maxLength: 128
type: string
poll_duration:
description: Polling duration for EDL updates
enum:
- FIVE_MINUTES
- HOURLY
- DAILY
- WEEKLY
- MONTHLY
examples:
- DAILY
type: string
status:
description: Status of the EDL definition
enum:
- SUCCESS
- WARNING
- PENDING
- ERROR
examples:
- SUCCESS
readOnly: true
type: string
url:
description: URL of the EDL source
examples:
- https://example.com/malware-list.txt
maxLength: 2048
type: string
user:
description: Username for EDL authentication
examples:
- admin
maxLength: 40
type: string
valid_lines:
description: Number of valid lines in the EDL
examples:
- 1000
format: int64
readOnly: true
type: integer
required:
- id
- name
- url
- has_password
- poll_duration
type: object
securitySchemes:
scmToken:
bearerFormat: JWT
description: "Advanced DNS Security Resolver 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
type: http