Cisco Secure Firewall MSP Entitlements Management API

The MSP Entitlements Management API from Cisco Secure Firewall — 2 operation(s) for msp entitlements management.

OpenAPI Specification

cisco-secure-firewall-msp-entitlements-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: Provisioning APIs for activating and managing entitlements, subscriptions, and claim codes
  title: Provisioning MSP Entitlements Management API
  version: 1.0.1
  x-provenance:
    method: harvested
    authored_by: Cisco Security Cloud Control
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
  x-evidence:
  - type: source
    url: https://github.com/CiscoDevNet/scc-public-api-docs/blob/main/specs/provisioning.yaml
  - type: raw
    url: https://raw.githubusercontent.com/CiscoDevNet/scc-public-api-docs/main/specs/provisioning.yaml
servers:
- url: https://api.int.security.cisco.com/provisioning
tags:
- name: MSP Entitlements Management
paths:
  /organizations/{managerId}/entitlements:
    get:
      security:
      - EnterpriseAdminBearerAuth:
        - security:enterprise:admin:{enterprise_id}
      description: Retrieves entitlements for a specific managed organization. User must be admin of the organization. Supports pagination and search.
      tags:
      - MSP Entitlements Management
      summary: Get organization entitlements
      operationId: GetOrgEntitlements
      parameters:
      - description: Manager Organization ID (UUID)
        name: managerId
        in: path
        required: true
        schema:
          type: string
      - description: 'Number of records to return (default: 10)'
        name: limit
        in: query
        schema:
          type: integer
      - description: 'Number of records to skip (default: 0)'
        name: offset
        in: query
        schema:
          type: integer
      - description: Search term for filtering entitlements
        name: search
        in: query
        schema:
          type: string
      - description: Managed organization ID for filtering
        name: managedOrgId
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Organization entitlements
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.OrgEntitlements'
        '400':
          description: Bad request - Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '401':
          description: Unauthorized - User not admin of organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
  /organizations/{managerId}/managed/{managedId}/entitlements:
    get:
      security:
      - EnterpriseAdminBearerAuth:
        - security:enterprise:admin:{enterprise_id}
      description: List all active entitlements at the SKU level between a manager and managed organization
      tags:
      - MSP Entitlements Management
      summary: Get Entitlements for Managed Organization
      operationId: get-managed-entitlements
      parameters:
      - description: Manager organization ID (UUID format)
        name: managerId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - description: Managed organization ID (UUID format)
        name: managedId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - description: Number of results per page (default 10)
        name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          default: 10
      - description: Pagination offset (default 0)
        name: offset
        in: query
        schema:
          type: integer
          minimum: 0
          default: 0
      responses:
        '200':
          description: Successfully retrieved organization entitlements
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.OrgEntitlements'
        '400':
          description: Bad request - invalid enterprise ID, limit, or offset value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '401':
          description: Unauthorized - user is not admin of the organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '403':
          description: Forbidden - access to entitlements is not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '404':
          description: Not found - manager or managed organization not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
    delete:
      security:
      - ServiceTokenBearerAuth:
        - security:provisioning:subscriptions:write
      description: Revoke all entitlemendts shared from a manager organization to a managed organization
      tags:
      - MSP Entitlements Management
      summary: Revoke entitlements for an organization
      operationId: delete-managed-entitlements
      parameters:
      - description: ManagerID(UUID)
        name: managerId
        in: path
        required: true
        schema:
          type: string
      - description: ManagedID(UUID)
        name: managedId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.RevokeAPIResponse'
        '400':
          description: Invalid Org ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '401':
          description: Unauthorized - User is not admin of the manager organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
    patch:
      security:
      - EnterpriseAdminBearerAuth:
        - security:enterprise:admin:{enterprise_id}
      description: Updates the quantity of entitlements shared from a manager organization to a managed organization
      tags:
      - MSP Entitlements Management
      summary: Update entitlements between manager and managed organizations
      operationId: update-managed-entitlements
      parameters:
      - description: Manager Organization ID (UUID)
        name: managerId
        in: path
        required: true
        schema:
          type: string
      - description: Managed Organization ID (UUID)
        name: managedId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/model.UpdateEntitlementsRequest'
        description: Request body containing subscription and SKU details to update
        required: true
      responses:
        '200':
          description: Successfully updated entitlements
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.UpdateEntitlementResponse'
        '400':
          description: Invalid UUID format, request body, minimum quantity not met, or managed org not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '401':
          description: User is not an admin of manager or managed org
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.Error'
components:
  schemas:
    model.ProvisionedSKU:
      type: object
      properties:
        name:
          type: string
        productInfo:
          type: array
          items:
            $ref: '#/components/schemas/model.ProductInfo'
    model.PaginationInfo:
      type: object
      properties:
        limit:
          type: integer
        offset:
          type: integer
        totalRecords:
          type: integer
    model.UserSubscription:
      type: object
      properties:
        id:
          type: string
        skus:
          type: array
          items:
            $ref: '#/components/schemas/model.SKU'
    model.SharedEntitlement:
      type: object
      properties:
        assignedEntitlements:
          type: integer
        managedOrgId:
          type: string
        productsList:
          type: array
          items:
            $ref: '#/components/schemas/model.ProductConf'
    model.OrgEntitlements:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/model.PaginationInfo'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/model.SubnSku'
    model.UpdateEntitlementsRequest:
      type: object
      properties:
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/model.UserSubscription'
    model.MspSku:
      type: object
      properties:
        availableEntitlements:
          type: integer
        minEntitlementsQuantity:
          type: integer
        productsList:
          type: array
          items:
            $ref: '#/components/schemas/model.ProductConf'
        reservedEntitlements:
          type: integer
        sharedEntitlements:
          type: array
          items:
            $ref: '#/components/schemas/model.SharedEntitlement'
        skuName:
          type: string
    model.ProductConf:
      type: object
      properties:
        activationStatus:
          type: string
        name:
          type: string
        operand:
          type: integer
        operator:
          type: string
        region:
          type: string
    model.ProvisionedSubscription:
      type: object
      properties:
        endDate:
          type: string
        id:
          type: string
        licenseType:
          type: string
        skus:
          type: array
          items:
            $ref: '#/components/schemas/model.ProvisionedSKU'
    model.Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
    model.ProductInfo:
      type: object
      properties:
        assignedEntitlements:
          type: integer
        product:
          type: string
        productRegion:
          type: string
    model.UpdateEntitlementResponse:
      type: object
      properties:
        id:
          type: string
        provisioningErrors:
          type: array
          items:
            $ref: '#/components/schemas/model.SubscriptionProvisioningError'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/model.ProvisionedSubscription'
    model.SubscriptionProvisioningError:
      type: object
      properties:
        error:
          type: string
        subscriptionId:
          type: string
    model.SKU:
      type: object
      properties:
        name:
          type: string
        quantity:
          type: integer
    model.SubnSku:
      type: object
      properties:
        endDate:
          type: string
        externalSubscriptionId:
          type: string
        licenseType:
          type: string
        skus:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/model.MspSku'
    model.RevokeAPIResponse:
      type: object
      properties:
        revokedSubscriptions:
          type: array
          items:
            type: string
  securitySchemes:
    EnterpriseAdminBearerAuth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://id.cisco.com/oauth2/default/v1/token
          scopes:
            security:enterprise:admin:{enterprise_id}: Grants enterprise admin access with dynamic enterprise ID validation
    ServiceTokenBearerAuth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://id.cisco.com/oauth2/default/v1/token
          scopes:
            security:provisioning:tenants:read: Grants read access to provisioning tenants
            security:provisioning:subscriptions:write: Grants write access to provisioning subscriptions