Palo Alto Networks MSSP Managed Tenant Lifecycle Endpoints API

The MSSP Managed Tenant Lifecycle Endpoints API from Palo Alto Networks — 3 operation(s) for mssp managed tenant lifecycle endpoints.

OpenAPI Specification

palo-alto-networks-mssp-managed-tenant-lifecycle-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Prisma Cloud: Managed Security Service Provider (MSSP) MSSP Managed Tenant 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: MSSP Managed Tenant Lifecycle Endpoints
paths:
  /api/v1/mssp/{mssp-id}/managed-tenant:
    get:
      tags:
      - MSSP Managed Tenant Lifecycle Endpoints
      summary: Get the managed tenants for an MSSP
      description: Gets the list of managed tenants for an MSSP, optionally filterable by tenant group.
      operationId: getManagedTenants
      parameters:
      - name: mssp-id
        in: path
        description: the mssp the managed tenants belong to
        required: true
        schema:
          type: string
      - name: tenant_group
        in: query
        description: the tenant groups the managed tenants belong to, accepts multiple. Maximum limit of 10
        required: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
            format: uuid
      - name: show_synthetic_tenant
        in: query
        description: show synthetic tenant, defaults to false
        required: false
        schema:
          type: boolean
          default: false
      - name: show_deleted_tenants
        in: query
        description: show deleted tenants, defaults to false
        required: false
        schema:
          type: boolean
          default: false
      - 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/ManagedTenantsResponse'
        '400':
          description: Client error. One of the required arguments in the request body is not correctly supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The MSSP does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limiting error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
    post:
      tags:
      - MSSP Managed Tenant Lifecycle Endpoints
      summary: Create a new managed tenant
      description: Creates a new managed tenant belonging to the MSSP.
      operationId: createManagedTenant
      parameters:
      - name: mssp-id
        in: path
        description: the id of the MSSP of interest
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/CreateManagedTenantRequest'
        required: true
      responses:
        '202':
          description: Accepted. Tenant Creation has async components
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ManagedTenantResponse'
        '400':
          description: Client error. One of the required arguments is missing or fails a constraint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The MSSP does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limiting
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
  /api/v1/mssp/{mssp-id}/managed-tenant/{tenant-id}:
    get:
      tags:
      - MSSP Managed Tenant Lifecycle Endpoints
      summary: Get the details of an existing managed tenant
      description: Returns the details of an existing MSSP.
      operationId: getManagedTenantById
      parameters:
      - name: mssp-id
        in: path
        description: the mssp the managed tenants belong to
        required: true
        schema:
          type: string
      - name: tenant-id
        in: path
        description: the prisma id or external tenant id of the managed tenant of interest
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ManagedTenantDetailedResponse'
        '400':
          description: Client error. One of the required arguments in the request body is not correctly supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The managed tenant does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limiting error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
    delete:
      tags:
      - MSSP Managed Tenant Lifecycle Endpoints
      summary: Delete a managed tenant
      description: Marks the requested MSSP as deleted.
      operationId: softDeleteManagedTenant
      parameters:
      - name: mssp-id
        in: path
        description: the mssp the managed tenants belong to
        required: true
        schema:
          type: string
      - name: tenant-id
        in: path
        description: the prisma id or external tenant if of the managed tenant of interest
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Deletion accepted
        '404':
          description: The managed tenant does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limiting error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
    patch:
      tags:
      - MSSP Managed Tenant Lifecycle Endpoints
      summary: Modify an existing managed tenant
      description: Modify select attributes of an existing managed tenant, such as updating its MSSP ID
      operationId: updateManagedTenant
      parameters:
      - name: mssp-id
        in: path
        description: the mssp the managed tenants belong to
        required: true
        schema:
          type: string
      - name: tenant-id
        in: path
        description: the prisma id or external tenant id of the managed tenant of interest
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/UpdateManagedTenantRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ManagedTenantResponse'
        '400':
          description: Client error. One of the required arguments in the request body is not correctly supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The managed tenant does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limiting error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - UserJwt: []
      x-public: 'true'
  /api/v1/mssp/{mssp-id}/managed-tenant/{tenant-id}/login:
    get:
      tags:
      - MSSP Managed Tenant Lifecycle Endpoints
      summary: Seamless login
      description: Seamless login to managed tenant
      operationId: seamlessLogin
      parameters:
      - name: mssp-id
        in: path
        description: the mssp the managed tenants belong to
        required: true
        schema:
          type: string
      - name: tenant-id
        in: path
        description: the prisma id or external tenant if of the managed tenant of interest
        required: true
        schema:
          type: string
      - name: landing_page
        in: query
        description: The landing page for redirection on prisma tenant
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Login Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeamlessLoginResponse'
        '400':
          description: MsspId doesnt match with token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Tenant Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limiting error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeamlessLoginResponse'
      security:
      - UserJwt: []
      x-public: 'true'
components:
  schemas:
    ManagedTenantResponse:
      type: object
      properties:
        prismaId:
          type: string
        externalTenantId:
          type: string
        customerName:
          type: string
        companyName:
          type: string
        status:
          type: string
          enum:
          - ACTIVE
          - PROVISIONING
          - UPDATING
          - DELETING
          - DELETED
          - OFFBOARDING
          - ERRORED
        isSynthetic:
          type: boolean
        wasMigrated:
          type: boolean
        msspId:
          type: string
        tenantGroupId:
          type: string
          format: uuid
        planType:
          type: string
          enum:
          - RS_STANDARD
          - RS_FOUNDATION
          - RS_ADVANCED
        contactInfo:
          $ref: '#/components/schemas/ContactInfo'
        stack:
          type: string
        region:
          type: string
        baseApiUrl:
          type: string
        tenantLicense:
          $ref: '#/components/schemas/ManagedTenantLicenseResponse'
        createdBy:
          type: string
        createdAt:
          type: integer
          format: int64
        modules:
          type: array
          items:
            $ref: '#/components/schemas/ModuleInfo'
        erroredBy:
          type: string
          format: uuid
    ManagedTenantDetailedResponse:
      type: object
      properties:
        prismaId:
          type: string
        externalTenantId:
          type: string
        customerName:
          type: string
        companyName:
          type: string
        status:
          type: string
          enum:
          - ACTIVE
          - PROVISIONING
          - UPDATING
          - DELETING
          - DELETED
          - OFFBOARDING
          - ERRORED
        isSynthetic:
          type: boolean
        wasMigrated:
          type: boolean
        msspId:
          type: string
        tenantGroupId:
          type: string
          format: uuid
        planType:
          type: string
          enum:
          - RS_STANDARD
          - RS_FOUNDATION
          - RS_ADVANCED
        contactInfo:
          $ref: '#/components/schemas/ContactInfo'
        stack:
          type: string
        region:
          type: string
        baseApiUrl:
          type: string
        tenantLicense:
          $ref: '#/components/schemas/ManagedTenantLicenseResponse'
        createdBy:
          type: string
        createdAt:
          type: integer
          format: int64
        modules:
          type: array
          items:
            $ref: '#/components/schemas/ModuleInfo'
        erroredBy:
          type: string
          format: uuid
        policyGroups:
          type: array
          items:
            $ref: '#/components/schemas/PolicyGroupInfo'
    ModuleInfoRequest:
      required:
      - enabled
      - featureName
      type: object
      properties:
        featureName:
          pattern: iam-security
          type: string
        enabled:
          type: boolean
        additionalData:
          type: object
          additionalProperties:
            type: object
    ModuleInfo:
      required:
      - feature_name
      type: object
      properties:
        feature_name:
          type: string
        enabled:
          type: boolean
        billing_type:
          type: string
          enum:
          - TRIAL
          - BUY
        state:
          type: string
          enum:
          - PROVISION_STARTED
          - PROVISION_SUCCESSFUL
          - PROVISION_FAILED
        additional_data:
          type: object
          additionalProperties:
            type: object
    ManagedTenantLicenseResponse:
      type: object
      properties:
        tenantLicenseId:
          type: string
        serialNumber:
          type: string
        licensePoolId:
          type: string
        allocatedCredits:
          type: integer
          format: int32
        startDate:
          type: integer
          format: int64
        endDate:
          type: integer
          format: int64
    ContactInfo:
      required:
      - email
      - firstName
      - lastName
      type: object
      properties:
        firstName:
          maxLength: 63
          minLength: 1
          type: string
        lastName:
          maxLength: 63
          minLength: 1
          type: string
        email:
          maxLength: 128
          minLength: 1
          type: string
    ErrorResponse:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
    PolicyGroupInfo:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        policyCount:
          type: integer
          format: int32
    SeamlessLoginResponse:
      type: object
      properties:
        token:
          type: string
        location:
          type: string
    LicenseInfo:
      required:
      - allocatedCredits
      - licensePoolId
      type: object
      properties:
        licensePoolId:
          type: string
        allocatedCredits:
          minimum: 1
          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'
    UpdateManagedTenantRequest:
      type: object
      properties:
        tenantGroupId:
          type: string
          format: uuid
        companyName:
          maxLength: 63
          minLength: 3
          type: string
        licenseInfo:
          $ref: '#/components/schemas/LicenseInfo'
        modules:
          type: array
          items:
            $ref: '#/components/schemas/ModuleInfoRequest'
    ManagedTenantsResponse:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/ManagedTenantResponse'
        nextPageToken:
          type: string
    CreateManagedTenantRequest:
      required:
      - companyName
      - contactInfo
      - licenseInfo
      - name
      - planType
      - region
      type: object
      properties:
        name:
          maxLength: 63
          minLength: 3
          type: string
        companyName:
          maxLength: 63
          minLength: 3
          type: string
        region:
          type: string
        tenantGroupId:
          type: string
          format: uuid
        planType:
          type: string
          enum:
          - RS_STANDARD
          - RS_FOUNDATION
          - RS_ADVANCED
        contactInfo:
          $ref: '#/components/schemas/ContactInfo'
        licenseInfo:
          $ref: '#/components/schemas/LicenseInfo'
        modules:
          type: array
          items:
            $ref: '#/components/schemas/ModuleInfoRequest'
  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