Palo Alto Networks Policy Group Lifecycle Endpoints API

APIs to interact with the MSSP Backend Service # Authentication

OpenAPI Specification

palo-alto-networks-policy-group-lifecycle-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Prisma Cloud: Managed Security Service Provider (MSSP) Policy Group Lifecycle Endpoints API'
  description: 'APIs to interact with the MSSP Backend Service


    # Authentication


    '
  version: '1.0'
servers:
- url: https://mssp-api.prismacloud.io
tags:
- name: Policy Group Lifecycle Endpoints
  description: 'APIs to interact with the MSSP Backend Service


    # Authentication


    '
paths:
  /api/v1/mssp/{mssp-id}/policy-group/{pg-id}:
    get:
      tags:
      - Policy Group Lifecycle Endpoints
      summary: Get the details of an existing policy group
      description: Returns the details of an existing policy group. Will use msspId from the auth token if available.
      operationId: get-policy-group-by-id
      parameters:
      - name: pg-id
        in: path
        description: the id of the policy group
        required: true
        schema:
          type: string
          format: uuid
        example: 34e2e197-f172-4a04-93a4-39b1532648ab
      - name: mssp-id
        in: path
        description: the mssp the policy group belongs to
        required: true
        schema:
          type: string
        example: e91b486a-e139-4d3b-a9dd-959fd5cffb10
      responses:
        '200':
          description: OK
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PolicyGroupResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
    put:
      tags:
      - Policy Group Lifecycle Endpoints
      summary: Update a policy group
      description: Updates a policy group if it doesn't exist. Will use msspId from the auth token if available.
      operationId: update-policy-group
      parameters:
      - name: pg-id
        in: path
        description: the id of the policy group
        required: true
        schema:
          type: string
          format: uuid
        example: 34e2e197-f172-4a04-93a4-39b1532648ab
      - name: mssp-id
        in: path
        description: the mssp the tenant group belongs to
        required: true
        schema:
          type: string
        example: e91b486a-e139-4d3b-a9dd-959fd5cffb10
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/PolicyGroupRequest'
        required: true
      responses:
        '204':
          description: Update Accepted
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
    delete:
      tags:
      - Policy Group Lifecycle Endpoints
      summary: Delete an existing policy group
      description: Deletes a policy group if it is empty. Will use msspId from the auth token if available.
      operationId: delete-policy-group
      parameters:
      - name: pg-id
        in: path
        description: the id of the policy group
        required: true
        schema:
          type: string
          format: uuid
        example: 34e2e197-f172-4a04-93a4-39b1532648ab
      - name: mssp-id
        in: path
        description: the mssp the policy group belongs to
        required: true
        schema:
          type: string
        example: e91b486a-e139-4d3b-a9dd-959fd5cffb10
      responses:
        '204':
          description: Delete Accepted
          headers:
            Location:
              description: The relative path to the deleted policy group
              style: simple
              schema:
                type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
  /api/v1/mssp/{mssp-id}/policy-group:
    get:
      tags:
      - Policy Group Lifecycle Endpoints
      summary: Get the details of all existing policy groups
      description: Returns the details of all existing policy groups. Will use msspId from the auth token if available.
      operationId: get-all-policy-groups
      parameters:
      - name: mssp-id
        in: path
        description: the mssp the policy group belongs to
        required: true
        schema:
          type: string
        example: e91b486a-e139-4d3b-a9dd-959fd5cffb10
      - name: next_page_token
        in: query
        description: pagination token to continue a previous query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/PolicyGroupsListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
    post:
      tags:
      - Policy Group Lifecycle Endpoints
      summary: Create a policy group
      description: Creates a policy group if it doesn't exist. Will use msspId from the auth token if available.
      operationId: create-policy-group
      parameters:
      - name: mssp-id
        in: path
        description: the mssp the tenant group belongs to
        required: true
        schema:
          type: string
        example: e91b486a-e139-4d3b-a9dd-959fd5cffb10
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/PolicyGroupRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: The relative path to the created policy group
              style: simple
              schema:
                type: string
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/CreatePolicyGroupResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
components:
  schemas:
    CreatePolicyGroupResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          maxLength: 63
          minLength: 3
          type: string
        policies:
          type: array
          items:
            type: string
    PolicyGroupRequest:
      required:
      - name
      type: object
      properties:
        name:
          maxLength: 63
          minLength: 3
          type: string
          description: Name of the policy group.
        policies:
          type: array
          description: Policies assigned to this policy group.
          items:
            type: string
            description: Policies assigned to this policy group.
    PolicyGroupResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        policies:
          type: array
          items:
            type: string
        tenantGroups:
          type: array
          items:
            $ref: '#/components/schemas/TenantGroupMappingDetails'
    PolicyGroupsListResponse:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/PolicyGroupListResponse'
        nextPageToken:
          type: string
    ErrorResponse:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
    TenantGroupMappingDetails:
      type: object
      properties:
        id:
          type: string
          format: uuid
        tenantGroupId:
          type: string
          format: uuid
        tenantGroupName:
          type: string
        tenantCount:
          type: integer
          format: int32
    PolicyGroupListResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        policyCount:
          type: integer
          format: int32
        tenantGroupCount:
          type: integer
          format: int32
    Error:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        target:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ServiceJwt:
      type: http
      description: Service to Service communication JWT. Such tokens are available to other microservices
      scheme: bearer
      bearerFormat: JWT
    UserJwt:
      type: http
      description: JWT for User to Service communication. Such tokens are available to MSSP account users
      scheme: bearer
      bearerFormat: JWT
x-tagGroups:
- tags:
  - User Authentication
  - MSSP Account Management
  - User Management
  - MSSP Managed Tenant Lifecycle Endpoints
  - Tenant Group Lifecycle Endpoints
  - Policy Group Lifecycle Endpoints
  - Policy Group to Tenant Group Management
  - MSSP Operations Retry
  - Mssp License Endpoints
  - Stack Details Endpoint
  - Proxy Endpoint Provider
  name: public
- tags:
  - Managed Tenant Management Service
  - MSSP Async Change Management
  - Licensing Job Schedule Management
  - OIDC Discovery Endpoint
  - MSSP Account Management Service Endpoint
  name: service
- tags:
  - Hard Delete Managed Tenant
  name: support