> ## 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 a subscription set > Returns the subscription set for a specific customer or partner, i.e. the single subscription that groups the plan, the add-ons and the things covered by the contract.
Either customerId or partnerId must be provided to select the owner of the subscription set.
The response reports the activation and renewal timestamps, the status, the payment status and the fees.
Required permissions: READ_SUBSCRIPTION. ## OpenAPI ````json GET /v2/identity/users/me/subscriptionSet { "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/subscriptionSet": { "get": { "summary": "Get a subscription set", "description": "Returns the subscription set for a specific customer or partner, i.e. the single subscription that groups the plan, the add-ons and the things covered by the contract.
Either customerId or partnerId must be provided to select the owner of the subscription set.
The response reports the activation and renewal timestamps, the status, the payment status and the fees.
Required permissions: READ_SUBSCRIPTION.", "tags": [ "SUBSCRIPTIONS" ], "parameters": [ { "$ref": "#/components/parameters/tenantNameHeader" }, { "$ref": "#/components/parameters/customerId" }, { "$ref": "#/components/parameters/partnerId" } ], "responses": { "200": { "description": "Successful operation.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubscriptionSet" } } } }, "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)." }, "customerId": { "in": "query", "name": "customerId", "required": "false", "schema": { "type": "string", "example": "abcd1234" }, "description": "Condition on customer id." }, "partnerId": { "in": "query", "name": "partnerId", "required": "false", "schema": { "type": "string", "example": "abcd1234" }, "description": "Condition on partner id." } }, "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" } } }, "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" } } } } ````