Palo Alto Networks Data Profiles API

The Data Profiles API from Palo Alto Networks — 2 operation(s) for data profiles.

OpenAPI Specification

palo-alto-networks-data-profiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: "Create and manage data profiles that define collections of data patterns for incident detection. Organize \nmultiple data patterns into logical profiles for comprehensive data protection strategies.\n"
  license:
    name: MIT
    url: https://opensource.org/license/mit
  title: v2 Data Profiles API
  version: 1.0.0
servers:
- url: https://api.dlp.paloaltonetworks.com
tags:
- name: Data Profiles
paths:
  /v2/api/data-profiles:
    get:
      description: Returns a paginated list of data profiles for the authenticated tenant.
      operationId: get-v2-api-data-profiles
      parameters:
      - description: Zero-based page index (0..N)
        in: query
        name: page
        required: false
        schema:
          default: 0
          minimum: 0
          type: integer
      - description: The size of the page to be returned
        in: query
        name: size
        required: false
        schema:
          default: 20
          minimum: 1
          type: integer
      - description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        in: query
        name: sort
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageDataProfileResponse'
          description: Paginated list of data profiles
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient privileges
      security:
      - Bearer: []
      summary: List Data Profiles
      tags:
      - Data Profiles
    post:
      description: Creates a new data profile for the authenticated tenant.
      operationId: post-v2-api-data-profiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdvancedDataProfileRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProfileResponse'
          description: Data profile created
        '400':
          description: Invalid request payload
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient privileges
      security:
      - Bearer: []
      summary: Create Data Profile
      tags:
      - Data Profiles
  /v2/api/data-profiles/{resourceId}:
    get:
      description: Retrieves a single data profile by its ID.
      operationId: get-v2-api-data-profiles-resourceid
      parameters:
      - in: path
        name: resourceId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProfileResponse'
          description: Data profile found
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient privileges
        '404':
          description: Data profile not found
      security:
      - Bearer: []
      summary: Get Data Profile
      tags:
      - Data Profiles
    patch:
      description: Partially updates an existing data profile using JSON Merge Patch semantics.
      operationId: patch-v2-api-data-profiles-resourceid
      parameters:
      - in: path
        name: resourceId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/DataProfilePatchRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProfileResponse'
          description: Data profile updated
        '400':
          description: Invalid patch payload
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient privileges
        '404':
          description: Data profile not found
      security:
      - Bearer: []
      summary: Patch Data Profile
      tags:
      - Data Profiles
    put:
      description: Fully replaces an existing data profile with the provided payload.
      operationId: put-v2-api-data-profiles-resourceid
      parameters:
      - in: path
        name: resourceId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdvancedDataProfileRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProfileResponse'
          description: Data profile updated
        '400':
          description: Invalid request payload
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient privileges
        '404':
          description: Data profile not found
      security:
      - Bearer: []
      summary: Update Data Profile
      tags:
      - Data Profiles
components:
  schemas:
    DataProfilePatchRequest:
      description: Request payload for partially updating a data profile (JSON Merge Patch)
      properties:
        description:
          $ref: '#/components/schemas/JsonNullableString'
        detection_rules:
          $ref: '#/components/schemas/JsonNullableListDetectionRule'
        name:
          $ref: '#/components/schemas/JsonNullableString'
        profile_type:
          $ref: '#/components/schemas/JsonNullableDataProfileType'
      required:
      - name
      - profile_type
      type: object
    ExpressionTreeNode:
      properties:
        operator_type:
          enum:
          - and
          - or
          - not
          - and_not
          - or_not
          type: string
        rule_item:
          oneOf:
          - $ref: '#/components/schemas/DataPatternRuleItem'
          - $ref: '#/components/schemas/DictionaryRuleItem'
          - $ref: '#/components/schemas/DocumentTypeRuleItem'
          - $ref: '#/components/schemas/EdmRuleItem'
        sub_expressions:
          items:
            $ref: '#/components/schemas/ExpressionTreeNode'
          type: array
      type: object
    AdvancedDataProfileRequest:
      description: Advanced data profile request. Use profile_type='advanced'.
      properties:
        description:
          description: Optional human-readable description
          type: string
        detection_rules:
          description: Detection rules (at least one required)
          items:
            oneOf:
            - $ref: '#/components/schemas/DefaultTreeDetectionRule'
            - $ref: '#/components/schemas/MultiProfileDetectionRule'
          type: array
        is_granular_data_profile:
          description: Whether this is a granular data profile
          type: boolean
        name:
          description: Display name
          maxLength: 64
          minLength: 1
          type: string
      required:
      - detection_rules
      - name
      type: object
    EdmRuleItem:
      allOf:
      - $ref: '#/components/schemas/DetectionRuleItem'
      - properties:
          confidence_level:
            enum:
            - low
            - medium
            - high
            type: string
          detection_technique:
            enum:
            - edm
            - document_fingerprint
            - trainable_classifier
            - ml_document
            - regex
            - weighted_regex
            - ml
            - titus_tag
            - wildfire
            - file_property
            - dictionary
            - pab
            - document_classifier
            type: string
          edm_dataset_id:
            type: string
          occurrence_count:
            format: int32
            type: integer
          occurrence_high:
            format: int32
            type: integer
          occurrence_low:
            format: int32
            type: integer
          occurrence_operator_type:
            enum:
            - any
            - less_than_equal_to
            - more_than_equal_to
            - between
            type: string
          primary_fields:
            items:
              type: string
            type: array
            uniqueItems: true
          primary_match_any_count:
            format: int32
            type: integer
          primary_match_criteria:
            enum:
            - any
            - all
            type: string
          secondary_fields:
            items:
              type: string
            type: array
            uniqueItems: true
          secondary_match_any_count:
            format: int32
            type: integer
          secondary_match_criteria:
            enum:
            - any
            - all
            type: string
        type: object
      required:
      - edm_dataset_id
      - primary_fields
      type: object
    PageableObject:
      properties:
        offset:
          format: int64
          type: integer
        pageNumber:
          format: int32
          type: integer
        pageSize:
          format: int32
          type: integer
        paged:
          type: boolean
        sort:
          $ref: '#/components/schemas/SortObject'
        unpaged:
          type: boolean
      type: object
    DataProfileResponse:
      description: Data profile resource returned by the API
      properties:
        advance_data_patterns_rule_request:
          description: List of advanced data pattern rule identifiers
          items:
            description: List of advanced data pattern rule identifiers
            type: string
          type: array
        audit_metadata:
          $ref: '#/components/schemas/AuditResponse'
        description:
          description: Optional human-readable description
          type: string
        detection_rules:
          description: Detection rules that define sensitive data criteria
          items:
            oneOf:
            - $ref: '#/components/schemas/DefaultTreeDetectionRule'
            - $ref: '#/components/schemas/MultiProfileDetectionRule'
          type: array
        id:
          description: Unique identifier of the data profile
          type: string
        is_granular_data_profile:
          description: Whether this is a granular profile
          type: boolean
        is_parent_managed:
          description: Whether the profile is managed by a parent tenant
          type: boolean
        name:
          description: Display name of the data profile
          type: string
        profile_status:
          description: Current lifecycle status
          enum:
          - active
          - disabled
          - deleted
          type: string
        profile_type:
          description: Profile type
          enum:
          - basic
          - advanced
          type: string
        tenant_id:
          description: Tenant identifier that owns this profile
          type: string
        type:
          description: Profile subtype classification
          enum:
          - custom
          - predefined
          type: string
        version:
          description: Version number, incremented on each update
          format: int32
          type: integer
      type: object
    SortObject:
      properties:
        empty:
          type: boolean
        sorted:
          type: boolean
        unsorted:
          type: boolean
      type: object
    JsonNullableListDetectionRule:
      description: New detection rules
      properties:
        present:
          type: boolean
        undefined:
          type: boolean
      type: object
    JsonNullableString:
      description: New description (set to null to clear)
      properties:
        present:
          type: boolean
        undefined:
          type: boolean
      type: object
    DefaultTreeDetectionRule:
      allOf:
      - $ref: '#/components/schemas/DetectionRule'
      - properties:
          expression_tree:
            $ref: '#/components/schemas/ExpressionTreeNode'
          rule_type:
            enum:
            - expression_tree
            - multi_profile
            type: string
        type: object
      type: object
    MultiProfileDetectionRule:
      allOf:
      - $ref: '#/components/schemas/DetectionRule'
      - properties:
          multi_profile:
            $ref: '#/components/schemas/MultiProfileDataNode'
          rule_type:
            enum:
            - expression_tree
            - multi_profile
            type: string
        type: object
      type: object
    MultiProfileDataNode:
      properties:
        data_profile_ids:
          items:
            format: int64
            type: integer
          type: array
        operator_type:
          enum:
          - and
          - or
          - not
          - and_not
          - or_not
          type: string
      type: object
    DataPatternRuleItem:
      allOf:
      - $ref: '#/components/schemas/DetectionRuleItem'
      - properties:
          by_unique_count:
            type: boolean
          confidence_level:
            enum:
            - low
            - medium
            - high
            type: string
          description:
            type: string
          detection_technique:
            enum:
            - edm
            - document_fingerprint
            - trainable_classifier
            - ml_document
            - regex
            - weighted_regex
            - ml
            - titus_tag
            - wildfire
            - file_property
            - dictionary
            - pab
            - document_classifier
            type: string
          match_type:
            enum:
            - include
            - exclude
            type: string
          occurrence_count:
            format: int32
            type: integer
          occurrence_high:
            format: int32
            type: integer
          occurrence_low:
            format: int32
            type: integer
          occurrence_operator_type:
            enum:
            - any
            - less_than_equal_to
            - more_than_equal_to
            - between
            type: string
          supported_confidence_levels:
            items:
              enum:
              - low
              - medium
              - high
              type: string
            type: array
        type: object
      discriminator:
        propertyName: detection_technique
      required:
      - match_type
      type: object
    DetectionRule:
      description: Detection rules that define sensitive data criteria
      discriminator:
        propertyName: rule_type
      properties:
        detectionRuleType:
          enum:
          - expression_tree
          - multi_profile
          type: string
        rule_type:
          type: string
      required:
      - rule_type
      type: object
    DetectionRuleItem:
      discriminator:
        propertyName: detection_technique
      properties:
        byUniqueCount:
          type: boolean
        confidenceLevel:
          enum:
          - low
          - medium
          - high
          type: string
        detectionTechnique:
          enum:
          - edm
          - document_fingerprint
          - trainable_classifier
          - ml_document
          - regex
          - weighted_regex
          - ml
          - titus_tag
          - wildfire
          - file_property
          - dictionary
          - pab
          - document_classifier
          type: string
        detection_technique:
          type: string
        id:
          type: string
        matchType:
          enum:
          - include
          - exclude
          type: string
        name:
          type: string
        occurrenceCount:
          format: int32
          type: integer
        occurrenceHigh:
          format: int32
          type: integer
        occurrenceLow:
          format: int32
          type: integer
        occurrenceOperatorType:
          enum:
          - any
          - less_than_equal_to
          - more_than_equal_to
          - between
          type: string
        version:
          format: int32
          type: integer
      required:
      - detection_technique
      type: object
    DocumentTypeRuleItem:
      allOf:
      - $ref: '#/components/schemas/DetectionRuleItem'
      - properties:
          confidence_level:
            enum:
            - low
            - medium
            - high
            type: string
          description:
            type: string
          detection_technique:
            enum:
            - edm
            - document_fingerprint
            - trainable_classifier
            - ml_document
            - regex
            - weighted_regex
            - ml
            - titus_tag
            - wildfire
            - file_property
            - dictionary
            - pab
            - document_classifier
            type: string
          match_type:
            enum:
            - include
            - exclude
            type: string
          occurrence_count:
            format: int32
            type: integer
          occurrence_high:
            format: int32
            type: integer
          occurrence_low:
            format: int32
            type: integer
          occurrence_operator_type:
            enum:
            - any
            - less_than_equal_to
            - more_than_equal_to
            - between
            type: string
          score:
            format: int32
            type: integer
          score_high:
            format: int32
            type: integer
          score_low:
            format: int32
            type: integer
          supported_confidence_levels:
            items:
              enum:
              - low
              - medium
              - high
              type: string
            type: array
        type: object
      discriminator:
        propertyName: detection_technique
      required:
      - match_type
      type: object
    JsonNullableDataProfileType:
      description: New profile type
      properties:
        present:
          type: boolean
        undefined:
          type: boolean
      type: object
    AuditResponse:
      description: Audit metadata tracking creation and last-update information
      properties:
        created_at:
          description: Timestamp when the resource was created
          format: date-time
          type: string
        created_by:
          description: Username or service that created the resource
          type: string
        updated_at:
          description: Timestamp when the resource was last updated
          format: date-time
          type: string
        updated_by:
          description: Username or service that last updated the resource
          type: string
      type: object
    DictionaryRuleItem:
      allOf:
      - $ref: '#/components/schemas/DetectionRuleItem'
      - properties:
          by_unique_count:
            type: boolean
          confidence_level:
            enum:
            - low
            - medium
            - high
            type: string
          description:
            type: string
          detection_technique:
            enum:
            - edm
            - document_fingerprint
            - trainable_classifier
            - ml_document
            - regex
            - weighted_regex
            - ml
            - titus_tag
            - wildfire
            - file_property
            - dictionary
            - pab
            - document_classifier
            type: string
          match_type:
            enum:
            - include
            - exclude
            type: string
          occurrence_count:
            format: int32
            type: integer
          occurrence_high:
            format: int32
            type: integer
          occurrence_low:
            format: int32
            type: integer
          occurrence_operator_type:
            enum:
            - any
            - less_than_equal_to
            - more_than_equal_to
            - between
            type: string
          score:
            format: int32
            type: integer
          score_high:
            format: int32
            type: integer
          score_low:
            format: int32
            type: integer
          supported_confidence_levels:
            items:
              enum:
              - low
              - medium
              - high
              type: string
            type: array
        type: object
      discriminator:
        propertyName: detection_technique
      required:
      - match_type
      type: object
    PageDataProfileResponse:
      properties:
        content:
          items:
            $ref: '#/components/schemas/DataProfileResponse'
          type: array
        empty:
          type: boolean
        first:
          type: boolean
        last:
          type: boolean
        number:
          format: int32
          type: integer
        numberOfElements:
          format: int32
          type: integer
        pageable:
          $ref: '#/components/schemas/PageableObject'
        size:
          format: int32
          type: integer
        sort:
          $ref: '#/components/schemas/SortObject'
        totalElements:
          format: int64
          type: integer
        totalPages:
          format: int32
          type: integer
      type: object
  securitySchemes:
    Bearer:
      scheme: bearer
      type: http