Skip to main content

Salable API (v2)

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 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 with the request header "version" set to "v2"

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: "v2"

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: "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: "v2"

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.

header Parameters
version
required
string
Value: "v2"

The version of the api.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get product pricing table

Retrieves the pricing table of a specific product.

Authorizations:
apiKey
path Parameters
productUuid
required
string

The unique identifier for the product.

query Parameters
granteeId
required
string

The unique identifier for the grantee.

currency
string

Uses the currency short name e.g. USD, defaults to the default currency on the Product which the Plan is linked to.

header Parameters
version
required
string
Value: "v2"

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,
  • "paymentIntegrationProductId": "string",
  • "appType": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "isTest": true,
  • "features": [
    ],
  • "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: "v2"

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: "v2"

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: "v2"

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"

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.

automaticTax
string

Automatically calculate tax on checkout based on customers location and your Stripe settings.

header Parameters
version
required
string
Value: "v2"

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: "v2"

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: "v2"

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: "v2"

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
granteeId
string

The unique identifier for the grantee.

currency
string

Uses the currency short name e.g. USD, defaults to the default currency on the Product which the Plan is linked to.

header Parameters
version
required
string
Value: "v2"

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 subscriptions

Retrieves a list of all subscriptions.

Authorizations:
apiKey
query Parameters
status
string
Enum: "active" "canceled" "paused" "trialing" "deleted" "past_due" "incomplete"

The status of the subscription.

email
string

The email of who purchased the subscription.

cursor
string

A unique identifier for the last item of one page to get the next page. This will be either the first or last property from the previous response. No cursor is required on the first request.

take
string
Default: "20"

The number of records to take before or after cursor. A positive or negative in the range of -100 to 100. Use a number below 0 to take the previous records before the cursor.

expand
Array of strings
Items Enum: "product" "plan"

Specify the resource fields to expand as comma separated values eg expand=product,plan

header Parameters
version
required
string
Value: "v2"

The version of the api.

Responses

Response samples

Content type
application/json
{
  • "first": "2fa1275f-16fc-4c83-ad1d-bd5fae716244",
  • "last": "7ee24cab-37fe-451b-82f6-65831f7c105f",
  • "data": [
    ]
}

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: "v2"

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,
  • "cancelAtPeriodEnd": true
}

Change a Subscription's Plan

Changes a subscription's plan based on UUID. If the subscription is usage based the requested subscription will be canceled and a new subscription will be created on the plan you are changing to.

Authorizations:
apiKey
path Parameters
subscriptionUuid
required
string

The unique identifier for the subscription.

Request Body schema: application/json
planUuid
required
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. Note this will only be applicable for subscription's that are not usage based.

  • 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": "31b83d94-26cd-415b-b46d-d17287e12be9",
  • "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: "v2"

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: "v2"

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: "v2"

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: "v2"

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: "v2"

The version of the api.

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: "v2"

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: "v2"

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: "v2"

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
string or null

The grantee ID for the license.

status
string or null
Enum: "ACTIVE" "TRIALING"
endTime
string <date-time>

Provide a custom end time for the license; this will override the plan's default interval.

cancelAtPeriodEnd
boolean

If set to true the license will not renew once the endTime date has passed.

Responses

Request samples

Content type
application/json
Example
{
  • "planUuid": "2fbdf7df-cb91-4104-ab75-de2db68db742",
  • "member": "memberId_123456",
  • "granteeId": "userId_123456",
  • "status": "ACTIVE",
  • "endTime": "2025-07-06T12:00:00.000Z"
}

Response samples

Content type
application/json
[ ]

Batch update licenses

Performs a batch update of licenses.

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

The version of the api.

Request Body schema: application/json
Array
granteeId
string or null

The grantee ID for the license.

endTime
string <date-time>

Provide a custom end time for the license; this will override the plan's default interval.

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.

cursor
string

A unique identifier for the last item of one page to get the next page. This will be either the first or last property from the previous response. No cursor is required on the first request.

take
string
Default: "20"

The number of records to take before or after cursor. A positive or negative in the range of -100 to 100. Use a number below 0 to take the previous records before the cursor.

subscriptionUuid
string <uuid>

Filters licenses by their subscription. Useful for returning licenses on a per seat subscription.

granteeId
string

Filters licenses by grantee.

planUuid
string <uuid>

Filters licenses by their plan.

header Parameters
version
required
string
Value: "v2"

The version of the api.

Responses

Response samples

Content type
application/json
{
  • "first": "2fa1275f-16fc-4c83-ad1d-bd5fae716244",
  • "last": "7ee24cab-37fe-451b-82f6-65831f7c105f",
  • "data": [
    ]
}

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: "v2"

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",
  • "cancelAtPeriodEnd": true,
  • "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": {
    },
  • "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: "v2"

The version of the api.

Request Body schema: application/json
granteeId
string or null

The grantee ID for the license.

endTime
string <date-time>

Provide a custom end time for the license; this will override the plan's default interval.

Responses

Request samples

Content type
application/json
{
  • "granteeId": "userId_123456",
  • "endTime": "2025-07-06T12:00:00.000Z"
}

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",
  • "cancelAtPeriodEnd": true,
  • "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": {
    },
  • "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: "v2"

The version of the api.

Responses

Check a grantee(s) licenses

Retrieves the capabilities 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: "v2"

The version of the api.

Responses

Response samples

Content type
application/json
{
  • "capabilities": [
    ],
  • "signature": "3044022004f243b5bb524689498537ff6bf865d847b8f6c6f65db687036814281fe4c1cc022043e645238050c587b6a79343a4acad58a925d3fbf3ba914d2f4c38a1f8439993"
}

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: "v2"

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: "v2"

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: "v2"

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.

Get all usage records for grantee

Retrieves all usage records for grantee's metered licenses.

Authorizations:
apiKey
query Parameters
granteeId
required
string

The granteeId of the license belongs.

type
string

Filter by the type of usage record

status
string

Filter by the status of the license

planUuid
string

The uuid of the plan the license belongs to.

subscriptionUuid
string <uuid>

Filters usage records by their license's subscription.

sort
string
Default: "asc"
Enum: "asc" "desc"

Sorts usage records by createdAt field.

cursor
string

A unique identifier for the last item of one page to get the next page. This will be either the first or last property from the previous response. No cursor is required on the first request.

take
string
Default: "20"

The number of records to take before or after cursor. A positive or negative in the range of -100 to 100. Use a number below 0 to take the previous records before the cursor.

header Parameters
version
required
string
Value: "v2"

The version of the api.

Responses

Response samples

Content type
application/json
{
  • "first": "2fa1275f-16fc-4c83-ad1d-bd5fae716244",
  • "last": "7ee24cab-37fe-451b-82f6-65831f7c105f",
  • "data": [
    ]
}

Updates a license's usage

Updates the usage on a license by incrementing its value.

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

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

Content type
application/json
{
  • "planUuid": "string",
  • "granteeId": "string",
  • "countOptions": {
    }
}

Get current usage record for grantee on plan

Retrieves the current usage record for a metered license.

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

The version of the api.

Responses

Response samples

Content type
application/json
{
  • "unitCount": 0,
  • "updatedAt": "2024-07-09T20:08:26.685Z"
}

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: "v2"

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"
}

Checkout

Operations related to 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: "v2"

The version of the api.

Request Body schema: application/json
planUuid
required
string
email
required
string
member
required
string
granteeId
required
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"
}