Palo Alto Networks Policy Group Lifecycle Endpoints API
APIs to interact with the MSSP Backend Service # Authentication
APIs to interact with the MSSP Backend Service # Authentication
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