Palo Alto Networks Internal Domains API

The Internal Domains API from Palo Alto Networks — 2 operation(s) for internal domains.

OpenAPI Specification

palo-alto-networks-internal-domains-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 Internal Domains API
  version: 1.0.0
servers:
- description: Prod
  url: https://api.strata.paloaltonetworks.com
security:
- scmToken: []
tags:
- name: Internal Domains
paths:
  /adns-resolver/v1/internal-domains:
    get:
      description: Retrieve internal domains. Returns custom domains by default. Use query parameter type=default to retrieve system-provided default domains instead.
      operationId: ListInternalDomains
      parameters:
      - description: Maximum number of items to return
        explode: false
        in: query
        name: limit
        schema:
          default: 200
          description: Maximum number of items to return
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
      - description: Number of items to skip
        explode: false
        in: query
        name: offset
        schema:
          default: 0
          description: Number of items to skip
          format: int32
          minimum: 0
          type: integer
      - description: Field to sort by (id, domain, description, created_at, last_updated_at)
        explode: false
        in: query
        name: sort_by
        schema:
          default: created_at
          description: Field to sort by (id, domain, description, created_at, last_updated_at)
          enum:
          - id
          - domain
          - description
          - created_at
          - last_updated_at
          type: string
      - description: Sort order (ASC or DESC)
        explode: false
        in: query
        name: sort_order
        schema:
          default: DESC
          description: Sort order (ASC or DESC)
          enum:
          - ASC
          - DESC
          type: string
      - description: Search term to filter by domain or description
        explode: false
        in: query
        name: search
        schema:
          description: Search term to filter by domain or description
          type: string
      - description: Filter by internal domain type
        explode: false
        in: query
        name: type
        schema:
          default: custom
          description: Filter by internal domain type
          enum:
          - default
          - custom
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal-domains'
          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 internal domains
      tags:
      - Internal Domains
    post:
      description: 'Create a new custom internal domain. Note: Default internal domains are read-only and cannot be created via API.'
      operationId: CreateInternalDomain
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/internal-domain-input'
              description: Internal domain input to create
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal-domain-item'
          description: Created
          headers:
            Location:
              schema:
                description: URI of the created internal domain 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 a custom internal domain
      tags:
      - Internal Domains
  /adns-resolver/v1/internal-domains/{internal-domain-id}:
    delete:
      description: 'Delete a specific custom internal domain by ID. Note: Default internal domains are read-only and cannot be deleted.'
      operationId: DeleteInternalDomainByID
      parameters:
      - description: Internal Domain ID
        in: path
        name: internal-domain-id
        required: true
        schema:
          description: Internal Domain 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 a custom internal domain
      tags:
      - Internal Domains
    get:
      description: Retrieve a specific internal domain by ID.
      operationId: GetInternalDomainByID
      parameters:
      - description: Internal Domain ID
        in: path
        name: internal-domain-id
        required: true
        schema:
          description: Internal Domain ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal-domain-item'
          description: OK
          headers:
            Location:
              schema:
                description: URI of the created internal domain 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 internal domain
      tags:
      - Internal Domains
    put:
      description: 'Update an existing custom internal domain. Note: Default internal domains are read-only and cannot be modified.'
      operationId: UpdateInternalDomainByID
      parameters:
      - description: Internal Domain ID
        in: path
        name: internal-domain-id
        required: true
        schema:
          description: Internal Domain ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/internal-domain-input'
              description: Internal domain input to update
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal-domain-item'
          description: OK
          headers:
            Location:
              schema:
                description: URI of the created internal domain 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 a custom internal domain
      tags:
      - Internal Domains
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
    internal-domain-item:
      additionalProperties: false
      properties:
        item:
          $ref: '#/components/schemas/internal-domain'
      required:
      - item
      type: object
    internal-domain-input:
      additionalProperties: false
      properties:
        description:
          examples:
          - Description of the internal domain
          maxLength: 256
          type: string
        domain:
          examples:
          - internal.company.com
          maxLength: 255
          type: string
      required:
      - domain
      type: object
    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
    internal-domain:
      additionalProperties: false
      properties:
        created_at:
          description: Timestamp(UTC) when the domain was created
          examples:
          - '2023-01-15T10:30:00Z'
          format: date-time
          readOnly: true
          type: string
        description:
          description: Description of the domain
          examples:
          - Internal corporate domain
          maxLength: 256
          type: string
        domain:
          description: Domain name
          examples:
          - example.com
          maxLength: 255
          type: string
        id:
          description: Unique identifier for the internal domain
          examples:
          - 123e4567-e89b-12d3-a456-426614174000
          readOnly: true
          type: string
        last_updated_at:
          description: Timestamp(UTC) when the domain was last updated
          examples:
          - '2023-01-20T14:45:00Z'
          format: date-time
          readOnly: true
          type: string
      required:
      - id
      - domain
      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
    internal-domains:
      additionalProperties: false
      properties:
        data:
          items:
            $ref: '#/components/schemas/internal-domain'
          type:
          - array
          - 'null'
        limit:
          default: 200
          description: Maximum number of items returned
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
        offset:
          default: 0
          description: Number of items skipped
          format: int32
          minimum: 0
          type: integer
        total:
          description: Total number of internal domain resources
          format: int32
          minimum: 0
          type: integer
      required:
      - data
      - offset
      - total
      - limit
      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