Palo Alto Networks EDL Definitions API

The EDL Definitions API from Palo Alto Networks — 2 operation(s) for edl definitions.

OpenAPI Specification

palo-alto-networks-edl-definitions-api-openapi.yml Raw ↑
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