> ## Documentation Index
> Fetch the complete documentation index at: https://learn.servitly.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Get all subscription sets
> Returns the list of subscription sets for a specific entity type CUSTOMER or PARTNER.
Required permissions: READ_SUBSCRIPTION.
## OpenAPI
````json GET /v2/identity/users/me/subscriptionSets
{
"openapi": "3.1.0",
"info": {
"title": "Servitly DPS API",
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.servitly-sandbox.com",
"description": "[AWS SANDBOX]"
},
{
"url": "https://api.servitly.com",
"description": "[AWS PRODUCTION Ireland]"
},
{
"url": "https://api-ap.servitly.com",
"description": "[AWS Hong Kong]"
},
{
"url": "https://azapi.servitly-dev.com",
"description": "[AZURE DEV Frankfurt]"
},
{
"url": "https://azapi.servitly-staging.com",
"description": "[AZURE STAGING Frankfurt]"
},
{
"url": "https://azapi.servitly.com",
"description": "[AZURE PRODUCTION Frankfurt]"
}
],
"security": [
{
"bearerAuth": []
}
],
"tags": [
{
"name": "ACTIONS"
},
{
"name": "ALERTS"
},
{
"name": "API GATEWAY"
},
{
"name": "AUTHENTICATION"
},
{
"name": "AUTHORIZATIONS"
},
{
"name": "CUSTOMERS"
},
{
"name": "DATA IMPORT / EXPORT"
},
{
"name": "EVENTS"
},
{
"name": "LOCATIONS"
},
{
"name": "MAINTENANCE"
},
{
"name": "MAPPING"
},
{
"name": "METRIC DATA"
},
{
"name": "MOBILE APP"
},
{
"name": "ORGANIZATION"
},
{
"name": "PARTNERS"
},
{
"name": "PRODUCT MODELS"
},
{
"name": "SPARE PARTS"
},
{
"name": "STATISTICS"
},
{
"name": "STORE ORDERS"
},
{
"name": "SUBSCRIPTIONS"
},
{
"name": "SUBSCRIPTIONS (OLD)"
},
{
"name": "THING CONTROL"
},
{
"name": "THING DEFINITIONS"
},
{
"name": "THING MANAGEMENT"
},
{
"name": "THINGS"
},
{
"name": "TICKETS"
},
{
"name": "USER TYPES"
},
{
"name": "USERS"
},
{
"name": "WORK SESSIONS"
}
],
"paths": {
"/v2/identity/users/me/subscriptionSets": {
"get": {
"summary": "Get all subscription sets",
"description": "Returns the list of subscription sets for a specific entity type CUSTOMER or PARTNER.
Required permissions: READ_SUBSCRIPTION.",
"tags": [
"SUBSCRIPTIONS"
],
"parameters": [
{
"$ref": "#/components/parameters/tenantNameHeader"
},
{
"$ref": "#/components/parameters/subscriptionType"
}
],
"responses": {
"200": {
"description": "Successful operation.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionSet"
}
}
}
},
{
"$ref": "#/components/schemas/PaginatedResponse"
}
]
}
}
}
},
"401": {
"$ref": "#/components/responses/NotAuthenticated"
},
"403": {
"$ref": "#/components/responses/NotAuthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/ApiLimit"
},
"500": {
"$ref": "#/components/responses/IntError"
}
}
}
}
},
"components": {
"parameters": {
"tenantNameHeader": {
"in": "header",
"name": "X-Servitly-Tenant",
"required": "true",
"schema": {
"type": "string",
"example": "{{tenantName}}"
},
"description": "The name of the tenant (e.g. acme)."
},
"subscriptionType": {
"in": "query",
"name": "type",
"required": "true",
"schema": {
"type": "string",
"minimum": "1",
"enum": [
"CUSTOMER",
"PARTNER"
]
},
"description": "The subscription type to be retrieved."
}
},
"schemas": {
"SubscriptionSet": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the subscription.",
"example": "68de40fc2f33393e618e5a57",
"readOnly": "true"
},
"type": {
"type": "string",
"description": "Type of subscription owner entity.",
"enum": [
"CUSTOMER",
"PARTNER"
],
"example": "CUSTOMER",
"readOnly": "true"
},
"customerId": {
"type": "string",
"description": "ID of the customer associated with the subscription.",
"example": "661fa918281ccf25619dc5cc",
"readOnly": "true"
},
"partnerId": {
"type": "string",
"description": "ID of the partner associated with the subscription (null for customer subscriptions).",
"example": "661fa918281ccf25619dc5cc",
"readOnly": "true"
},
"activationTimestamp": {
"type": "integer",
"format": "int64",
"description": "Unix timestamp (milliseconds) when the subscription was activated.",
"example": "1759396092423",
"readOnly": "true"
},
"renewalTimestamp": {
"type": "integer",
"format": "int64",
"description": "Unix timestamp (milliseconds) when the subscription is due for renewal.",
"example": "1790932092423",
"readOnly": "true"
},
"duration": {
"type": "string",
"description": "Duration of the subscription period.",
"enum": [
"YEAR_1"
],
"example": "YEAR_1",
"readOnly": "true"
},
"subscriptionThings": {
"type": "array",
"description": "List of things (devices/assets) included in this subscription.",
"items": {
"$ref": "#/components/schemas/SubscriptionThing"
}
},
"subscriptionPlan": {
"$ref": "#/components/schemas/SubscriptionPlan",
"nullable": "true",
"description": "Subscription plan applied at the subscription level (null when activation mode is per-thing)."
},
"subscriptionAddOns": {
"type": "array",
"description": "Add-ons applied at the subscription level (null when activation mode is per-thing).",
"items": {
"$ref": "#/components/schemas/SubscriptionAddOn"
}
},
"status": {
"type": "string",
"description": "Current status of the subscription.",
"enum": [
"ACTIVE",
"SUSPENDED"
],
"example": "ACTIVE"
},
"renewalFee": {
"type": "float",
"description": "Renewal fee amount.",
"example": "100.6"
},
"undiscountedRenewalFee": {
"type": "float",
"description": "Renewal fee before any discount is applied.",
"example": "120"
},
"paymentStatus": {
"type": "string",
"description": "Current payment status.",
"enum": [
"PENDING",
"PAID"
],
"example": "PENDING"
},
"pendingPaymentCount": {
"type": "integer",
"description": "Number of pending payments.",
"example": "3"
},
"paymentMethod": {
"type": "object",
"description": "Payment method identifier."
},
"customerName": {
"type": "string",
"description": "The name of the customer.",
"example": "Abon Metal"
},
"partnerName": {
"type": "string",
"description": "The name of the partner.",
"example": "AllServices"
},
"expiringNotified": {
"type": "boolean",
"description": "Whether an expiry notification has been sent."
},
"trialUnavailable": {
"type": "boolean",
"description": "Whether a trial is unavailable for this subscription."
},
"discountPercentage": {
"type": "number",
"description": "Discount percentage applied to the prices (0–100).",
"example": "20"
}
}
},
"PaginatedResponse": {
"type": "object",
"properties": {
"first": {
"type": "boolean",
"description": "The flag indicating whether the page is the first one."
},
"last": {
"type": "boolean",
"description": "The flag indicating whether the last page has been reached."
},
"totalPages": {
"type": "integer",
"description": "The total number of pages."
},
"totalElements": {
"type": "integer",
"description": "The total number of elements."
},
"sort": {
"type": "string",
"description": "The current sorting criteria."
},
"numberOfElements": {
"type": "integer",
"description": "The number of elements in this page."
},
"size": {
"type": "integer",
"description": "The requested page size."
},
"number": {
"type": "integer",
"minimum": "0",
"description": "The number of the page (zero-based)."
}
}
},
"SubscriptionThing": {
"type": "object",
"properties": {
"thingId": {
"type": "string",
"description": "Unique identifier of the thing (device/asset).",
"example": "6620e4a542541977c406b921"
},
"subscriptionPlan": {
"$ref": "#/components/schemas/SubscriptionPlan",
"description": "Subscription plan applied to this specific thing."
},
"subscriptionAddOns": {
"type": "array",
"description": "Add-ons applied to this specific thing.",
"items": {
"$ref": "#/components/schemas/SubscriptionAddOn"
}
},
"trialUnavailable": {
"type": "boolean",
"description": "Whether a trial is unavailable for this thing.",
"example": "true"
}
}
},
"SubscriptionPlan": {
"type": "object",
"properties": {
"digitalServiceId": {
"type": "string",
"description": "Identifier of the digital service representing the plan.",
"example": "69b983f6162d293e457ba931"
},
"deactivating": {
"type": "boolean",
"description": "Whether this plan is scheduled for deactivation.",
"example": "false"
}
}
},
"SubscriptionAddOn": {
"type": "object",
"properties": {
"digitalServiceId": {
"type": "string",
"description": "Identifier of the digital service representing the add-on.",
"example": "68de40642f33393e618e5a26"
},
"deactivating": {
"type": "boolean",
"description": "Whether this add-on is scheduled for deactivation.",
"example": "false"
}
}
}
},
"responses": {
"NotAuthenticated": {
"description": "User not authenticated.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error response.",
"example": "User not authenticated"
}
}
}
}
}
},
"NotAuthorized": {
"description": "User not authorized.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error response.",
"example": "User not authorized"
}
}
}
}
}
},
"NotFound": {
"description": "Resource was not found.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error response.",
"example": "Resource not found"
}
}
}
}
}
},
"ApiLimit": {
"description": "API call rate limit exceeded.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error response.",
"example": "API call rate limit exceeded"
}
}
}
}
}
},
"IntError": {
"description": "Internal server error.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error response.",
"example": "Internal Server Error"
}
}
}
}
}
}
},
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer"
}
}
}
}
````