Palo Alto Networks Properties API
Onboarding Properties information
Onboarding Properties information
openapi: 3.2.0
info:
version: 2.0.0
title: Device Onboarding Properties API
description: These APIs are used to define Strata Cloud Manager device onboarding workflows.
termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf
contact:
email: support@paloaltonetworks.com
name: Palo Alto Networks Technical Support
url: https://support.paloaltonetworks.com
license:
name: MIT
url: https://opensource.org/license/mit
servers:
- url: https://api.strata.paloaltonetworks.com/config/setup/device-onboarding/v1
description: Current
security:
- scmToken: []
tags:
- name: Properties
description: Onboarding Properties information
paths:
/properties:
post:
tags:
- Properties
summary: Create a property
description: 'Creates a new property definition with type and optional constraints.
Supported types and their constraints:
- integer: min, max
- string: max_len
Note: Property names cannot start with the reserved prefix ''_sys_''
'
operationId: createProperty
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/create_property_request'
responses:
'201':
description: Property created successfully
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- success
description: Response status indicator
data:
type: object
properties:
id:
type: string
description: Property ID
name:
type: string
description: Property name
message:
type: string
description: Human-readable message
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'400':
$ref: '#/components/responses/BadRequest'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalServerError'
get:
tags:
- Properties
summary: List properties
description: 'Retrieves all properties with optional filtering by type.
'
operationId: listProperties
parameters:
- name: type
in: query
description: Filter properties by type
schema:
type: string
enum:
- integer
- string
responses:
'200':
description: Properties retrieved successfully
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- success
description: Response status indicator
data:
type: array
items:
$ref: '#/components/schemas/property'
description: Array of property schemas
message:
type: string
description: Human-readable message
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'500':
$ref: '#/components/responses/InternalServerError'
/properties/{id}:
get:
tags:
- Properties
summary: Get a property
description: Retrieves a property by UUID
operationId: getPropertyByID
parameters:
- $ref: '#/components/parameters/property_id'
responses:
'200':
description: Property retrieved successfully
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- success
description: Response status indicator
data:
$ref: '#/components/schemas/property'
description: Property details
message:
type: string
description: Human-readable message
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
tags:
- Properties
summary: Update a property
description: 'Updates a property. Validates that changes don''t break existing site values
or onboarding rule references.
Supported constraints by type:
- integer: min, max
- string: max_len
Note: Property names cannot start with the reserved prefix ''_sys_''
'
operationId: updatePropertyByID
parameters:
- $ref: '#/components/parameters/property_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/update_property_request'
responses:
'200':
description: Property updated successfully
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- success
description: Response status indicator
data:
$ref: '#/components/schemas/property'
description: Updated property schema
message:
type: string
description: Human-readable message
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
tags:
- Properties
summary: Delete a property
description: 'Deletes a property by ID. Property must not be in use by any sites or onboarding rules.
'
operationId: deletePropertyByID
parameters:
- $ref: '#/components/parameters/property_id'
responses:
'200':
description: Property deleted successfully - returns deleted resource
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- success
description: Response status indicator
data:
$ref: '#/components/schemas/property'
description: Deleted property
message:
type: string
description: Human-readable message
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
property:
type: object
required:
- id
- name
- type
properties:
id:
type: string
format: uuid
name:
type: string
description: Property name (unique within tenant)
type:
type: string
enum:
- integer
- string
description: Property data type
constraints:
$ref: '#/components/schemas/property_constraints'
created_at:
type: string
format: date-time
last_updated:
type: string
format: date-time
resource_validation_error:
type: object
required:
- type
- resource_id
- resource_name
- message
properties:
type:
type: string
enum:
- site
- rule
- name_conflict
description: Type of validation error
resource_id:
type: string
description: ID of the affected resource
resource_name:
type: string
description: Name of the affected resource
message:
type: string
description: Detailed error message
resource_validation_result:
type: object
properties:
id:
type: string
format: uuid
description: Resource UUID
name:
type: string
description: Resource name
validation_errors:
type: array
items:
$ref: '#/components/schemas/resource_validation_error'
property_constraints:
type: object
properties:
min:
type: string
description: Minimum value (for integer type)
example: '0'
max:
type: string
description: Maximum value (for integer type)
example: '100'
max_len:
type: string
description: Maximum length (required for string type, must be 1-1024 inclusive)
example: '255'
create_property_request:
type: object
required:
- name
- type
properties:
name:
type: string
type:
type: string
enum:
- integer
- string
constraints:
$ref: '#/components/schemas/property_constraints'
update_property_request:
type: object
properties:
name:
type: string
type:
type: string
enum:
- integer
- string
constraints:
$ref: '#/components/schemas/property_constraints'
responses:
NotFound:
description: Not Found
content:
application/json:
schema:
type: object
required:
- status
- error
properties:
status:
type: string
enum:
- error
error:
type: string
description: Error message
InternalServerError:
description: Internal Server Error
content:
application/json:
schema:
type: object
required:
- status
- error
properties:
status:
type: string
enum:
- error
error:
type: string
description: Error message
BadRequest:
description: Bad Request
content:
application/json:
schema:
type: object
required:
- status
- error
properties:
status:
type: string
enum:
- error
data:
type: array
items:
$ref: '#/components/schemas/resource_validation_result'
error:
type: string
description: Error message
Conflict:
description: Conflict
content:
application/json:
schema:
type: object
required:
- status
- error
properties:
status:
type: string
enum:
- error
data:
type: array
items:
$ref: '#/components/schemas/resource_validation_result'
error:
type: string
description: Error message
parameters:
property_id:
name: id
in: path
required: true
description: Property UUID
schema:
type: string
format: uuid
securitySchemes:
scmOAuth:
type: oauth2
description: "Strata Cloud Manager 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"
flows:
clientCredentials:
tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token
scopes: {}
scmToken:
type: http
description: "Strata Cloud Manager 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
bearerFormat: JWT
x-internal: false