Skip to main content

Salable API (v1)

Download OpenAPI specification:Download

Salable API

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.

HTTP Endpoints

  • Use HTTP endpoints to access different features.
  • Send requests using JSON and receive JSON responses.

Authentication

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_).

Quick Start

To get up and running, you need to work through the following steps.

  • Set up a Salable Account and Organization
  • Connect either Stripe or Paddle to Salable (You can skip this for a free product)
  • Build your products and plans
  • Generate your API key
  • Make your first API call

HTTP Status Codes

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.

Products

Operations related to products.

Get products

Retrieves a list of all products

Authorizations:
apiKey
header Parameters
version
required
string
Value: "v1"

The version of the api.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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:
apiKey
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 expand=plans,features

header Parameters
version
required
string
Value: "v1"

The version of the api.

Responses

Response samples

Content type
application/json
{
  • "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:
apiKey
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 expand=currencies,features

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

Content type
application/json
[
  • {
    }
]

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:
apiKey
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

Content type
application/json
{
  • "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": [
    ],
  • "organisationPaymentIntegration": {
    },
  • "currencies": [
    ],
  • "plans": [
    ]
}

Get product features

Retrieve the list of features for a product

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Get product currencies

Retrieve the list of currencies for a product

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Get product capabilities

Retrieve the list of capabilities for a product

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Plans

Operations related to plans.

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:
apiKey
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 expand=currencies,features

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

Content type
application/json
{
  • "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:
apiKey
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

Content type
application/json
[
  • {
    }
]

Get plan currencies

Retrieve the list of currencies for a specific plan

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Get plan capabilities

Retrieve the list of capabilities for a specific plan

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Pricing Tables

Operations related to pricing tables.

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:
apiKey
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

Content type
application/json
{
  • "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": [
    ],
  • "product": {
    },
  • "plans": [
    ]
}

Subscriptions

Operations related to licenses.

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:
apiKey
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 expand=product,customer

header Parameters
version
required
string
Value: "v1"

The version of the api.

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "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:
apiKey
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

  • create_prorations: Will cause proration invoice items to be created when applicable.
  • none: Disable creating prorations in this request.
  • always_invoice: Always invoice immediately for prorations.

Responses

Request samples

Content type
application/json
{
  • "planUuid": {
    },
  • "proration": "create_prorations"
}

Get subscription invoices

Retrieves a list of invoices for a subscription

Authorizations:
apiKey
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

Content type
application/json
{
  • "first": "in_xxxx",
  • "last": "in_xoxo",
  • "hasMore": true,
  • "data": [
    ]
}

Get plans that a subscribed user can switch to

Retrieves a list of available plans that a subscribed user can switch to

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

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:
apiKey
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 payment method

Retrieves the payment method used to pay for a subscription.

Authorizations:
apiKey
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

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "billing_details": {
    },
  • "card": {
    },
  • "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:
apiKey
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:
apiKey
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:
apiKey
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

  • create_prorations: Will cause proration invoice items to be created when applicable.
  • none: Disable creating prorations in this request.
  • always_invoice: Always invoice immediately for prorations.

Responses

Request samples

Content type
application/json
{
  • "increment": 0,
  • "proration": "create_prorations"
}

Response samples

Content type
application/json
{
  • "eventUuid": "5a928004-a2ef-4e00-8343-c8e7d40b4b41"
}

Decrement quantity of seats on a subscription.

Decrementing will only remove unassigned licenses.

Authorizations:
apiKey
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

  • create_prorations: Will cause proration invoice items to be created when applicable.
  • none: Disable creating prorations in this request.
  • always_invoice: Always invoice immediately for prorations.

Responses

Request samples

Content type
application/json
{
  • "decrement": 0,
  • "proration": "create_prorations"
}

Response samples

Content type
application/json
{
  • "eventUuid": "5a928004-a2ef-4e00-8343-c8e7d40b4b41"
}

Licenses

Operations related to licenses.

Create a license

Create one or many ad hoc Licenses to give the specified granteeIds access to features.

Authorizations:
apiKey
header Parameters
version
required
string
Value: "v1"

The version of the api.

Request Body schema: application/json
One of
planUuid
required
string <uuid>

The UUID of the plan associated with the license. The planUuid can be found on the Plan view in the Salable dashboard.

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

Content type
application/json
Example
{
  • "planUuid": "2fbdf7df-cb91-4104-ab75-de2db68db742",
  • "member": "memberId_123456",
  • "granteeId": "userId_123456"
}

Response samples

Content type
application/json
[ ]

Batch update licenses

Performs a batch update of licenses.

Authorizations:
apiKey
header Parameters
version
required
string
Value: "v1"

The version of the api.

Request Body schema: application/json
Array
uuid
required
string <uuid>
granteeId
required
string or null

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Get licenses

Retrieves a list of all licenses.

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Get the count of licenses

Returns the count of all licenses including counts for assigned and unassigned licenses.

Authorizations:
apiKey
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

Content type
application/json
{
  • "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:
apiKey
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 expand=subscription,plan

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "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:
apiKey
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

Content type
application/json
{
  • "granteeId": "123456_updated"
}

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "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:
apiKey
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:
apiKey
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

Content type
application/json
{
  • "capabilities": [
    ],
  • "publicHash": "04b856e9a6ddd762138c52b6edbca5ac5b4be5ae7053f519d804e667adc11992372abd5db91cb0289985cebab1f8b5de9541b8a1a97202240f7a317d4a9f78d299",
  • "signature": "3044022004f243b5bb524689498537ff6bf865d847b8f6c6f65db687036814281fe4c1cc022043e645238050c587b6a79343a4acad58a925d3fbf3ba914d2f4c38a1f8439993",
  • "capsHashed": "test_capability",
  • "capabilitiesEndDates": {
    }
}

Get licenses by purchaser

Retrieves an array of licenses for a purchaser

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Get licenses by granteeId

Retrieves a list of licenses for a grantee

Authorizations:
apiKey
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

Content type
application/json
[
  • {
    }
]

Get usage details of a license

Retrieves the feature usage details for a metered license.

Authorizations:
apiKey
path Parameters
licenseUuid
required
string

The unique identifier for the license.

header Parameters
version
required
string
Value: "v1"

The version of the api.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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:
apiKey
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

Content type
application/json
{
  • "uuids": [
    ]
}

Usage

Operations related to usage.

Updates a license's usage

Updates the usage feature of a license by incrementing its value.

Authorizations:
apiKey
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
licenseUuid
required
string <uuid>

The UUID of the license.

featureVariableName
required
string

The name of the feature variable.

required
object

Responses

Request samples

Content type
application/json
{
  • "licenseUuid": "1a47cf96-c79e-4cca-b330-9fcb1633f9a0",
  • "featureVariableName": "string",
  • "countOptions": {
    }
}

Events

Operations related to events.

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:
apiKey
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

Content type
application/json
{
  • "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"
}

RBAC Permissions

Operations related to RBAC permissions.

Create new RBAC permission

Creates a new RBAC permission that can be assigned to a user or role

Authorizations:
apiKey
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

Content type
application/json
{
  • "value": "string",
  • "type": "string",
  • "description": "string",
  • "dependencies": [
    ]
}

Response samples

Content type
application/json
{
  • "value": "string",
  • "type": "string",
  • "description": "string",
  • "dependencies": [
    ]
}

Get list of permissions

Retrieves the list of RBAC permissions

Authorizations:
apiKey
header Parameters
version
required
string
Value: "v1"

The version of the api.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get permission by UUID

Retrieves the RBAC permission with the specified UUID.

Authorizations:
apiKey
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

Content type
application/json
{
  • "value": "string",
  • "type": "string",
  • "description": "string",
  • "dependencies": [
    ]
}

Update permission by UUID

Updates the RBAC permission with the specified UUID.

Authorizations:
apiKey
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

Content type
application/json
{
  • "value": "string",
  • "type": "string",
  • "description": "string",
  • "dependencies": [
    ]
}

Response samples

Content type
application/json
{
  • "value": "string",
  • "type": "string",
  • "description": "string",
  • "dependencies": [
    ]
}

Delete permission by UUID

Deletes the RBAC permission with the specified UUID.

Authorizations:
apiKey
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

RBAC Roles

Operations related to RBAC roles.

Create new role

Creates a new RBAC role that can be assigned to a user

Authorizations:
apiKey
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

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Get list of roles

Retrieves the list of RBAC roles

Authorizations:
apiKey
header Parameters
version
required
string
Value: "v1"

The version of the api.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get role by UUID

Retrieves the RBAC role by its UUID.

Authorizations:
apiKey
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

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Update role by UUID

Updates the RBAC role by its UUID.

Authorizations:
apiKey
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

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Delete role by UUID

Deletes the RBAC role by its UUID.

Authorizations:
apiKey
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

RBAC Users

Operations related to RBAC users.

Create new user

Creates a new user with the provided data

Authorizations:
apiKey
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

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "role": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "role": {
    },
  • "permissions": [
    ]
}

Get list of users

Retrieves a list of all users

Authorizations:
apiKey
header Parameters
version
required
string
Value: "v1"

The version of the api.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get user by UUID

Retrieves the RBAC Users with the specified UUID.

Authorizations:
apiKey
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

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "role": {
    },
  • "permissions": [
    ]
}

Update user by UUID

Updates the RBAC Users with the specified UUID.

Authorizations:
apiKey
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

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "role": "string",
  • "permissions": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "role": {
    },
  • "permissions": [
    ]
}

Delete user by UUID

Deletes the RBAC Users with the specified UUID.

Authorizations:
apiKey
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

Checkout

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:
apiKey
header Parameters
version
required
string
Value: "v1"

The version of the api.

Request Body schema: application/json
planUuid
string
email
string
member
string
granteeId
string
currency
string

Responses

Request samples

Content type
application/json
{
  • "planUuid": "string",
  • "email": "string",
  • "member": "string",
  • "granteeId": "string",
  • "currency": "string"
}

Response samples

Content type
application/json
{
  • "clientSecret": "string"
}