Palo Alto Networks Checks API

Operations for managing custom posture checks including CRUD and batch operations.

OpenAPI Specification

palo-alto-networks-checks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Posture Management Checks API
  description: 'This API provides comprehensive posture management capabilities including:

    - Custom posture check management (create, update, delete, clone, batch operations)

    - Config file upload for BPA (Best Practice Assessment) results

    - Config cleanup for identifying unused or redundant configuration objects

    - Compliance framework definition management (create, update, delete, release)

    - Compliance analytics and reporting

    - Benchmark monitoring and BPC (Best Practice Check) verdict tracking

    '
  version: 1.1.0
  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/posture
  description: Current
security:
- BearerAuth: []
tags:
- name: Checks
  description: Operations for managing custom posture checks including CRUD and batch operations.
paths:
  /checks/v1:
    get:
      tags:
      - Checks
      summary: List Checks
      description: Returns a paginated list of posture checks (both custom and predefined).
      operationId: ListPostureChecks
      parameters:
      - in: query
        name: type
        schema:
          type: string
          enum:
          - custom
          - predefined
        description: Filter by check type.
      - in: query
        name: object_type
        schema:
          type: string
        description: Filter by configuration object type (e.g., "security_rule", "address").
      - in: query
        name: severity
        schema:
          type: string
          enum:
          - Critical
          - High
          - Warning
          - Informational
        description: Filter by severity level.
      - in: query
        name: management_type
        schema:
          type: string
          enum:
          - cloud
          - panorama
        description: Filter by management platform.
      - in: query
        name: limit
        schema:
          type: integer
          minimum: 1
          maximum: 200
          default: 100
        description: Maximum number of results to return.
      - in: query
        name: offset
        schema:
          type: integer
          minimum: 0
          default: 0
        description: Number of results to skip for pagination.
      responses:
        '200':
          description: List of posture checks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostureCheckListResponse'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      tags:
      - Checks
      summary: Create Posture Check
      description: Creates a new custom posture check. Requires SCM Pro license.
      operationId: CreatePostureCheck
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostureCheckCreateRequest'
      responses:
        '201':
          description: Posture check created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostureCheck'
        '400':
          description: Bad request - validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - SCM Pro license required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /checks/v1/{id}:
    get:
      tags:
      - Checks
      summary: Get Posture Check
      description: Returns a specific posture check by ID.
      operationId: GetPostureCheckByID
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
        description: The posture check ID.
      responses:
        '200':
          description: Posture check details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostureCheck'
        '404':
          description: Posture check not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
      - Checks
      summary: Update Posture Check
      description: Updates an existing custom posture check. Requires SCM Pro license.
      operationId: UpdatePostureCheckByID
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
        description: The posture check ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostureCheckUpdateRequest'
      responses:
        '200':
          description: Posture check updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostureCheck'
        '400':
          description: Bad request - validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - SCM Pro license required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Posture check not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      tags:
      - Checks
      summary: Delete Posture Check
      description: Deletes a custom posture check. Requires SCM Pro license.
      operationId: DeletePostureCheckByID
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
        description: The posture check ID.
      responses:
        '204':
          description: Posture check deleted successfully.
        '403':
          description: Forbidden - SCM Pro license required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Posture check not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /checks/v1/{id}:clone:
    post:
      tags:
      - Checks
      summary: Clone Posture Check
      description: Creates a copy of an existing posture check with a new ID. Requires SCM Pro license.
      operationId: ClonePostureCheckByID
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
        description: The posture check ID to clone.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostureCheckCloneRequest'
      responses:
        '201':
          description: Posture check cloned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostureCheck'
        '400':
          description: Bad request - validation error (e.g., duplicate name).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - SCM Pro license required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Posture check not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /checks/v1/batch-upsert:
    post:
      tags:
      - Checks
      summary: Batch Upsert Checks
      description: Creates or updates multiple posture checks in a single call. Objects with an existing ID will be updated, new objects will be created. Requires SCM Pro license.
      operationId: BatchUpsertPostureChecks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostureCheckBatchUpsertRequest'
      responses:
        '200':
          description: Batch upsert completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostureCheckBatchUpsertResponse'
        '400':
          description: Bad request - validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - SCM Pro license required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /checks/v1/batch-delete:
    post:
      tags:
      - Checks
      summary: Batch Delete Checks
      description: Deletes multiple posture checks in a single call. Requires SCM Pro license.
      operationId: BatchDeletePostureChecks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostureCheckBatchDeleteRequest'
      responses:
        '200':
          description: Batch delete completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostureCheckBatchDeleteResponse'
        '400':
          description: Bad request - validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - SCM Pro license required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    PostureCheck:
      type: object
      required:
      - id
      - name
      - object_type
      - type
      - severity
      properties:
        id:
          type: string
          description: Unique identifier for the posture check.
        name:
          type: string
          description: Human-readable name of the posture check.
        description:
          type: string
          description: Detailed description of what the check validates.
        rationale:
          type: string
          description: Explanation of why this check is important.
        object_type:
          type: string
          description: The configuration object type this check applies to.
        type:
          type: string
          enum:
          - custom
          - predefined
          description: Whether this is a custom or predefined check.
        severity:
          type: string
          enum:
          - Critical
          - High
          - Warning
          - Informational
          description: Severity level of the check.
        management_type:
          type: string
          enum:
          - cloud
          - panorama
          description: Management platform this check applies to.
        sub_type:
          type: string
          description: Sub-category of the check.
        action:
          type: string
          enum:
          - alert
          - failCommit
          description: Action to take when check fails.
        data:
          type: object
          additionalProperties: true
          description: Check rule definition/expression (custom checks only).
        fields_affected:
          type: array
          items:
            type: string
          description: List of config fields this check evaluates.
        recommendation:
          type: string
          description: Recommended action for this check.
        impact:
          type: string
          description: Impact description if the check fails.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the check was created.
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the check was last updated.
    PostureCheckCreateRequest:
      type: object
      required:
      - name
      - object_type
      - data
      - severity
      properties:
        name:
          type: string
          description: Human-readable name of the posture check.
        description:
          type: string
        rationale:
          type: string
        object_type:
          type: string
          description: The configuration object type this check applies to.
        sub_type:
          type: string
          description: Sub-category of the check.
        severity:
          type: string
          enum:
          - Critical
          - High
          - Warning
          - Informational
        management_type:
          type: string
          enum:
          - cloud
          - panorama
          default: cloud
        action:
          type: string
          enum:
          - alert
          - failCommit
          default: alert
        data:
          type: object
          additionalProperties: true
          description: Check rule definition/expression.
        sub_feature:
          type: object
          additionalProperties: true
          description: Sub-feature configuration for rule-specific checks.
    PostureCheckCloneRequest:
      type: object
      properties:
        name:
          type: string
          description: Optional new name for the cloned check.
          maxLength: 256
    PostureCheckBatchUpsertResponse:
      type: object
      properties:
        created:
          type: array
          items:
            $ref: '#/components/schemas/PostureCheck'
          description: List of newly created posture checks.
        updated:
          type: array
          items:
            $ref: '#/components/schemas/PostureCheck'
          description: List of updated posture checks.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/BatchOperationError'
          description: List of errors for checks that failed.
    PostureCheckListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PostureCheck'
        total:
          type: integer
          description: Total number of posture checks matching the query.
        limit:
          type: integer
          description: Maximum number of results returned.
        offset:
          type: integer
          description: Number of results skipped.
    PostureCheckBatchUpsertRequest:
      type: object
      required:
      - checks
      properties:
        checks:
          type: array
          items:
            $ref: '#/components/schemas/PostureCheckUpsertItem'
          minItems: 1
          maxItems: 100
          description: Array of posture checks to create or update.
    PostureCheckUpsertItem:
      type: object
      required:
      - name
      - object_type
      - data
      - severity
      properties:
        id:
          type: string
          description: If provided, the check will be updated.
        name:
          type: string
        description:
          type: string
        rationale:
          type: string
        object_type:
          type: string
        sub_type:
          type: string
        severity:
          type: string
          enum:
          - Critical
          - High
          - Warning
          - Informational
        management_type:
          type: string
          enum:
          - cloud
          - panorama
          default: cloud
        action:
          type: string
          enum:
          - alert
          - failCommit
          default: alert
        data:
          type: object
          additionalProperties: true
        fields_affected:
          type: array
          items:
            type: string
        sub_feature:
          type: object
          additionalProperties: true
    PostureCheckBatchDeleteResponse:
      type: object
      properties:
        deleted:
          type: array
          items:
            type: string
          description: List of successfully deleted posture check IDs.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/BatchOperationError'
          description: List of errors for checks that failed to delete.
    BatchOperationError:
      type: object
      properties:
        id:
          type: string
          description: The ID or index of the item that failed.
        message:
          type: string
          description: Error message describing why the operation failed.
    Error:
      type: object
      properties:
        _errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: The error code representing a specific error condition.
              message:
                type: string
                description: A brief description of the error condition.
              details:
                type: array
                items:
                  type: string
                description: An explanation of the error condition.
              help:
                type: string
                format: uri
                description: A URL link to documentation describing the error condition.
        _request_id:
          type: string
          format: uuid
          description: The request ID for troubleshooting purposes.
    PostureCheckBatchDeleteRequest:
      type: object
      required:
      - ids
      properties:
        ids:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 100
          description: Array of posture check IDs to delete.
    PostureCheckUpdateRequest:
      type: object
      required:
      - name
      - object_type
      - data
      - severity
      properties:
        name:
          type: string
        description:
          type: string
        rationale:
          type: string
        object_type:
          type: string
        sub_type:
          type: string
        severity:
          type: string
          enum:
          - Critical
          - High
          - Warning
          - Informational
        management_type:
          type: string
          enum:
          - cloud
          - panorama
        action:
          type: string
          enum:
          - alert
          - failCommit
        data:
          type: object
          additionalProperties: true
        sub_feature:
          type: object
          additionalProperties: true
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication using JWT.