Entitlement management and license operations.
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.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements/utilizations/query
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements/utilizations/query
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements/utilizations/query
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "filters": { "licenseType": [ … ], "isTrial": false, "status": [ … ], "isAssignedLicense": false, "usageType": "SELF, ASSIGNED, UNKNOWN", "expirationDateRange": { … }, "sku": "[A-Z]+-[A-Z]+-[A-Z]+-[A-Z]+[0-9]$", "skuTier": "Platinum, Gold, Silver", "renewable": false } }
{ "data": [ { … } ] }
Request
Retrieves all purchased entitlements for the authenticated tenant. Purchased entitlements represent the licenses, subscriptions, and service rights that an organization has acquired through purchases, contracts, or promotions. Each entitlement includes details about the license type, stock keeping unit (SKU), quantity, effective dates, expiration dates, device compatibility, and current usage status.
What constitutes a purchased entitlement: subscription licenses with defined quantities and terms, promotional licenses granted for trials or special offers, perpetual licenses with unlimited duration, device specific licenses (access points, switches, analytics), and feature specific entitlements (security, guest access, location services).
Available filters: filter by license type (subscription, trial, promotional), device type (wifi, switch, analytics, edge), license status (active, expired, pending), date ranges (effective date, expiration date), and SKU identifiers. Supports pagination, sorting, and field selection to customize the response.
Response: returns a paginated list of entitlement objects with license details, quantities, dates, usage metrics, and associated device types.
Default number of records per page to use when pageSize is not explicitly specified or is invalid.
Sort order direction for the specified sort field, typically 'ASC' for ascending or 'DESC' for descending.
Number of records to return per page for pagination, with automatic fallback to default if invalid.
Set of specific field names to include in the query response, enabling selective data retrieval.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements/query
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements/query
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements/query
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "defaultPageSize": 0, "sortField": "string", "sortOrder": "string", "page": 0, "pageSize": 0, "fields": [ "string" ], "filters": { "licenseType": [ … ], "isTrial": false, "status": [ … ], "isAssignedLicense": false, "usageType": "SELF, ASSIGNED, UNKNOWN", "expirationDateRange": { … }, "sku": "[A-Z]+-[A-Z]+-[A-Z]+-[A-Z]+[0-9]$", "skuTier": "Platinum, Gold, Silver", "renewable": false } }
success.
- application/vnd.ruckus.v1+json
- application/json
Set of field names that were requested to be included in the response data.
Total number of records available that match the query criteria, used for pagination calculations.
Unique identifier for the primary object or entity associated with this query response.
{ "fields": [ "string" ], "totalCount": 0, "page": 0, "pageSize": 0, "objectId": "string", "data": [ null ], "errors": [ { … } ], "subsequentQueries": [ { … } ] }
Request
Mileage reports offer clear insights into how licenses have been consumed and released across different periods.
Request payload structure: accepts a mileage request object containing:
- license type filters
- pagination parameters (
page size,page number)
Available filters:
- filter by specific license types
- filter by date range (if applicable)
- additional filters based on business requirements
Response format: returns a mileage response containing a list of mileage report entries. each entry provides:
- monthly usage data
- breakdown of license increases and decreases
- key metrics reflecting license life cycle changes.
- application/vnd.ruckus.v1+json
- application/json
Filter criteria for the request.
Type of usage. Possible values: SELF (default), ASSIGNED, UNKNOWN.
Indicates whether to calculate availability for trial/temporary licenses. When true, the calculation considers only trial license entitlements which are typically temporary evaluation licenses. When false, the calculation considers standard purchased licenses. This flag helps distinguish between trial and production license availability in the entitlement calculation.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements/mileageReports/query
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements/mileageReports/query
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements/mileageReports/query
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "page": 1, "pageSize": 30, "filters": { "usageType": "SELF", "licenseType": "APSW", "isTrial": true } }
{ "status": "success", "message": "Object created/updated successfully.", "page": 0, "pageSize": 0, "totalCount": 0, "data": [ { … } ] }
Request
Retrieve detailed license availability reports that calculate how many licenses are currently available for assignment or consumption. This endpoint performs real-time calculations to determine remaining license capacity by analyzing purchased entitlements, active assignments, expired licenses, and reserved allocations. Availability reports are essential for capacity planning and preventing over allocation.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements/compliances/query
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements/compliances/query
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements/compliances/query
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "filters": { "licenseType": [ … ], "complianceType": "SELF" } }
{ "compliances": [ { … } ] }
Start date from which the license is valid.
End date until which the license is valid. Required if operator max quantity is selected.
Number of licenses available. Required if operator max period is selected.
Filter criteria for the request.
Type of usage. Possible values: SELF (default), ASSIGNED, UNKNOWN.
Indicates whether to calculate availability for trial/temporary licenses. When true, the calculation considers only trial license entitlements which are typically temporary evaluation licenses. When false, the calculation considers standard purchased licenses. This flag helps distinguish between trial and production license availability in the entitlement calculation.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements/availabilityReports/query
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements/availabilityReports/query
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements/availabilityReports/query
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "effectiveDate": "2024-01-22", "expirationDate": "2025-02-21", "quantity": 5, "operator": "MAX_QUANTITY", "filters": { "usageType": "SELF", "licenseType": "APSW", "isTrial": true } }
Success
- application/vnd.ruckus.v1+json
- application/json
Message providing additional details about the response.
Data object containing license details
Indicates whether this calculation is for trial/temporary licenses. Trial licenses are temporary evaluation licenses that allow customers to test functionality before purchasing full licenses. When true, the calculation considers trial license availability; when false, it considers standard purchased license availability. This distinction affects which entitlements are included in the availability calculation.
{ "status": "success", "message": "Object created/updated successfully.", "data": { "effectiveDate": "2024-01-22", "expirationDate": "2024-02-21", "quantity": 5, "licenseType": "APSW", "skuTier": "Silver", "isTrial": false } }
- application/vnd.ruckus.v1+json
- application/json
Sorting order, default is ascending order if missing.
Fields to return, all fields will be returned if missing.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements/attentionNotes/query
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements/attentionNotes/query
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements/attentionNotes/query
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "sortField": "startDate", "sortOrder": "DESC", "page": 1, "pageSize": 30, "fields": [ "summary", "details" ], "filters": { "type": [ … ], "tenantType": [ … ], "status": [ … ], "enabled": true, "licenseCheck": true } }
Success
- application/vnd.ruckus.v1+json
- application/json
Set of field names that were requested to be included in the response data.
Total number of records available that match the query criteria, used for pagination calculations.
Unique identifier for the primary object or entity associated with this query response.
{ "fields": [ "string" ], "totalCount": 0, "page": 0, "pageSize": 0, "objectId": "string", "data": [ { … } ], "errors": [ { … } ], "subsequentQueries": [ { … } ] }
Request
Synchronizes entitlements by triggering a refresh of license data from external licensing systems. This operation fetches the latest license purchases, renewals, and modifications, then updates the local entitlement cache to reflect current entitlements.
What is synchronized: new license purchases, license quantity changes, expiration date updates, license type modifications, subscription renewals.
Prerequisites: the tenant must have an active entitlement ID and at least one active subscription.
Type of refresh operation to perform during synchronization, determining the scope and method of the entitlement data refresh.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "usageType": "string", "status": "string", "refreshType": "PAGINATED" }
{ "link": "http://example.com", "desc": "string", "requestId": "string" }
Specific license type if the tenant is an ALM tenant, valid value: MSP_APSW (default), MSP_URLF, MSP_EDGE_SECS, MSP_EDGE_SECL
The first date included in the usage report, for example, startDate=2024-01-15; if omitted, the startDate is set to last month's first date.
The end date included in the usage report, for example, endDate=2024-01-31; if omitted, the endDate is set to last month's last date.
True to include device detail in the report. False to exclude device detail in the report.
Page number for the daily reports. If missing or value 0 means no pagination, all daily reports will be returned.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/entitlements/licenseUsageReports
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/entitlements/licenseUsageReports
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/entitlements/licenseUsageReports
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
No request payloadSuccess
- application/json
- application/vnd.ruckus.v1+json
- text/json
- text/csv
- application/pdf
Name of the managed service provider generating this usage report for identification and billing purposes.
Device license type enumeration specifying the category of devices covered in this usage report for billing classification.
Human-readable license type name used in report generation and CSV export for display purposes.
Original start date requested by the user for the usage report period, using ISO date format (example: 2025-11-21).
Original end date requested by the user for the usage report period, using ISO date format (example: 2025-11-30).
Actual start date used in the generated report, which may differ from requested date due to data availability, using ISO date format (example: 2025-11-01).
Actual end date used in the generated report, which may differ from requested date due to data availability, using ISO date format (example: 2025-11-30).
Total number of days covered in this usage report, calculated from the actual report start and end dates.
Grand total of all device assignment days across all device types and customers for billing calculations.
Grand total of all operational device days across all device types for capacity planning and utilization analysis.
Detailed breakdown of assignment days grouped by device type and subtype for granular billing analysis and customer reporting.
Detailed breakdown of operational device days grouped by device type and subtype for capacity planning and utilization tracking.
Collection of daily usage reports providing daily breakdown of device assignments, customer activity, and operational metrics for detailed analysis.
Current page number in the paginated result set, starting from 0 for pagination control.
Total number of pages available in the complete result set for pagination navigation.
{ "mspName": "string", "licenseType": "MSP_WIFI", "reportLicenseTypeName": "string", "requestStartDate": "2019-08-24", "requestEndDate": "2019-08-24", "reportStartDate": "2019-08-24", "reportEndDate": "2019-08-24", "totalDaysInReport": 0, "grandTotalAssignmentDays": 0, "grandTotalDeviceDays": 0, "totalAssignmentDaysByDevice": [ { … } ], "totalDeviceDaysByDevice": [ { … } ], "dailyReport": [ { … } ], "page": 0, "totalPages": 0, "dailyReportPerPage": 0 }