Palo Alto Networks Peripherals API
The Peripherals API from Palo Alto Networks — 2 operation(s) for peripherals.
The Peripherals API from Palo Alto Networks — 2 operation(s) for peripherals.
openapi: 3.2.0
info:
contact: {}
description: "Manage peripheral device configurations and policies for DLP protection. Configure USB devices, printers, \nand other peripherals to enforce DLP policies and prevent unauthorized data transfers.\n"
license:
name: MIT
url: https://opensource.org/license/mit
title: v2 Peripherals API
version: 1.0.0
servers:
- url: https://api.dlp.paloaltonetworks.com
tags:
- name: Peripherals
paths:
/v2/api/peripherals:
get:
description: Returns a paginated list of peripheral devices for the authenticated tenant.
operationId: get-v2-api-peripherals
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
- description: Comma-separated list of peripheral types to filter (usb, printer, network_share)
in: query
name: peripheral-type
schema:
type: string
- description: If true, include group membership information
in: query
name: with-groups
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PagePeripheralResponse'
description: Paginated list of peripherals
'401':
description: Unauthorized
'403':
description: Forbidden - insufficient privileges
security:
- Bearer: []
summary: List Peripherals
tags:
- Peripherals
post:
description: Creates a new peripheral device for the authenticated tenant.
operationId: post-v2-api-peripherals
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PeripheralRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/PeripheralResponse'
description: Peripheral created
'400':
description: Invalid request payload
'401':
description: Unauthorized
'403':
description: Forbidden - insufficient privileges
security:
- Bearer: []
summary: Create Peripheral
tags:
- Peripherals
/v2/api/peripherals/{resourceId}:
delete:
description: Deletes a peripheral device by its ID.
operationId: delete-v2-api-peripherals-resourceid
parameters:
- in: path
name: resourceId
required: true
schema:
type: string
responses:
'204':
description: Peripheral deleted
'401':
description: Unauthorized
'403':
description: Forbidden - insufficient privileges
'404':
description: Peripheral not found
security:
- Bearer: []
summary: Delete Peripheral
tags:
- Peripherals
get:
description: Retrieves a single peripheral device by its ID.
operationId: get-v2-api-peripherals-resourceid
parameters:
- in: path
name: resourceId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PeripheralResponse'
description: Peripheral found
'401':
description: Unauthorized
'403':
description: Forbidden - insufficient privileges
'404':
description: Peripheral not found
security:
- Bearer: []
summary: Get Peripheral
tags:
- Peripherals
put:
description: Fully replaces an existing peripheral device with the provided payload.
operationId: put-v2-api-peripherals-resourceid
parameters:
- in: path
name: resourceId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PeripheralRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PeripheralResponse'
description: Peripheral updated
'400':
description: Invalid request payload
'401':
description: Unauthorized
'403':
description: Forbidden - insufficient privileges
'404':
description: Peripheral not found
security:
- Bearer: []
summary: Update Peripheral
tags:
- Peripherals
components:
schemas:
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
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
NetworkSharePeripheralRequest:
allOf:
- $ref: '#/components/schemas/PeripheralRequest'
- properties:
description:
description: Optional description
type: string
directory_path:
description: Directory path on the network share (e.g. /documents)
type: string
name:
description: Display name
maxLength: 128
minLength: 1
type: string
server_address:
description: Server hostname or IP address of the network share
type: string
type:
description: Peripheral type discriminator — must be 'network_share'
enum:
- usb
- printer
- network_share
example: network_share
type: string
type: object
description: Network share peripheral device request. Use type='network_share'.
required:
- name
- server_address
- type
type: object
SortObject:
properties:
empty:
type: boolean
sorted:
type: boolean
unsorted:
type: boolean
type: object
PeripheralRequest:
description: Request payload for creating or updating a peripheral device. Use 'type' to specify the subtype.
discriminator:
propertyName: type
oneOf:
- $ref: '#/components/schemas/UsbPeripheralRequest'
- $ref: '#/components/schemas/PrinterPeripheralRequest'
- $ref: '#/components/schemas/NetworkSharePeripheralRequest'
properties:
type:
type: string
required:
- type
type: object
PagePeripheralResponse:
properties:
content:
items:
$ref: '#/components/schemas/PeripheralResponse'
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
UsbPeripheralRequest:
allOf:
- $ref: '#/components/schemas/PeripheralRequest'
- properties:
description:
description: Optional description
type: string
manufacturer_name:
description: Device manufacturer name
type: string
model_name:
description: Device model name
type: string
name:
description: Display name
maxLength: 128
minLength: 1
type: string
product_id:
description: USB product ID (e.g. c52b)
type: string
serial_number:
description: Device serial number
type: string
type:
description: Peripheral type discriminator — must be 'usb'
enum:
- usb
- printer
- network_share
example: usb
type: string
vendor_id:
description: USB vendor ID (e.g. 046d)
type: string
type: object
description: USB peripheral device request. Use type='usb'.
required:
- name
- type
type: object
PeripheralResponse:
description: Peripheral device resource returned by the API
properties:
audit_metadata:
$ref: '#/components/schemas/AuditResponse'
description:
description: Optional description
type: string
directory_path:
description: Directory path (for network share peripherals)
type: string
groups:
description: Groups this peripheral belongs to
items:
description: Groups this peripheral belongs to
type: string
type: array
id:
description: Unique identifier of the peripheral
type: string
ip_address:
description: IP address (for network printer peripherals)
type: string
manufacturer_name:
description: Device manufacturer name
type: string
model_name:
description: Device model name
type: string
name:
description: Display name of the peripheral
type: string
printer_name:
description: Printer share name (for printer peripherals)
type: string
printer_type:
description: Printer type (for printer peripherals)
type: string
product_id:
description: USB product ID (for USB/printer peripherals)
type: string
serial_number:
description: Device serial number
type: string
server_address:
description: Server hostname or IP (for network share peripherals)
type: string
type:
description: 'Peripheral type: usb, printer, or network_share'
enum:
- usb
- printer
- network_share
type: string
vendor_id:
description: USB vendor ID (for USB/printer peripherals)
type: string
version:
description: Version number, incremented on each update
format: int32
type: integer
type: object
PrinterPeripheralRequest:
allOf:
- $ref: '#/components/schemas/PeripheralRequest'
- properties:
description:
description: Optional description
type: string
ip_address:
description: IP address of network printer
type: string
manufacturer_name:
description: Device manufacturer name
type: string
model_name:
description: Device model name
type: string
name:
description: Display name
maxLength: 128
minLength: 1
type: string
printer_name:
description: Printer share name or UNC path
type: string
printer_type:
description: Printer type (e.g. local, network)
type: string
product_id:
description: USB product ID
type: string
serial_number:
description: Device serial number
type: string
type:
description: Peripheral type discriminator — must be 'printer'
enum:
- usb
- printer
- network_share
example: printer
type: string
vendor_id:
description: USB vendor ID
type: string
type: object
description: Printer peripheral device request. Use type='printer'.
required:
- name
- printer_type
- type
type: object
securitySchemes:
Bearer:
scheme: bearer
type: http