Skip to content

Entitlements (v0.2.0)

Overview

The Manage Entitlement API provides comprehensive capabilities for managing entitlements within the RUCKUS One platform. Entitlements represent the authorization and rights to use RUCKUS products and services, encompassing licenses, subscriptions. This API enables you to manage these entitlements, track their usage, control assignments to partners and customers, and monitor compliance.

The API is designed for organizations that need to manage entitlements including licenses and subscriptions, track device usage, allocate entitlements to customers or partners, and maintain compliance with subscription agreements.

What This API Does

  • Entitlement Management: Retrieve and query detailed entitlement information including purchased licenses, assigned licenses, entitlement types
  • Usage and Utilization: Access real-time usage statistics, track license usage
  • Entitlement Availability: Calculate available entitlement capacity, determine allocation availability based on current usage, and access banner notifications for entitlements requiring attention
  • Assignment Management: Create, retrieve, update, and delete entitlement assignments
  • Synchronization: Synchronize entitlement data from latest purchase
  • Query Operations: Retrieve entitlement and assignment data with pagination, sorting, and filtering capabilities
  • Compliance Monitoring: Monitor entitlement compliance status and identify licenses that exceed allocations or are underutilized

Common Use Cases

  • Enterprise Entitlement Management: Track and manage entitlements across large organizations with multiple departments or business units
  • MSP/VAR Operations: Allocate and manage entitlements for customer accounts.
  • Usage Reporting: Generate periodic usage reports for capacity planning.
  • Compliance Auditing: Monitor entitlement usage to ensure compliance with subscription terms and conditions

Technical Details

  • API Version: v0.2.0
  • Content Types: Supports application/json and application/vnd.ruckus.v1+json for v1 endpoints
  • Regional Endpoints: Available in North America, Europe, and Asia Pacific regions

Authentication & Authorization

This API uses bearer token authentication with role based access control. Users must have appropriate permissions to perform operations on entitlements, assignments, and usage data.

Download OpenAPI description
Languages
Servers
RUCKUS One API host for North American region.
https://api.ruckus.cloud
RUCKUS One API host for European region.
https://api.eu.ruckus.cloud
RUCKUS One API host for Asian region.
https://api.asia.ruckus.cloud

Entitlement

Entitlement management and license operations.

Operations

Manage Entitlements

Operations

Get Tenant Entitlement Assignments

Request

Retrieves entitlement assignments allocated to a specific customer tenant by an MSP. Entitlement assignments represent the allocation of licenses from a provider's bulk license pool to individual MSP_EC tenants, enabling customers to use specific products and services based on the assigned license quantities and types. This endpoint allows providers to view which licenses have been assigned to a tenant, and monitor assignment details including quantities, expiration dates, and current status.

Use cases: track license allocations to customer tenants, verify assignment status before making changes.

Path
tenantIdstringrequired
Bodyrequired
fieldsArray of stringsunique

A list of assignment data fields to be returned.

Example: ["id","quantity"]
pageinteger(int32)

The page number to be returned, 1 based, default 1.

Example: 1
pageSizeinteger(int32)

The page number to be returned, default 20.

Example: 30
sortFieldstring

The data filed name which will be used for sorting the query result.

Enum"expirationDate""effectiveDate"
Example: "expirationDate"
sortOrderstring

The sorting order, default is ascending order.

Enum"ASC""DESC"
Example: "ASC"
filtersobject(QueryAssignmentFilters)

Filter criteria for querying assignments.

{ "fields": [ "id", "quantity" ], "page": 1, "pageSize": 30, "sortField": "expirationDate", "sortOrder": "ASC", "filters": { "licenseType": [ … ], "status": [ … ], "createdBy": [ … ], "isTrial": false } }

Responses

OK

Body
fieldsArray of stringsunique

Set of field names that were requested to be included in the response data.

totalCountinteger(int64)

Total number of records available that match the query criteria, used for pagination calculations.

pageinteger(int32)
pageSizeinteger(int32)

Maximum number of records returned in this response page.

objectIdstring

Unique identifier for the primary object or entity associated with this query response.

dataArray of objects
errorsArray of objects(ErrorDto)

List of errors that occurred during processing, if any.

subsequentQueriesArray of objects(SubsequentQuery)

List of additional API calls that can be made to retrieve related or supplementary data.

Response
{ "fields": [ "string" ], "totalCount": 0, "page": 0, "pageSize": 0, "objectId": "string", "data": [ null ], "errors": [ { … } ], "subsequentQueries": [ { … } ] }

Create a Self Assignment

Request

Creates a self assignment by allocating licenses from the MSP's bulk entitlement pool to their own tenant account. Self assignments allow MSPs to assign licenses to their own devices rather than to customer tenants. This is useful when the MSP needs to manage and license their own device separately from customer allocations.

Bodyrequired
effectiveDatestringrequired

Effective date of the entitlement assignment.

Example: "2024-01-22 15:08:10Z"
expirationDatestringrequired

Expiration date of the entitlement assignment.

Example: "2024-02-21 15:07:10Z"
quantityinteger(int32)required

Quantity of entitlements assigned.

Example: 5
licenseTypestringrequired

Type of entitlement license being assigned.

Example: "APSW"
trialboolean

Flag indicating whether this assignment is for a trial period with limited duration and features.

Example: true
{ "effectiveDate": "2024-01-22 15:08:10Z", "expirationDate": "2024-02-21 15:07:10Z", "quantity": 5, "licenseType": "APSW", "trial": true }

Responses

Created a self assignment

Body
statusstring

Status of the response.

Example: "success"
messagestring

Message providing additional details about the response.

Example: "Object created/updated successfully."
dataobject(Assignment)

Data containing assignment details.

Response
{ "status": "success", "message": "Object created/updated successfully.", "data": { "id": 1234, "effectiveDate": "2024-01-22T15:08:10Z", "expirationDate": "2024-02-21T15:07:10Z", "quantity": 5, "licenseType": "APSW", "status": "VALID", "createdDate": "2024-01-16T06:06:02.776Z", "revokedDate": null, "createdBy": "rohitmsp.ruckusone5@email.com", "revokedBy": null, "isTrial": false } }

Get MSP Self Assignments

Request

Retrieves self assignments, which are entitlement allocations where the tenant manages their own license distribution for internal use. An MSP uses self assignments to allocate licenses from their bulk license pool to their own tenant account, rather than assigning them to customer tenants. Self assignments represent licenses that the provider reserves for managing their own devices. This allows providers to separate their internal license consumption from customer allocations for better tracking and resource management.

Use cases: track internally allocated resources separately from customer assignments.

Bodyrequired
fieldsArray of stringsunique

A list of assignment data fields to be returned.

Example: ["id","quantity"]
pageinteger(int32)

The page number to be returned, 1 based, default 1.

Example: 1
pageSizeinteger(int32)

The page number to be returned, default 20.

Example: 30
sortFieldstring

The data filed name which will be used for sorting the query result.

Enum"expirationDate""effectiveDate"
Example: "expirationDate"
sortOrderstring

The sorting order, default is ascending order.

Enum"ASC""DESC"
Example: "ASC"
filtersobject(QueryAssignmentFilters)

Filter criteria for querying assignments.

{ "fields": [ "id", "quantity" ], "page": 1, "pageSize": 30, "sortField": "expirationDate", "sortOrder": "ASC", "filters": { "licenseType": [ … ], "status": [ … ], "createdBy": [ … ], "isTrial": false } }

Responses

OK

Body
fieldsArray of stringsunique

Set of field names that were requested to be included in the response data.

totalCountinteger(int64)

Total number of records available that match the query criteria, used for pagination calculations.

pageinteger(int32)
pageSizeinteger(int32)

Maximum number of records returned in this response page.

objectIdstring

Unique identifier for the primary object or entity associated with this query response.

dataArray of objects
errorsArray of objects(ErrorDto)

List of errors that occurred during processing, if any.

subsequentQueriesArray of objects(SubsequentQuery)

List of additional API calls that can be made to retrieve related or supplementary data.

Response
{ "fields": [ "string" ], "totalCount": 0, "page": 0, "pageSize": 0, "objectId": "string", "data": [ null ], "errors": [ { … } ], "subsequentQueries": [ { … } ] }

Delete Self Assignment

Request

Deletes an active self assignment by marking it as revoked. When a license is deleted, it is not physically removed from the system but instead marked as revoked and can no longer be used. The assignment record is preserved for audit purposes. Returns a 204 no content status code on successful deletion, or a 409 conflict if the assignment has already expired or been revoked.

Path
idinteger(int64)required
No request payload

Responses

Assignment deleted successfully

Response
No content

Update a Self Assignment

Request

Updates an existing self assignment where the MSPs has allocated licenses to their own tenant account. Quantity and expiry date can be modified for self assignments. When updating assignments, existing assignments will be revoked and new assignments will be created with the updated fields. This allows MSPs to adjust the number of licenses allocated to their own infrastructure as their needs change.

Path
idinteger(int64)required
Bodyrequired
expirationDatestringrequired

Expiration date of the entitlement assignment.

Example: "2024-02-21 15:07:10Z"
quantityinteger(int32)required

Quantity of entitlements assigned.

Example: 5
validboolean

Indicates whether the assignment request contains valid data with at least one non null field (expirationDate or quantity).

{ "expirationDate": "2024-02-21 15:07:10Z", "quantity": 5, "valid": true }

Responses

Assignment updated successfully

Body
statusstring

Status of the response.

Example: "success"
messagestring

Message providing additional details about the response.

Example: "Object created/updated successfully."
dataobject(Assignment)

Data containing assignment details.

Response
{ "status": "success", "message": "Object created/updated successfully.", "data": { "id": 1234, "effectiveDate": "2024-01-22T15:08:10Z", "expirationDate": "2024-02-21T15:07:10Z", "quantity": 5, "licenseType": "APSW", "status": "VALID", "createdDate": "2024-01-16T06:06:02.776Z", "revokedDate": null, "createdBy": "rohitmsp.ruckusone5@email.com", "revokedBy": null, "isTrial": false } }