Palo Alto Networks Data Profiles API
The Data Profiles API from Palo Alto Networks — 2 operation(s) for data profiles.
The Data Profiles API from Palo Alto Networks — 2 operation(s) for data profiles.
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