Salable API (v1)
Download OpenAPI specification:Download
Salable is a comprehensive solution tailored for SaaS businesses, streamlining the design and management of pricing models, subscriptions, and licensing.
This documentation is designed to guide you through integrating with Salable's features via our REST API.
- Use HTTP endpoints to access different features.
- Send requests using JSON and receive JSON responses.
Secure your requests by sending your api key on the x-api-key
request header for authentication.
The API Key can be created in the Salable dashboard. Select only the scopes you need will to access. If you're using this in combination with our SDKs be sure to only select read only scopes.
NOTE: If you'd like to use test mode via the API, make sure to use an API key generated in test mode (prefixed with
test_
).
To get up and running, you need to work through the following steps.
- Set up a Salable Account and Organization
- Connect Stripe to Salable (You can skip this for a free product)
- Build your products and plans
- Generate your API key
- Make your first API call
We use standard HTTP status codes for both success and failure responses.
HTTP Code | What it means |
---|---|
200 | The request was successful and the action has been completed. |
201 | This will be sent for the successful completion of POST requests and indicates that the new item was created, eg. a new license. |
204 | The request was successful, no content to returned. |
206 | The request was partially successful. |
400 | There was a request validation error and the request couldn't be completed. |
401 | There was an authentication problem. If you get this error you should make sure your API key is included in the x-api-key header. |
403 | There was an authorisation issue. If you get this error you should check your API key has the correct scopes and that you're in the right organisation |
404 | The request couldn't be completed as the requested resource(s) doesn't exist. |
500 | A problem on our side. If you experience one of these errors, reach out to us and we will help. |
Get products
Retrieves a list of all products
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "displayName": "string",
- "organisation": "string",
- "status": "ACTIVE",
- "paid": true,
- "organisationPaymentIntegrationUuid": "de706cee-7950-4ee9-8a0f-3f53493747a4",
- "paymentIntegrationProductId": "string",
- "appType": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
]
Get a product
Retrieves a specific product by its UUID.
By default, the response does not contain any relational data. If you want to expand the relational data, you can do so with the expand
query parameter.
Authorizations:
path Parameters
productUuid required | string The unique identifier for the product. |
query Parameters
expand | Array of strings Items Enum: "generateCheckoutLinks" "features" "features.featureEnumOptions" "capabilities" "currencies" "currencies.currency" "organisationPaymentIntegration" "plans" "plans.capabilities" "plans.features" "plans.features.feature" "plans.features.enumValue" "plans.currencies" "plans.currencies.currency" Additional properties to expand the product's relations as comma separated values eg |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "displayName": "string",
- "organisation": "string",
- "status": "ACTIVE",
- "paid": true,
- "organisationPaymentIntegrationUuid": "de706cee-7950-4ee9-8a0f-3f53493747a4",
- "paymentIntegrationProductId": "string",
- "appType": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
Get all plans of a product
Retrieves all the plans associated with a specific product.
By default, the response does not contain any relational data. If you want to expand the relational data, you can do so with the expand
query parameter.
Authorizations:
path Parameters
productUuid required | string The unique identifier for the product. |
query Parameters
expand | Array of strings Items Enum: "capabilities" "capabilities.capability" "features" "features.feature" "features.enumValue" "currencies" "currencies.currency" "generateCheckoutLink" Additional properties to expand the plan's relations as comma separated values eg |
successUrl | string <uri> The URL to send users to if they successfully complete a purchase. It must be an absolute URL. |
cancelUrl | string <uri> The URL to send users to if the transaction fails. It must be an absolute URL. |
granteeId | string The unique identifier for the grantee. |
member | string The ID of the member who will manage the license. |
promoCode | string Used to pre-fill the promo code in Stripe checkout, use the promo code ID from the Stripe dashboard. Customers cannot edit this field during checkout. If you prefer to allow customers to enter the promo code themselves, use allowPromoCode instead. |
allowPromoCode | string Enum: true false Enables the promo code field in Stripe checkout. Cannot be used with promoCode. |
customerEmail | string <email> Pre-fills the customer email in Stripe checkout |
customerId | string The ID of an existing customer in your payment integration. This will pre-fill the email, card details and postcode at checkout. |
currency | string Uses the currency short name e.g. USD, defaults to the default currency on the Product which the Plan is linked to. Currently only supported on payment integration type 'stripe_existing' |
automaticTax | string Automatically calculate tax on checkout based on customers location and your Stripe settings. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "status": "ACTIVE",
- "isTest": true,
- "trialDays": 0,
- "evaluation": true,
- "evalDays": 0,
- "organisation": "string",
- "visibility": "string",
- "licenseType": "string",
- "perSeatAmount": 0,
- "interval": "string",
- "length": 0,
- "active": true,
- "planType": "string",
- "pricingType": "string",
- "environment": "string",
- "paddlePlanId": "string",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "salablePlan": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
Get product pricing table
Retrieves the pricing table of a specific product.
By default, the response does not contain any relational data. If you want to expand the relational data, you can do so with the expand
query parameter.
Authorizations:
path Parameters
productUuid required | string The unique identifier for the product. |
query Parameters
globalSuccessUrl required | string <uri> The URL to send users to if they successfully complete a purchase of any plan. It must be an absolute URL. |
globalCancelUrl required | string <uri> The URL to send users to if the transaction fails for any plan purchase. It must be an absolute URL. |
globalGranteeId required | string The unique identifier for the grantee for all plan checkouts links. |
member | string The ID of the member who will manage the license. |
promoCode | string Used to pre-fill the promo code in Stripe checkout, use the promo code ID from the Stripe dashboard. Customers cannot edit this field during checkout. If you prefer to allow customers to enter the promo code themselves, use allowPromoCode instead. |
allowPromoCode | string Enum: true false Enables the promo code field in Stripe checkout. Cannot be used with promoCode. |
customerEmail | string <email> Pre-fills the customer email in Stripe checkout |
customerId | string The ID of an existing customer in your payment integration. This will pre-fill the email, card details and postcode at checkout. |
currency | string Uses the currency short name e.g. USD, defaults to the default currency on the Product which the Plan is linked to. Currently only supported on payment integration type 'stripe_existing' |
automaticTax | string Automatically calculate tax on checkout based on customers location and your Stripe settings. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "displayName": "string",
- "organisation": "string",
- "status": "ACTIVE",
- "paid": true,
- "organisationPaymentIntegrationUuid": "de706cee-7950-4ee9-8a0f-3f53493747a4",
- "paymentIntegrationProductId": "string",
- "appType": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true,
- "features": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "variableName": "string",
- "status": "ACTIVE",
- "visibility": "string",
- "valueType": "string",
- "defaultValue": "string",
- "showUnlimited": true,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sortOrder": 0
}
], - "organisationPaymentIntegration": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "organisation": "string",
- "integrationName": "string",
- "accountName": "string",
- "accountData": { },
- "accountId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}, - "currencies": [
- {
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "currencyUuid": "cd8aed70-26ae-4fd6-bda6-2518f23cc3e4",
- "defaultCurrency": true,
- "currency": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "shortName": "USD",
- "longName": "United States Dollar",
- "symbol": "$"
}
}
], - "plans": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "status": "ACTIVE",
- "isTest": true,
- "trialDays": 0,
- "evaluation": true,
- "evalDays": 0,
- "organisation": "string",
- "visibility": "string",
- "licenseType": "string",
- "perSeatAmount": 0,
- "interval": "string",
- "length": 0,
- "active": true,
- "planType": "string",
- "pricingType": "string",
- "environment": "string",
- "paddlePlanId": "string",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "salablePlan": true,
- "updatedAt": "2019-08-24T14:15:22Z",
- "currencies": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "shortName": "USD",
- "longName": "United States Dollar",
- "symbol": "$"
}
], - "features": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "variableName": "string",
- "status": "ACTIVE",
- "visibility": "string",
- "valueType": "string",
- "defaultValue": "string",
- "showUnlimited": true,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sortOrder": 0
}
]
}
]
}
Get product features
Retrieve the list of features for a product
Authorizations:
path Parameters
productUuid required | string The unique identifier for the product. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "variableName": "string",
- "status": "ACTIVE",
- "visibility": "string",
- "valueType": "string",
- "defaultValue": "string",
- "showUnlimited": true,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sortOrder": 0
}
]
Get product currencies
Retrieve the list of currencies for a product
Authorizations:
path Parameters
productUuid required | string The unique identifier for the product. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "currencyUuid": "cd8aed70-26ae-4fd6-bda6-2518f23cc3e4",
- "defaultCurrency": true,
- "currency": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "shortName": "USD",
- "longName": "United States Dollar",
- "symbol": "$"
}
}
]
Get product capabilities
Retrieve the list of capabilities for a product
Authorizations:
path Parameters
productUuid required | string The unique identifier for the product. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
Get a plan
Retrieves information about a plan by its UUID.
By default, the response does not contain any relational data. If you want to expand the relational data, you can do so with the expand
query parameter.
Authorizations:
path Parameters
planUuid required | string The unique identifier for the plan. |
query Parameters
expand | Array of strings Items Enum: "capabilities" "capabilities.capability" "features" "features.feature" "features.enumValue" "currencies" "currencies.currency" "generateCheckoutLink" Additional properties to expand the plan's relations as comma separated values eg |
successUrl | string <uri> The URL to send users to if they successfully complete a purchase. It must be an absolute URL. |
cancelUrl | string <uri> The URL to send users to if the transaction fails. It must be an absolute URL. |
granteeId | string The unique identifier for the grantee. |
member | string The ID of the member who will manage the license. |
promoCode | string Used to pre-fill the promo code in Stripe checkout, use the promo code ID from the Stripe dashboard. Customers cannot edit this field during checkout. If you prefer to allow customers to enter the promo code themselves, use allowPromoCode instead. |
allowPromoCode | string Enum: true false Enables the promo code field in Stripe checkout. Cannot be used with promoCode. |
customerEmail | string <email> Pre-fills the customer email in Stripe checkout |
customerId | string The ID of an existing customer in your payment integration. This will pre-fill the email, card details and postcode at checkout. |
currency | string Uses the currency short name e.g. USD, defaults to the default currency on the Product which the Plan is linked to. Currently only supported on payment integration type 'stripe_existing' |
automaticTax | string Automatically calculate tax on checkout based on customers location and your Stripe settings. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "status": "ACTIVE",
- "isTest": true,
- "trialDays": 0,
- "evaluation": true,
- "evalDays": 0,
- "organisation": "string",
- "visibility": "string",
- "licenseType": "string",
- "perSeatAmount": 0,
- "interval": "string",
- "length": 0,
- "active": true,
- "planType": "string",
- "pricingType": "string",
- "environment": "string",
- "paddlePlanId": "string",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "salablePlan": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
Get plan features
Retrieve the list of features for a specific plan
Authorizations:
path Parameters
planUuid required | string The unique identifier for the plan. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "featureUuid": "670eca0a-b211-4991-96ad-7061416ed065",
- "value": "-1",
- "enumValueUuid": "8b4cd7f9-d7ab-435e-909e-04c689b8af4a",
- "isUnlimited": true,
- "isUsage": false,
- "pricePerUnit": 0,
- "minUsage": 0,
- "maxUsage": 0,
- "updatedAt": "2023-02-07T14:44:37.433Z",
- "feature": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "variableName": "string",
- "status": "ACTIVE",
- "visibility": "string",
- "valueType": "string",
- "defaultValue": "string",
- "showUnlimited": true,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sortOrder": 0
}, - "enumValue": {
- "uuid": "1955081b-204d-4d2a-9c4c-dc042498c2d9",
- "name": "xxxxx",
- "featureUuid": "78720bed-dcc7-4dd6-8dad-336ef552d41d",
- "updatedAt": "2023-11-16T10:41:57.633Z"
}
}
]
Get plan currencies
Retrieve the list of currencies for a specific plan
Authorizations:
path Parameters
planUuid required | string The unique identifier for the plan. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "currencyUuid": "cd8aed70-26ae-4fd6-bda6-2518f23cc3e4",
- "price": 1000,
- "paymentIntegrationPlanId": "plan_NJVQSbjdHWJUSC",
- "currency": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "shortName": "USD",
- "longName": "United States Dollar",
- "symbol": "$"
}
}
]
Get a checkout link for a plan
Retrieves a checkout link for a specific plan. The checkout link can be used by customers to purchase the plan.
Authorizations:
path Parameters
planUuid required | string The unique identifier for the plan. |
query Parameters
successUrl required | string <uri> The URL to send users to if they successfully complete a purchase. It must be an absolute URL. |
cancelUrl required | string <uri> The URL to send users to if the transaction fails. It must be an absolute URL. |
granteeId required | string The unique identifier for the grantee. |
member required | string The ID of the member who will manage the license. |
promoCode | string Used to pre-fill the promo code in Stripe checkout, use the promo code ID from the Stripe dashboard. Customers cannot edit this field during checkout. If you prefer to allow customers to enter the promo code themselves, use allowPromoCode instead. |
allowPromoCode | string Enum: true false Enables the promo code field in Stripe checkout. Cannot be used with promoCode. |
customerEmail | string <email> Pre-fills the customer email in Stripe checkout |
customerId | string The ID of an existing customer in your payment integration. This will pre-fill the email, card details and postcode at checkout. |
currency | string Uses the currency short name e.g. USD, defaults to the default currency on the Product which the Plan is linked to. Currently only supported on payment integration type 'stripe_existing' |
automaticTax | string Automatically calculate tax on checkout based on customers location and your Stripe settings. |
quantity | string Set the amount of seats a customer will pay for in the checkout. This value cannot be lower than the Plan's minimum seat amount. (Only available on per seat plans) |
changeQuantity | string Allows the customer to set how many seats they will purchase in the checkout but will not be able to go below the plan's minimum seat amount. (Only available on per seat plans) |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{
}
Get plan capabilities
Retrieve the list of capabilities for a specific plan
Authorizations:
path Parameters
planUuid required | string The unique identifier for the plan. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "capabilityUuid": "38bcc211-a4f1-4e36-8268-b7e55afaaa88",
- "updatedAt": "2023-02-07T14:44:37.433Z",
- "capability": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
]
Get a pricing table
Retrieves a pricing table by its UUID. This returns all necessary data on a Pricing Table to be able to display it.
Authorizations:
path Parameters
pricingTableUuid required | string The unique identifier for the pricingTable. |
query Parameters
globalSuccessUrl required | string <uri> The URL to send users to if they successfully complete a purchase of any plan. It must be an absolute URL. |
globalCancelUrl required | string <uri> The URL to send users to if the transaction fails for any plan purchase. It must be an absolute URL. |
globalGranteeId required | string The unique identifier for the grantee for all plan checkouts links. |
member required | string The ID of the member who will manage the license. |
promoCode | string Used to pre-fill the promo code in Stripe checkout, use the promo code ID from the Stripe dashboard. Customers cannot edit this field during checkout. If you prefer to allow customers to enter the promo code themselves, use allowPromoCode instead. |
allowPromoCode | string Enum: true false Enables the promo code field in Stripe checkout. Cannot be used with promoCode. |
customerEmail | string <email> Pre-fills the customer email in Stripe checkout |
customerId | string The ID of an existing customer in your payment integration. This will pre-fill the email, card details and postcode at checkout. |
currency | string Uses the currency short name e.g. USD, defaults to the default currency on the Product which the Plan is linked to. Currently only supported on payment integration type 'stripe_existing' |
automaticTax | string Automatically calculate tax on checkout based on customers location and your Stripe settings. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "xxxxx",
- "status": "ACTIVE",
- "title": "string",
- "text": "string",
- "theme": "light",
- "featureOrder": "default",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "customTheme": "string",
- "featuredPlanUuid": "6f566d7c-fa97-4ce5-96b0-bc188aa2ef85",
- "updatedAt": "2023-10-03T09:50:57.308Z",
- "features": [
- {
- "pricingTableUuid": "c1291141-b0a8-4318-91e7-07cb28ee36c3",
- "featureUuid": "670eca0a-b211-4991-96ad-7061416ed065",
- "sortOrder": 0,
- "updatedAt": "2023-10-03T09:50:57.308Z",
- "feature": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "feature one",
- "description": "Feature description",
- "displayName": "Boolean Feature Display Name",
- "variableName": "feature_one",
- "status": "ACTIVE",
- "visibility": "public",
- "valueType": "boolean",
- "defaultValue": "false",
- "showUnlimited": false,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2023-10-03T09:50:54.288Z",
- "sortOrder": 0,
- "featureEnumOptions": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "xxxxx",
- "featureUuid": "670eca0a-b211-4991-96ad-7061416ed065",
- "updatedAt": "2023-10-03T09:50:56.422Z"
}
]
}
}
], - "product": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "Sample Product",
- "description": "This is a sample product for testing purposes",
- "displayName": "Sample Product",
- "organisation": "test-org",
- "status": "ACTIVE",
- "paid": false,
- "organisationPaymentIntegrationUuid": "de706cee-7950-4ee9-8a0f-3f53493747a4",
- "paymentIntegrationProductId": "string",
- "appType": "CUSTOM",
- "updatedAt": "2023-10-03T09:50:54.288Z",
- "isTest": false,
- "features": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "feature one",
- "description": "Feature description",
- "displayName": "Boolean Feature Display Name",
- "variableName": "feature_one",
- "status": "ACTIVE",
- "visibility": "public",
- "valueType": "boolean",
- "defaultValue": "false",
- "showUnlimited": false,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2023-10-03T09:50:54.288Z",
- "sortOrder": 0,
- "featureEnumOptions": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "xxxxx",
- "featureUuid": "670eca0a-b211-4991-96ad-7061416ed065",
- "updatedAt": "2023-10-03T09:50:56.422Z"
}
]
}
], - "currencies": [
- {
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "currencyUuid": "cd8aed70-26ae-4fd6-bda6-2518f23cc3e4",
- "defaultCurrency": true,
- "currency": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "shortName": "GBP",
- "longName": "Pound Sterling",
- "symbol": "£"
}
}
], - "organisationPaymentIntegration": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "organisation": "test-org",
- "integrationName": "salable",
- "accountName": "test-09afc36d-759d-498f-8f1e-0816c036d879",
- "accountData": { },
- "accountId": "acct_1Nx5FZGgBupIrq4E",
- "updatedAt": "2023-10-03T09:50:54.288Z",
- "isTest": true
}
}, - "plans": [
- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "pricingTableUuid": "c1291141-b0a8-4318-91e7-07cb28ee36c3",
- "sortOrder": 0,
- "updatedAt": "2023-10-03T09:50:57.308Z",
- "plan": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "Free Plan Name",
- "description": "Free Plan description",
- "displayName": "Free Plan Display Name",
- "status": "ACTIVE",
- "isTest": false,
- "trialDays": 7,
- "evaluation": false,
- "evalDays": 14,
- "organisation": "test-org",
- "visibility": "public",
- "licenseType": "licensed",
- "perSeatAmount": 1,
- "interval": "month",
- "length": 1,
- "active": true,
- "planType": "standard",
- "pricingType": "paid",
- "environment": "dev",
- "paddlePlanId": "string",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "salablePlan": false,
- "updatedAt": "2023-10-03T09:50:55.253Z",
- "capabilities": [
- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "capabilityUuid": "38bcc211-a4f1-4e36-8268-b7e55afaaa88",
- "updatedAt": "2023-10-03T09:50:57.155Z",
- "capability": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "test_capability",
- "description": "Capability description",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2023-10-03T09:50:54.288Z"
}
}
], - "features": [
- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "featureUuid": "670eca0a-b211-4991-96ad-7061416ed065",
- "value": "xxxxx",
- "enumValueUuid": "8b4cd7f9-d7ab-435e-909e-04c689b8af4a",
- "isUnlimited": false,
- "isUsage": true,
- "pricePerUnit": 10,
- "minUsage": 1,
- "maxUsage": 100,
- "updatedAt": "2023-10-03T09:50:55.253Z",
- "feature": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "feature one",
- "description": "Feature description",
- "displayName": "Boolean Feature Display Name",
- "variableName": "feature_one",
- "status": "ACTIVE",
- "visibility": "public",
- "valueType": "boolean",
- "defaultValue": "false",
- "showUnlimited": false,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2023-10-03T09:50:54.288Z",
- "sortOrder": 0
}, - "enumValue": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "xxxxx",
- "featureUuid": "670eca0a-b211-4991-96ad-7061416ed065",
- "updatedAt": "2023-10-03T09:50:55.253Z"
}
}
], - "currencies": [
- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "currencyUuid": "cd8aed70-26ae-4fd6-bda6-2518f23cc3e4",
- "price": 500,
- "paymentIntegrationPlanId": "plan_OkaQpjaIjoUVYz",
- "currency": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "shortName": "GBP",
- "longName": "Pound Sterling",
- "symbol": "£"
}
}
],
}
}
]
}
Get a subscription
Retrieves the subscription data based on the UUID.
By default, the response does not contain any relational data. If you want to expand the relational data, you can do so with the expand
query parameter.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
query Parameters
expand | Array of strings Items Enum: "product" "product.organisationPaymentIntegration" "product.currencies" "plan.currencies" "customer" Specify the resource fields to expand as comma separated values eg |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "organisation": "string",
- "paymentIntegrationSubscriptionId": "string",
- "type": "salable",
- "quantity": 1,
- "email": "user@example.com",
- "expiryDate": "2019-08-24T14:15:22Z",
- "lineItemIds": [
- "string"
], - "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
Change a Subscription's Plan
Changes a subscription's plan based on UUID
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
Request Body schema: application/json
planUuid | string <uuid> The UUID of the Plan to which the Subscription will be moved to |
proration | string Default: "create_prorations" Enum: "create_prorations" "none" "always_invoice" The proration behaviour when moving the Subscription to a different Plan
|
Responses
Request samples
- Payload
{- "planUuid": {
- "format": "uuid"
}, - "proration": "create_prorations"
}
Get subscription invoices
Retrieves a list of invoices for a subscription
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "first": "in_xxxx",
- "last": "in_xoxo",
- "hasMore": true,
- "data": [
- {
- "id": "in_xxxx",
- "object": "invoice",
- "account_country": "GB",
- "account_name": "salable.app",
- "account_tax_ids": "string",
- "amount_due": 0,
- "amount_paid": 0,
- "amount_remaining": 0,
- "amount_shipping": 0,
- "application": "ca_xxxx",
- "application_fee_amount": "string",
- "attempt_count": 0,
- "attempted": true,
- "auto_advance": false,
- "automatic_tax": {
- "enabled": false,
- "status": "string"
}, - "billing_reason": "subscription_cycle",
- "charge": "string",
- "collection_method": "charge_automatically",
- "created": 1694521666,
- "currency": "usd",
- "custom_fields": "string",
- "customer": "cus_NlwjXMq7KBOOR2",
- "customer_address": {
- "city": "string",
- "country": "GB",
- "line1": "string",
- "line2": "string",
- "postal_code": "NR13 6UN",
- "state": "string"
}, - "customer_email": "customer@company.com",
- "customer_name": "A NAME",
- "customer_phone": "string",
- "customer_shipping": "string",
- "customer_tax_exempt": "none",
- "customer_tax_ids": [
- "string"
], - "default_payment_method": "string",
- "default_source": "string",
- "default_tax_rates": [
- "string"
], - "description": "string",
- "discount": "string",
- "discounts": [
- "string"
], - "due_date": "string",
- "effective_at": 1694525662,
- "ending_balance": -11,
- "footer": "string",
- "from_invoice": "string",
- "last_finalization_error": "string",
- "latest_revision": "string",
- "lines": {
- "object": "list",
- "data": [
- {
- "id": "il_1NpVh0QQTaDeHd2tKCrxg01G",
- "object": "line_item",
- "amount": -61,
- "amount_excluding_tax": -61,
- "currency": "usd",
- "description": "Unused time on Warm up calculator 2 after 12 Sep 2023",
- "discount_amounts": [
- "string"
], - "discountable": false,
- "discounts": [
- "string"
], - "invoice_item": "ii_1NpVh0QQTaDeHd2tmqwlLPwv",
- "livemode": true,
- "metadata": { },
- "period": {
- "end": 1713962996,
- "start": 1694521666
}, - "plan": {
- "id": "plan_NkBTWal7D8noOb",
- "object": "plan",
- "active": true,
- "aggregate_usage": "string",
- "amount": 99,
- "amount_decimal": "99",
- "billing_scheme": "per_unit",
- "created": 1681934120,
- "currency": "usd",
- "interval": "year",
- "interval_count": 1,
- "livemode": true,
- "metadata": { },
- "nickname": "Pro",
- "product": "prod_NkBLSrAcR0yFKA",
- "tiers_mode": "string",
- "transform_usage": "string",
- "trial_period_days": "string",
- "usage_type": "licensed"
}, - "price": {
- "id": "plan_NkBTWal7D8noOb",
- "object": "price",
- "active": true,
- "billing_scheme": "per_unit",
- "created": 1681934120,
- "currency": "usd",
- "custom_unit_amount": "string",
- "livemode": true,
- "lookup_key": "string",
- "metadata": { },
- "nickname": "Pro",
- "product": "prod_NkBLSrAcR0yFKA",
- "recurring": {
- "aggregate_usage": "string",
- "interval": "year",
- "interval_count": 1,
- "trial_period_days": "string",
- "usage_type": "licensed"
}, - "tax_behavior": "unspecified",
- "tiers_mode": "string",
- "transform_quantity": "string",
- "type": "recurring",
- "unit_amount": 99,
- "unit_amount_decimal": "99"
}, - "proration": true,
- "proration_details": {
- "credited_items": {
- "invoice": "in_xxxx",
- "invoice_line_items": [
- "il_1N0QjLQQTaDeHd2twY3fnTJz"
]
}
}, - "quantity": 1,
- "subscription": "sub_xxxx",
- "subscription_item": "si_NlwjmwWIcCnR0r",
- "tax_amounts": [
- "string"
], - "tax_rates": [
- "string"
], - "type": "invoiceitem",
- "unit_amount_excluding_tax": "-61"
}
], - "has_more": false,
- "total_count": 3,
- "url": "/v1/invoices/in_xxxx/lines"
}, - "livemode": true,
- "metadata": { },
- "next_payment_attempt": "string",
- "number": "C29E5E45-0014",
- "on_behalf_of": "string",
- "paid": true,
- "paid_out_of_band": false,
- "payment_intent": "string",
- "payment_settings": {
- "default_mandate": "string",
- "payment_method_options": "string",
- "payment_method_types": "string"
}, - "period_end": 1694521666,
- "period_start": 1682340596,
- "post_payment_credit_notes_amount": 0,
- "pre_payment_credit_notes_amount": 0,
- "quote": "string",
- "receipt_number": "string",
- "rendering": "string",
- "rendering_options": "string",
- "shipping_cost": "string",
- "shipping_details": "string",
- "starting_balance": 0,
- "statement_descriptor": "string",
- "status": "paid",
- "status_transitions": {
- "finalized_at": 1694525662,
- "marked_uncollectible_at": "string",
- "paid_at": 1694525662,
- "voided_at": "string"
}, - "subscription": "sub_xxxx",
- "subscription_details": {
- "metadata": {
- "granteeId": "user_2OsDX3m32lz850HSrdWurEVZkmU",
- "member": "example-member-123"
}
}, - "subtotal": -11,
- "subtotal_excluding_tax": -11,
- "tax": "string",
- "test_clock": "string",
- "total": -11,
- "total_discount_amounts": [
- "string"
], - "total_excluding_tax": -11,
- "total_tax_amounts": [
- "string"
], - "transfer_data": "string",
- "webhooks_delivered_at": 1694521667
}
]
}
Get plans that a subscribed user can switch to
Retrieves a list of available plans that a subscribed user can switch to
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "status": "ACTIVE",
- "isTest": true,
- "trialDays": 0,
- "evaluation": true,
- "evalDays": 0,
- "organisation": "string",
- "visibility": "string",
- "licenseType": "string",
- "perSeatAmount": 0,
- "interval": "string",
- "length": 0,
- "active": true,
- "planType": "string",
- "pricingType": "string",
- "environment": "string",
- "paddlePlanId": "string",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "salablePlan": true,
- "updatedAt": "2019-08-24T14:15:22Z",
- "currencies": [
- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "currencyUuid": "cd8aed70-26ae-4fd6-bda6-2518f23cc3e4",
- "price": 1000,
- "paymentIntegrationPlanId": "plan_NJVQSbjdHWJUSC",
- "currency": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "shortName": "USD",
- "longName": "United States Dollar",
- "symbol": "$"
}
}
], - "features": [
- {
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "featureUuid": "670eca0a-b211-4991-96ad-7061416ed065",
- "value": "-1",
- "enumValueUuid": "8b4cd7f9-d7ab-435e-909e-04c689b8af4a",
- "isUnlimited": true,
- "isUsage": false,
- "pricePerUnit": 0,
- "minUsage": 0,
- "maxUsage": 0,
- "updatedAt": "2023-02-07T14:44:37.433Z",
- "feature": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "variableName": "string",
- "status": "ACTIVE",
- "visibility": "string",
- "valueType": "string",
- "defaultValue": "string",
- "showUnlimited": true,
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sortOrder": 0
}, - "enumValue": {
- "uuid": "1955081b-204d-4d2a-9c4c-dc042498c2d9",
- "name": "xxxxx",
- "featureUuid": "78720bed-dcc7-4dd6-8dad-336ef552d41d",
- "updatedAt": "2023-11-16T10:41:57.633Z"
}
}
]
}
]
Cancel a subscription
Cancels a subscription by providing the subscriptionUuid
It will cancel immediately or at the end of the Subscription based on value of the when
query parameter.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
query Parameters
when | string Enum: "now" "end" Decides when the subscription should be canceled, either now or at the end of the subscription period |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Get an update payment link
Retrieves the update payment link for a specific subscription. The link opens up a management portal for your payment integration that will have an option for the customer to update their payment details.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
Get a customer portal link
Retrieves the customer portal link for a subscription. The link opens up a subscription management portal for your payment integration that will have an options for the customer to manage their subscription.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
Get a cancel subscription link
Retrieves the cancel subscription link for a specific subscription. The link opens up a subscription management portal for your payment integration that will have an option for the customer to cancel the subscription.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
Get payment method
Retrieves the payment method used to pay for a subscription.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "id": "string",
- "object": "string",
- "billing_details": {
- "address": {
- "city": "string",
- "country": "string",
- "line1": "string",
- "line2": "string",
- "postal_code": "string",
- "state": "string"
}, - "email": "string",
- "name": "string",
- "phone": "string"
}, - "card": {
- "brand": "string",
- "checks": {
- "address_line1_check": "string",
- "address_postal_code_check": "string",
- "cvc_check": "string"
}, - "country": "string",
- "exp_month": 0,
- "exp_year": 0,
- "fingerprint": "string",
- "funding": "string",
- "generated_from": "string",
- "last4": "string",
- "networks": {
- "available": [
- "string"
], - "preferred": "string"
}, - "three_d_secure_usage": {
- "supported": true
}, - "wallet": "string"
}, - "created": 0,
- "customer": "string",
- "livemode": true,
- "metadata": { },
- "type": "string"
}
Reactivate a Subscription
Reactivate a Subscription's scheduled cancellation before the billing period has passed. If the billing period has passed and the Subscription has already been canceled please create a new Subscription.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Move a Subscription to another Plan Deprecated
This endpoint is deprecated. Use change subscription plan. Moves a subscription to a different plan. Allows users to change the plan for a subscription.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
planUuid required | string The unique identifier for the plan. |
Responses
Increment quantity of seats on a subscription.
Incrementing will create unassigned licenses.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
increment required | integer The number of seats to increment. |
proration | string Default: "create_prorations" Enum: "create_prorations" "none" "always_invoice" The proration behaviour when moving the Subscription to a different Plan
|
Responses
Request samples
- Payload
{- "increment": 0,
- "proration": "create_prorations"
}
Response samples
- 202
{- "eventUuid": "5a928004-a2ef-4e00-8343-c8e7d40b4b41"
}
Decrement quantity of seats on a subscription.
Decrementing will only remove unassigned licenses.
Authorizations:
path Parameters
subscriptionUuid required | string The unique identifier for the subscription. |
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
decrement required | integer The number of seats to decrement. |
proration | string Default: "create_prorations" Enum: "create_prorations" "none" "always_invoice" The proration behaviour when moving the Subscription to a different Plan
|
Responses
Request samples
- Payload
{- "decrement": 0,
- "proration": "create_prorations"
}
Response samples
- 202
{- "eventUuid": "5a928004-a2ef-4e00-8343-c8e7d40b4b41"
}
Create a license
Create one or many ad hoc Licenses to give the specified granteeIds access to features.
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
planUuid required | string <uuid> The UUID of the plan associated with the license.
The |
member required | string The ID of the member who will manage the license. |
granteeId required | string or null The grantee ID for the license. |
Responses
Request samples
- Payload
{- "planUuid": "2fbdf7df-cb91-4104-ab75-de2db68db742",
- "member": "memberId_123456",
- "granteeId": "userId_123456"
}
Response samples
- 200
[ ]
Batch update licenses
Performs a batch update of licenses.
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
uuid required | string <uuid> |
granteeId required | string or null |
Responses
Request samples
- Payload
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "granteeId": "granteeId_123"
}
]
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "subscriptionUuid": "466672c4-1527-4594-82f2-3d3ac972eb68",
- "granteeId": "string",
- "purchaser": "string",
- "email": "string",
- "name": "string",
- "paymentService": "string",
- "type": "string",
- "capabilities": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
]
Get licenses
Retrieves a list of all licenses.
Authorizations:
query Parameters
status | string Enum: "active" "canceled" "evaluation" "scheduled" "trialing" "inactive" The status of the licenses. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "subscriptionUuid": "466672c4-1527-4594-82f2-3d3ac972eb68",
- "granteeId": "string",
- "purchaser": "string",
- "email": "string",
- "name": "string",
- "paymentService": "string",
- "type": "string",
- "capabilities": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
]
Get the count of licenses
Returns the count of all licenses including counts for assigned and unassigned licenses.
Authorizations:
query Parameters
subscriptionUuid | string The unique identifier for the subscription. |
status | string Enum: "active" "canceled" "evaluation" "scheduled" "trialing" "inactive" The status of the licenses. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "count": 0,
- "assigned": 0,
- "unassigned": 0
}
Get a License
Fetch the details of a specific license using its UUID. If additional specific details are required, use the optional 'expand' query parameter to include relational data such as associated subscription details, pricing plans, product details, etc.
Authorizations:
path Parameters
licenseUuid required | string The unique identifier for the license. |
query Parameters
expand | Array of strings Example: expand=subscription,plan.currencies.currency,plan.currencies,plan.features,plan,product.currencies,product.organisationPaymentIntegration,product Specify the resource fields to expand as comma separated values eg |
Responses
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "subscriptionUuid": "466672c4-1527-4594-82f2-3d3ac972eb68",
- "granteeId": "string",
- "purchaser": "string",
- "email": "string",
- "name": "string",
- "paymentService": "string",
- "type": "string",
- "capabilities": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
Update a license
Set or unset the granteeId of a license.
Authorizations:
path Parameters
licenseUuid required | string The unique identifier for the license. |
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
granteeId required | string |
Responses
Request samples
- Payload
{- "granteeId": "123456_updated"
}
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "subscriptionUuid": "466672c4-1527-4594-82f2-3d3ac972eb68",
- "granteeId": "string",
- "purchaser": "string",
- "email": "string",
- "name": "string",
- "paymentService": "string",
- "type": "string",
- "capabilities": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
Cancel an ad hoc License
Cancel an ad hoc license, this will set the status to CANCELED
Does not cancel subscription, only use for canceling ad hoc licenses.
Authorizations:
path Parameters
licenseUuid required | string The unique identifier for the license. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Check a grantee(s) licenses
Retrieves the flags the grantee(s) have access to.
Authorizations:
query Parameters
granteeIds required | string Example: granteeIds=123,456 Comma-separated unique identifiers of the grantees |
productUuid required | string The unique identifier for the product. |
grace | integer <int> >= 1 The number of days to add to the capabilitiesEndDates. Values of <=0 will return an error. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "capabilities": [
- "test_capability"
], - "publicHash": "04b856e9a6ddd762138c52b6edbca5ac5b4be5ae7053f519d804e667adc11992372abd5db91cb0289985cebab1f8b5de9541b8a1a97202240f7a317d4a9f78d299",
- "signature": "3044022004f243b5bb524689498537ff6bf865d847b8f6c6f65db687036814281fe4c1cc022043e645238050c587b6a79343a4acad58a925d3fbf3ba914d2f4c38a1f8439993",
- "capsHashed": "test_capability",
- "capabilitiesEndDates": {
- "test_capability": "2023-11-03T12:47:02.021Z"
}
}
Get licenses by purchaser
Retrieves an array of licenses for a purchaser
Authorizations:
query Parameters
productUuid required | string The unique identifier for the product. |
status | string Enum: "active" "canceled" "evaluation" "scheduled" "trialing" "inactive" The status of the licenses. |
purchaser required | string An identifier for the owner of the license. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "email": "user@example.com",
- "subscriptionUuid": "466672c4-1527-4594-82f2-3d3ac972eb68",
- "status": "ACTIVE",
- "granteeId": "string",
- "paymentService": "string",
- "purchaser": "user@example.com",
- "type": "string",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "capabilities": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "metadata": "string",
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true,
- "product": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "logoUrl": "string",
- "displayName": "string",
- "organisation": "string",
- "status": "ACTIVE",
- "paid": true,
- "organisationPaymentIntegrationUuid": "de706cee-7950-4ee9-8a0f-3f53493747a4",
- "paymentIntegrationProductId": "string",
- "appType": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}, - "plan": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "displayName": "string",
- "status": "ACTIVE",
- "isTest": true,
- "trialDays": 0,
- "evaluation": true,
- "evalDays": 0,
- "organisation": "string",
- "visibility": "string",
- "licenseType": "string",
- "perSeatAmount": 0,
- "interval": "string",
- "length": 0,
- "active": true,
- "planType": "string",
- "pricingType": "string",
- "environment": "string",
- "paddlePlanId": "string",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "salablePlan": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "subscription": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "organisation": "string",
- "paymentIntegrationSubscriptionId": "string",
- "type": "salable",
- "quantity": 1,
- "email": "user@example.com",
- "expiryDate": "2019-08-24T14:15:22Z",
- "lineItemIds": [
- "string"
], - "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
}
]
Get licenses by granteeId
Retrieves a list of licenses for a grantee
Authorizations:
path Parameters
granteeId required | string The unique identifier for the grantee. |
query Parameters
expand | Array of strings Items Enum: "subscription" "plan.currencies.currency" "plan.currencies" "plan.features" "plan" "product.currencies" "product.organisationPaymentIntegration" "product" Parameters to expand in the response |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "planUuid": "4da9429c-fce6-4d7f-97f3-072e42f5878b",
- "subscriptionUuid": "466672c4-1527-4594-82f2-3d3ac972eb68",
- "granteeId": "string",
- "purchaser": "string",
- "email": "string",
- "name": "string",
- "paymentService": "string",
- "type": "string",
- "capabilities": [
- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "productUuid": "3a88375a-5ea7-4e22-b7fe-b3c10f9367f3",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "isTest": true
}
]
Cancel many ad hoc licenses
Cancels ad hoc Licenses with using an array of licenseUuids.
Does not cancel subscription, only use for canceling ad hoc licenses.
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
uuids | Array of strings UUIDs of the Licenses which are being canceled |
Responses
Request samples
- Payload
{- "uuids": [
- "674e7460-8eea-48b1-a795-2705d0e38ff4",
- "eb6424b2-4cb3-4812-85a4-25acab877109"
]
}
Get usage details of a license
Retrieves the usage count for a metered license.
Authorizations:
path Parameters
licenseUuid required | string The unique identifier for the license. |
query Parameters
planUuid required | string The uuid of the plan the license belongs to. |
granteeId required | string The granteeId of the license belongs. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "unitCount": 0
}
Updates a license's usage
Updates the usage on a license by incrementing its value.
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
unique-key required | string A unique key for idempotent requests |
Request Body schema: application/json
planUuid required | string The uuid of the plan the license belongs to. |
granteeId required | string The granteeId of the license. |
required | object |
Responses
Request samples
- Payload
{- "planUuid": "string",
- "granteeId": "string",
- "countOptions": {
- "increment": 1
}
}
Get a event
Retrieves an event by its UUID. Events keep track of the progress of asynchronous tasks which rely on receiving webhooks or additional processing to complete.
Authorizations:
path Parameters
eventUuid required | string The unique identifier for the event. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "type": "Create seats",
- "organisation": "string",
- "status": "retrying",
- "isTest": true,
- "retries": 0,
- "errorMessage": "string",
- "errorCode": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Create new RBAC permission
Creates a new RBAC permission that can be assigned to a user or role
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
value required | string |
type | string |
description | string |
dependencies | Array of strings |
Responses
Request samples
- Payload
{- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
Response samples
- 201
{- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
Get list of permissions
Retrieves the list of RBAC permissions
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
Get permission by UUID
Retrieves the RBAC permission with the specified UUID.
Authorizations:
path Parameters
permissionUuid required | string The unique identifier for the RBAC permission. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
Update permission by UUID
Updates the RBAC permission with the specified UUID.
Authorizations:
path Parameters
permissionUuid required | string The unique identifier for the RBAC permission. |
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
value | string |
type | string |
description | string |
dependencies | Array of strings |
Responses
Request samples
- Payload
{- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
Response samples
- 200
{- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
Create new role
Creates a new RBAC role that can be assigned to a user
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
name required | string |
description | string |
permissions | Array of strings |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "permissions": [
- "string"
]
}
Response samples
- 201
{- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
Get list of roles
Retrieves the list of RBAC roles
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
]
Get role by UUID
Retrieves the RBAC role by its UUID.
Authorizations:
path Parameters
roleUuid required | string The unique identifier for the RBAC role. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
Update role by UUID
Updates the RBAC role by its UUID.
Authorizations:
path Parameters
roleUuid required | string The unique identifier for the RBAC role. |
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
name | string |
description | string |
permissions | Array of strings |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "permissions": [
- "string"
]
}
Response samples
- 200
{- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
Create new user
Creates a new user with the provided data
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
id required | string |
name | string |
role | string |
permissions | Array of strings |
Responses
Request samples
- Payload
{- "id": "string",
- "name": "string",
- "role": "string",
- "permissions": [
- "string"
]
}
Response samples
- 201
{- "id": "string",
- "name": "string",
- "role": {
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}, - "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
Get list of users
Retrieves a list of all users
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
[- {
- "id": "string",
- "name": "string",
- "role": {
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}, - "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
]
Get user by UUID
Retrieves the RBAC Users with the specified UUID.
Authorizations:
path Parameters
userUuid required | string The unique identifier for the RBAC user. |
header Parameters
version required | string Value: "v1" The version of the api. |
Responses
Response samples
- 200
{- "id": "string",
- "name": "string",
- "role": {
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}, - "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
Update user by UUID
Updates the RBAC Users with the specified UUID.
Authorizations:
path Parameters
userUuid required | string The unique identifier for the RBAC user. |
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
id | string |
name | string |
role | string |
object (AddRemoveByUuid) |
Responses
Request samples
- Payload
{- "id": "string",
- "name": "string",
- "role": "string",
- "permissions": {
- "add": [
- "string"
], - "remove": [
- "string"
]
}
}
Response samples
- 200
{- "id": "string",
- "name": "string",
- "role": {
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}, - "permissions": [
- {
- "value": "string",
- "type": "string",
- "description": "string",
- "dependencies": [
- "string"
]
}
]
}
Create a Stripe subscription with a payment intent
Creates a Stripe subscription with an incomplete
status and returns the latest_invoice.payment_intent.client_secret
necessary for Stripe Elements and Salable Checkout component.
This status changes to active
once a payment method is successfully processed.
Authorizations:
header Parameters
version required | string Value: "v1" The version of the api. |
Request Body schema: application/json
planUuid | string |
string | |
member | string |
granteeId | string |
currency | string |
Responses
Request samples
- Payload
{- "planUuid": "string",
- "email": "string",
- "member": "string",
- "granteeId": "string",
- "currency": "string"
}
Response samples
- 200
{- "clientSecret": "string"
}