Palo Alto Networks Onboarding Rules API
Onboarding rules information
Onboarding rules information
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/palo-alto-networks-onboarding-rules-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 2.0.0
title: Device Onboarding Onboarding Rules 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: Onboarding Rules
description: Onboarding rules information
paths:
/onboarding-rules:
post:
tags:
- Onboarding Rules
summary: Create an onboarding rule
description: 'Creates a new onboarding rule with match criteria, actions, and variable resolution.
'
operationId: createOnboardingRule
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/create_onboarding_rule_request'
responses:
'201':
description: Onboarding rule 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: Onboarding rule ID
name:
type: string
description: Onboarding rule 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:
- Onboarding Rules
summary: List onboarding rules
description: 'Retrieves all onboarding rules ordered by priority.
'
operationId: listOnboardingRules
responses:
'200':
description: Onboarding rules 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/resolved_onboarding_rule'
description: Array of onboarding rules ordered by priority
message:
type: string
description: Human-readable message
metadata:
type: object
properties:
types_mapping:
type: object
description: Mapping of config service types to site manager types
description: Additional response metadata
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'500':
$ref: '#/components/responses/InternalServerError'
/onboarding-rules/{id}:move:
post:
tags:
- Onboarding Rules
summary: Move an onboarding rule
description: 'Changes the priority order of an onboarding rule. The rule can be moved to top, bottom,
or before/after another rule.
'
operationId: moveOnboardingRuleByID
parameters:
- $ref: '#/components/parameters/onboarding_rule_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/move_onboarding_rule_request'
responses:
'200':
description: Rule moved successfully
content:
application/json:
schema:
type: object
required:
- status
- message
properties:
status:
type: string
enum:
- success
description: Response status indicator
message:
type: string
description: Human-readable message
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/onboarding-rules/{id}:
get:
tags:
- Onboarding Rules
summary: Get an onboarding rule
description: Retrieves an onboarding rule by UUID
operationId: getOnboardingRuleByID
parameters:
- $ref: '#/components/parameters/onboarding_rule_id'
responses:
'200':
description: Onboarding rule retrieved successfully
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- success
description: Response status indicator
data:
$ref: '#/components/schemas/resolved_onboarding_rule'
description: Onboarding rule with resolved variables
message:
type: string
description: Human-readable message
metadata:
type: object
description: Additional response metadata
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
tags:
- Onboarding Rules
summary: Update an onboarding rule
description: Updates an existing onboarding rule
operationId: updateOnboardingRuleByID
parameters:
- $ref: '#/components/parameters/onboarding_rule_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/update_onboarding_rule_request'
responses:
'200':
description: Onboarding rule updated successfully
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- success
description: Response status indicator
data:
$ref: '#/components/schemas/onboard_rule_entry'
description: Updated onboarding rule
message:
type: string
description: Human-readable message
request_id:
type: string
format: uuid
description: Unique request identifier for troubleshooting
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
tags:
- Onboarding Rules
summary: Delete an onboarding rule
description: Deletes an onboarding rule by ID
operationId: deleteOnboardingRuleByID
parameters:
- $ref: '#/components/parameters/onboarding_rule_id'
responses:
'200':
description: Onboarding rule 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/onboard_rule_entry'
description: Deleted onboarding rule
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:
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'
device_model:
type: object
properties:
name:
type: string
description: Device model name
resolution_rule:
type: object
required:
- expression
properties:
expression:
type: string
description: Expression to resolve the variable (can reference properties with ${property_name})
model_criteria:
type: object
properties:
include_models:
type: array
items:
$ref: '#/components/schemas/device_model'
exclude_models:
type: array
items:
$ref: '#/components/schemas/device_model'
create_onboarding_rule_request:
type: object
required:
- name
- enable
- rule_type
- site_group
- match_criteria
- actions
properties:
name:
type: string
description:
type: string
enable:
type: boolean
rule_type:
type: string
site_group:
type: string
match_criteria:
$ref: '#/components/schemas/onboard_match_criteria'
actions:
$ref: '#/components/schemas/onboard_actions'
variables:
type: array
items:
$ref: '#/components/schemas/variable'
move_onboarding_rule_request:
type: object
required:
- position
properties:
position:
type: string
enum:
- before
- after
- top
- bottom
description: Position to move the rule to
reference:
type: string
format: uuid
description: UUID of reference rule (required for before/after positions)
onboard_actions:
type: object
additionalProperties: true
description: Actions to perform during onboarding
onboard_match_criteria:
type: object
properties:
models:
$ref: '#/components/schemas/model_criteria'
update_onboarding_rule_request:
type: object
required:
- name
- enable
- rule_type
- site_group
- match_criteria
- actions
properties:
id:
type: string
format: uuid
tenant_id:
type: string
name:
type: string
description:
type: string
enable:
type: boolean
rule_type:
type: string
site_group:
type: string
match_criteria:
$ref: '#/components/schemas/onboard_match_criteria'
actions:
$ref: '#/components/schemas/onboard_actions'
variables:
type: array
items:
$ref: '#/components/schemas/variable'
resolved_variable:
type: object
required:
- name
- type
- value
properties:
name:
type: string
description: Variable name
type:
type: string
description: Variable type
value:
description: Resolved value (type varies)
variable:
type: object
required:
- name
- resolution_rule
properties:
name:
type: string
description: Variable name
resolution_rule:
$ref: '#/components/schemas/resolution_rule'
resolved_onboarding_rule:
type: object
properties:
id:
type: string
format: uuid
tenant_id:
type: string
name:
type: string
description:
type: string
enabled:
type: boolean
rule_type:
type: string
site_group:
type: string
match_criteria:
type: object
additionalProperties: true
actions:
type: object
additionalProperties: true
variables:
type: array
items:
$ref: '#/components/schemas/variable'
description: Original variables with resolution expression
resolved_variables:
type: array
items:
$ref: '#/components/schemas/resolved_variable'
description: Variables resolved to their actual values
resolution_errors:
type: array
items:
type: string
description: Errors encountered during variable resolution
generated_at:
type: string
onboard_rule_entry:
type: object
required:
- id
- name
- enable
- rule_type
- site_group
properties:
id:
type: string
format: uuid
tenant_id:
type: string
name:
type: string
description:
type: string
enable:
type: boolean
rule_type:
type: string
description: Rule type (e.g., "site")
site_group:
type: string
rule_order:
type: integer
description: Rule priority (lower number = higher priority)
match_criteria:
$ref: '#/components/schemas/onboard_match_criteria'
actions:
$ref: '#/components/schemas/onboard_actions'
variables:
type: array
items:
$ref: '#/components/schemas/variable'
created_at:
type: string
format: date-time
last_updated:
type: string
format: date-time
responses:
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
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
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:
onboarding_rule_id:
name: id
in: path
required: true
description: Onboarding Rule 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