Telness Tech Connect API for Seamless OS (2.1.8)

Download OpenAPI specification:

Introduction

This is an API for accessing the Telness Tech platform, Seamless OS. It is a RESTful API that uses JSON as the data format for requests and responses. It is built on top of the OpenAPI 3.0 specification and designed for ease of use for developers who want to integrate Seamless OS into their own applications.

It provides access to a wide range of features, including authentication, configuration, customers, users, subscribers, subscriptions, orders, product catalogues, products, offerings, product groups and much more.

Go back to Telnesstech.com

Authentication

Authentication endpoints for the API. These provide the ability to log in and out of the system. First, we must initiate the login process, then verify the login in order to get a token. The token can be used to authenticate other requests when needed.

The token is valid for a limited time and must be refreshed when it expires. This is done by initiating the login process again.

Initiate login

Initiates the login process depending on the method.

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

Email address of user.

Responses

Request samples

Content type
application/json
Example
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "nonce": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "expiresAt": "2019-08-24T14:15:22Z"
}

Verify login

Verifies the login process depending on the method. The login method has to correspond to the method used in the initiation process.

Request Body schema: application/json
required
One of
nonce
string

Nonce received from the login initiation process.

email
string <email>

Email address of user.

pin
string

PIN that the user received.

Responses

Request samples

Content type
application/json
Example
{
  • "nonce": "string",
  • "email": "user@example.com",
  • "pin": "string"
}

Response samples

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

Verify a user exists

Check if a user exists with the email address and/or msisdn.

Request Body schema: application/json
required
email
string <email>

Email address to check if a user has.

msisdn
string <phone>

Phone number to check if a user has.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "msisdn": "string"
}

Response samples

Content type
application/json
{
  • "exists": true,
  • "description": "user recognized by email"
}

Configuration

Configuration endpoints for the API. These provide access to the configuration settings for the system. This includes identity settings and product features.

Get the app configuration

Returns the specific app configuration which is dependent on the environment

Responses

Response samples

Content type
application/json
{
  • "countryCode": "pl",
  • "currencyCode": "pln",
  • "brand": "string",
  • "enabledFeatures": [
    ]
}

Get tags

Returns the list of tags that are applicable in this setup.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get required identity fields

Get the identity fields required by the related object.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get schema for the Address

Returns the schema for the Address

Responses

Response samples

Content type
application/json
{ }

Get schema for TransferFromRequest

Returns the schema for the TransferFromRequest

Responses

Response samples

Content type
application/json
{ }

Get schema for TransferFromIdentity

Returns the schema for the TransferFromIdentity

Responses

Response samples

Content type
application/json
{ }

Get schema for LicenseDetails

Returns the schema for the LicenseDetails

Responses

Response samples

Content type
application/json
{ }

Get schema for LicensePaymentPlan

Returns the schema for the LicensePaymentPlan

Responses

Response samples

Content type
application/json
{ }

List of enum values by type

List of allowed enum values for a given type

path Parameters
type
required
string
Enum: "subscription-type" "license-type" "product-category" "customer-type"

The type of enum values to list

Responses

Response samples

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

Customers

A customer is the paying entity, the one that will get an invoice. It is the parent entity for users, subscribers and subscriptions. A customer can have multiple users, subscribers and subscriptions.

Get all customers

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
filter
string

A search query to filter the entity by.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Get a customer by ID

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

The unique identifier for the customer.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "identity": {
    },
  • "name": "string",
  • "customerType": "string",
  • "billingMethod": "EmailInvoice",
  • "invoicingEmail": "user@example.com",
  • "billingAddress": { },
  • "shippingAddress": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a customer

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

The unique identifier for the customer.

Request Body schema: application/json
required
name
string

The name of the customer

email
string

The email of the customer

object (Address)

This is a dynamic schema that represents the address of the region where the entity is located. It changes based on regional requirements. Call /config/schemas/address for schema.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "address": { }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "identity": {
    },
  • "name": "string",
  • "customerType": "string",
  • "billingMethod": "EmailInvoice",
  • "invoicingEmail": "user@example.com",
  • "billingAddress": { },
  • "shippingAddress": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Discounts

A discount is a price reduction of a product offering.

Get a promotion and its discount by promotion code.

path Parameters
code
required
string

Promotion code

Responses

Response samples

Content type
application/json
{
  • "promotion": {
    },
  • "discount": {
    }
}

Invoices

An invoice is a bill that is sent to a customer.

Get invoices for a customer

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
customerId
required
string
query Parameters
startMonth
string <date>

The customer ID.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Licenses

A license is a permission to use a software product. It is linked to a customer and an order. It can have multiple products and is linked to a customer.

Get all licenses

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
customerId
required
string <uuid>

The unique identifier for the customer.

type
Array of strings (LicenseType)

The type of the license.

status
Array of strings (LicenseStatus)
Items Enum: "UNKNOWN" "PENDING" "ACTIVE" "PAUSED" "CANCELLED" "BLOCKED"

The status of the license.

search
string

Search term for the license.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Get license by ID

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of license

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "string",
  • "status": "UNKNOWN",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5",
  • "activationDate": "2019-08-24",
  • "activationDateActivationId": "string",
  • "cancelAt": "2019-08-24",
  • "cancelAtActivationId": "d049a905-b26b-4d13-8e2c-8e1b0b8bd5e7",
  • "productOfferingId": "string",
  • "initialProductOfferingId": "string",
  • "pendingProductOfferingId": "string",
  • "pendingProductActivationId": "string",
  • "updateProductAt": "2019-08-24",
  • "pauseAt": "2019-08-24",
  • "pauseAtActivationId": "string",
  • "unpauseAt": "2019-08-24",
  • "unpauseAtActivationId": "string",
  • "assignedTo": {
    },
  • "details": { },
  • "paymentPlan": { }
}

Change product offering

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of license

Request Body schema: application/json
required

The license product offering change request

productOfferingId
required
string

The ID of the product offering to change to.

updateAt
string <date>

The date when the license should be updated. If not provided, the license will be updated immediately.

addBindingPeriod
boolean

If true, the license will be updated with an additional binding period

Responses

Request samples

Content type
application/json
{
  • "productOfferingId": "string",
  • "updateAt": "2019-08-24",
  • "addBindingPeriod": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "string",
  • "status": "UNKNOWN",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5",
  • "activationDate": "2019-08-24",
  • "activationDateActivationId": "string",
  • "cancelAt": "2019-08-24",
  • "cancelAtActivationId": "d049a905-b26b-4d13-8e2c-8e1b0b8bd5e7",
  • "productOfferingId": "string",
  • "initialProductOfferingId": "string",
  • "pendingProductOfferingId": "string",
  • "pendingProductActivationId": "string",
  • "updateProductAt": "2019-08-24",
  • "pauseAt": "2019-08-24",
  • "pauseAtActivationId": "string",
  • "unpauseAt": "2019-08-24",
  • "unpauseAtActivationId": "string",
  • "assignedTo": {
    },
  • "details": { },
  • "paymentPlan": { }
}

Pause license

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of license

Request Body schema: application/json
required

The license pause request

pauseAt
string <date>

The date when the license should be paused. If not provided, the license will be paused immediately.

Responses

Request samples

Content type
application/json
{
  • "pauseAt": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "string",
  • "status": "UNKNOWN",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5",
  • "activationDate": "2019-08-24",
  • "activationDateActivationId": "string",
  • "cancelAt": "2019-08-24",
  • "cancelAtActivationId": "d049a905-b26b-4d13-8e2c-8e1b0b8bd5e7",
  • "productOfferingId": "string",
  • "initialProductOfferingId": "string",
  • "pendingProductOfferingId": "string",
  • "pendingProductActivationId": "string",
  • "updateProductAt": "2019-08-24",
  • "pauseAt": "2019-08-24",
  • "pauseAtActivationId": "string",
  • "unpauseAt": "2019-08-24",
  • "unpauseAtActivationId": "string",
  • "assignedTo": {
    },
  • "details": { },
  • "paymentPlan": { }
}

Resume license

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of license

Request Body schema: application/json
required

The license resumse request

resumeAt
string <date>

The date when the license should be resumed. If not provided, the license will be resumed immediately.

Responses

Request samples

Content type
application/json
{
  • "resumeAt": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "string",
  • "status": "UNKNOWN",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5",
  • "activationDate": "2019-08-24",
  • "activationDateActivationId": "string",
  • "cancelAt": "2019-08-24",
  • "cancelAtActivationId": "d049a905-b26b-4d13-8e2c-8e1b0b8bd5e7",
  • "productOfferingId": "string",
  • "initialProductOfferingId": "string",
  • "pendingProductOfferingId": "string",
  • "pendingProductActivationId": "string",
  • "updateProductAt": "2019-08-24",
  • "pauseAt": "2019-08-24",
  • "pauseAtActivationId": "string",
  • "unpauseAt": "2019-08-24",
  • "unpauseAtActivationId": "string",
  • "assignedTo": {
    },
  • "details": { },
  • "paymentPlan": { }
}

Cancel license

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of license

Request Body schema: application/json
required

The license cancellation request

cancelAt
string <date>

The date when the license should be canceled. If not provided, the license will be canceled immediately.

If the license has a binding period, the license will be canceled at the end of the binding period.

Responses

Request samples

Content type
application/json
{
  • "cancelAt": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "string",
  • "status": "UNKNOWN",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5",
  • "activationDate": "2019-08-24",
  • "activationDateActivationId": "string",
  • "cancelAt": "2019-08-24",
  • "cancelAtActivationId": "d049a905-b26b-4d13-8e2c-8e1b0b8bd5e7",
  • "productOfferingId": "string",
  • "initialProductOfferingId": "string",
  • "pendingProductOfferingId": "string",
  • "pendingProductActivationId": "string",
  • "updateProductAt": "2019-08-24",
  • "pauseAt": "2019-08-24",
  • "pauseAtActivationId": "string",
  • "unpauseAt": "2019-08-24",
  • "unpauseAtActivationId": "string",
  • "assignedTo": {
    },
  • "details": { },
  • "paymentPlan": { }
}

Numbers

A number is a phone number that can be provisioned for a customer. It is linked to a subscription.

Lease numbers for the order

Request Body schema: application/json
required
types
Array of strings (NumberType)
Items Enum: "CELL" "FIXED" "DATA" "M2M" "UNKNOWN"
count
required
integer <int32> >= 1

The quantity of numbers to lease

Responses

Request samples

Content type
application/json
{
  • "types": [
    ],
  • "count": 1
}

Response samples

Content type
application/json
{
  • "numbers": [
    ],
  • "leaseToken": "string"
}

Check eligibility of portin for a number

Request Body schema: application/json
required
msisdn
required
string

The msisdn to check portin eligibility for

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "result": true
}

Orders

An order is a request to purchase a product offering or several. This is how new subscriptions and products are purchased.

Get all orders

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
customerId
required
string <uuid>

The unique identifier for the customer.

status
Array of strings
Items Enum: "UNVERIFIED" "PENDING" "FAILURE" "APPROVED" "REJECTED"

The status of the order.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Create an order

Request Body schema: application/json
required
customerType
string (CustomerType)

The type of customer. See /config/enums/customer-type for valid values.

Array of objects (Subscribers)
Array of objects (Licenses)
required
object

The person making the order.

required
object (Billing)

Billing information representing the paying entity.

object (Shipping)

Information used for shipping.

promotionCode
string (PromotionCode)

The promotion code to apply to the order.

customerTags
Array of strings

The tags that would apply to a customer created by the order. See /config/tags for valid keys.

Responses

Request samples

Content type
application/json
{
  • "customerType": "string",
  • "subscribers": [
    ],
  • "licenses": [
    ],
  • "orderedBy": {
    },
  • "billing": {
    },
  • "shipping": {
    },
  • "promotionCode": "string",
  • "customerTags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNVERIFIED",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "details": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "fulfilledAt": "2019-08-24T14:15:22Z"
}

Get an order by ID

path Parameters
id
required
string <uuid>

ID of order

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNVERIFIED",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "details": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "fulfilledAt": "2019-08-24T14:15:22Z"
}

Create an authenticated order

Authorizations:
BearerAuth
Request Body schema: application/json
required
customerId
required
string <uuid>

The ID of the customer to create the order for.

Array of objects (Subscribers)
Array of objects (Licenses)
object (Shipping)

Information used for shipping.

promotionCode
string (PromotionCode)

The promotion code to apply to the order.

Responses

Request samples

Content type
application/json
{
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "subscribers": [
    ],
  • "licenses": [
    ],
  • "shipping": {
    },
  • "promotionCode": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNVERIFIED",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "details": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "fulfilledAt": "2019-08-24T14:15:22Z"
}

Calculate the price of an order

Request Body schema: application/json
required
customerType
required
string (CustomerType)

The type of customer. See /config/enums/customer-type for valid values.

required
object (CalculatePriceDetailsOrderedBy)

The person making the order.

object (CalculatePriceDetailsBilling)

Billing information representing the paying entity.

Array of objects (CalculatePriceDetailsSubscriber)
Array of objects (CalculatePriceDetailsLicense)
promotionCode
string (PromotionCode)

The promotion code to apply to the order.

Responses

Request samples

Content type
application/json
{
  • "customerType": "string",
  • "orderedBy": {
    },
  • "billing": {
    },
  • "subscribers": [
    ],
  • "licenses": [
    ],
  • "promotionCode": "string"
}

Response samples

Content type
application/json
{
  • "checkoutTotal": {
    },
  • "initialInvoiceTotal": {
    },
  • "recurringInvoiceTotal": {
    },
  • "items": [
    ]
}

Calculate the price of an authenticated order

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
customerType
required
string (CustomerType)

The type of customer. See /config/enums/customer-type for valid values.

customerId
required
string <uuid>

The ID of the customer making the order.

Array of objects (CalculatePriceDetailsSubscriber)
Array of objects (CalculatePriceDetailsLicense)
promotionCode
string (PromotionCode)

The promotion code to apply to the order.

Responses

Request samples

Content type
application/json
{
  • "customerType": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "subscribers": [
    ],
  • "licenses": [
    ],
  • "promotionCode": "string"
}

Response samples

Content type
application/json
{
  • "checkoutTotal": {
    },
  • "initialInvoiceTotal": {
    },
  • "recurringInvoiceTotal": {
    },
  • "items": [
    ]
}

Payments

A payment is a financial transaction that can be made by a customer. It is linked to an order.

Start top-up payment intent

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
subscriptionId
required
string

The subscription ID that is being topped-up.

offeringId
required
string

The offering ID that is being paid for.

Responses

Request samples

Content type
application/json
{
  • "subscriptionId": "string",
  • "offeringId": "string"
}

Response samples

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

Get payment status

query Parameters
paymentIntentId
string

The payment intent ID.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "error": "string"
}

Start order payment intent

Request Body schema: application/json
required
orderId
required
string

The order ID that is being payed.

Responses

Request samples

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

Response samples

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

Verify order according to customer's stipe payment method

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
orderId
string

OrderID of the order to be verified.

Responses

Request samples

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

Response samples

Content type
application/json
true

Create checkout session

Request Body schema: application/json
required
orderId
required
string

The order ID that needs to be verified.

returnUrl
required
string

The URL to redirect to after the payment is completed.

Responses

Request samples

Content type
application/json
{
  • "orderId": "string",
  • "returnUrl": "string"
}

Response samples

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

Get setup intent data by checkout session ID

Request Body schema: application/json
required
checkoutId
required
string

The stripe checkout session ID.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "status": "string",
  • "id": "string"
}

Product catalogues

A product catalogue defines which product offerings a customer has access to. It is linked to a customer and can have multiple product offerings.

Get all product catalogues

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
filter
string

A search query to filter the entity by.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Create a product catalogue

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
required
object (LocalizedString)

A string that can be translated to different languages.

required
object (LocalizedString)

A string that can be translated to different languages.

productOfferingIds
required
Array of strings
extendsDefault
required
boolean

Whether the product catalogue extends the default product catalogue.

Responses

Request samples

Content type
application/json
{
  • "name": {
    },
  • "description": {
    },
  • "productOfferingIds": [
    ],
  • "extendsDefault": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": {
    },
  • "description": {
    },
  • "productGroups": [
    ],
  • "productOfferings": [
    ],
  • "extendsDefault": true
}

Get default product catalogue

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": {
    },
  • "description": {
    },
  • "productGroups": [
    ],
  • "productOfferings": [
    ],
  • "extendsDefault": true
}

Get a product catalogue by ID

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of product catalogue

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": {
    },
  • "description": {
    },
  • "productGroups": [
    ],
  • "productOfferings": [
    ],
  • "extendsDefault": true
}

Update a product catalogue

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of product catalogue

Request Body schema: application/json
required
required
object (LocalizedString)

A string that can be translated to different languages.

required
object (LocalizedString)

A string that can be translated to different languages.

productOfferingIds
required
Array of strings
extendsDefault
required
boolean

Whether the product catalogue extends the default product catalogue.

Responses

Request samples

Content type
application/json
{
  • "name": {
    },
  • "description": {
    },
  • "productOfferingIds": [
    ],
  • "extendsDefault": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": {
    },
  • "description": {
    },
  • "productGroups": [
    ],
  • "productOfferings": [
    ],
  • "extendsDefault": true
}

Delete a product catalogue

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of product catalogue

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}

Product groups

A product group shows what other product offerings it can be upgraded / downgraded to. It is linked to a product offering.

Get all product groups

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
productCategory
string (ProductCategory)

The category to filter by.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a product group

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
required
object (LocalizedString)

A string that can be translated to different languages.

required
object (LocalizedString)

A string that can be translated to different languages.

internalDescription
string

The internal description of the product group. This is used for internal purposes only.

category
required
string (ProductCategory)

The category of the product. See /config/enums/product-category for valid values

Responses

Request samples

Content type
application/json
{
  • "name": {
    },
  • "description": {
    },
  • "internalDescription": "string",
  • "category": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": {
    },
  • "description": {
    },
  • "category": "string",
  • "internalDescription": "string"
}

Get a product group by ID

path Parameters
id
required
string

ID of product group

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": {
    },
  • "description": {
    },
  • "category": "string",
  • "internalDescription": "string"
}

Update a product group

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

ID of product group

Request Body schema: application/json
required
object (LocalizedString)

A string that can be translated to different languages.

object (LocalizedString)

A string that can be translated to different languages.

internalDescription
string

The internal description of the product group. This is used for internal purposes only.

Responses

Request samples

Content type
application/json
{
  • "name": {
    },
  • "description": {
    },
  • "internalDescription": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": {
    },
  • "description": {
    },
  • "category": "string",
  • "internalDescription": "string"
}

Product offerings

A product offering is a product combined with a price that is offered to customers. It is linked to a product catalogue.

Get all product offerings

query Parameters
productCategory
string (ProductCategory)

The category to filter by.

filter
string

A search query to filter the entity by.

customerType
string (CustomerType)

The type of customer.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Create a product offering

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
required
object (LocalizedString)

A string that can be translated to different languages.

object (LocalizedString)

A string that can be translated to different languages.

productId
required
string

The ID of the product

groupId
required
string

The ID of the group

cost
required
number <double>

The cost of the product offering

discount
required
number <double>

The discount of the product offering

boundMonths
required
integer <int32>

The number of months the product offering is bound to

invoicingDescription
required
string

The invoicing description of the product offering.

internalDescription
string

The internal description of the product offering. This is used for internal purposes only.

customerType
required
string (CustomerType)

The type of customer. See /config/enums/customer-type for valid values.

Responses

Request samples

Content type
application/json
{
  • "name": {
    },
  • "description": {
    },
  • "productId": "string",
  • "groupId": "string",
  • "cost": 0.1,
  • "discount": 0.1,
  • "boundMonths": 0,
  • "invoicingDescription": "string",
  • "internalDescription": "string",
  • "customerType": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalReference": "string",
  • "name": {
    },
  • "description": {
    },
  • "price": {
    },
  • "product": {
    },
  • "groupId": "string",
  • "customerType": "string",
  • "isAddon": true,
  • "addonCategories": [
    ],
  • "richTextContent": {
    },
  • "isArchived": true,
  • "internalDescription": "string",
  • "imageUrl": "http://example.com"
}

Get a product offering by ID

path Parameters
id
required
string

ID of product offering

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalReference": "string",
  • "name": {
    },
  • "description": {
    },
  • "price": {
    },
  • "product": {
    },
  • "groupId": "string",
  • "customerType": "string",
  • "isAddon": true,
  • "addonCategories": [
    ],
  • "richTextContent": {
    },
  • "isArchived": true,
  • "internalDescription": "string",
  • "imageUrl": "http://example.com"
}

Update a product offering

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

ID of product offering

Request Body schema: application/json
required
object (LocalizedString)

A string that can be translated to different languages.

object (LocalizedString)

A string that can be translated to different languages.

groupId
string

The group of the product offering.

internalDescription
string

The internal description of the product offering. This is used for internal purposes only.

Responses

Request samples

Content type
application/json
{
  • "name": {
    },
  • "description": {
    },
  • "groupId": "string",
  • "internalDescription": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalReference": "string",
  • "name": {
    },
  • "description": {
    },
  • "price": {
    },
  • "product": {
    },
  • "groupId": "string",
  • "customerType": "string",
  • "isAddon": true,
  • "addonCategories": [
    ],
  • "richTextContent": {
    },
  • "isArchived": true,
  • "internalDescription": "string",
  • "imageUrl": "http://example.com"
}

Get price details for a product offering

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

ID of product offering

Request Body schema: application/json
required
customerId
required
string

The ID of the customer

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "productOfferingId": "string",
  • "grossPrice": 0.1,
  • "netPrice": 0.1,
  • "vat": 0.1
}

Subscribers

A subscriber is a user that has a subscription. It can have multiple subscriptions and is linked to a customer.

Get all subscribers

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
customerId
required
string <uuid>

The unique identifier for the customer.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Get usage for subscribers

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
subscriberIds
required
Array of strings <uuid> [ items <uuid > ]

The unique identifiers for the subscribers.

customerId
required
string <uuid>

The unique identifier for the customer.

Responses

Response samples

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

Get a subscriber by ID

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscriber

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "subscriptionIds": [
    ],
  • "email": "user@example.com",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a subscriber

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscriber

Request Body schema: application/json
required
email
string <email>

The email of the subscriber

name
string

The name of the subscriber

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "subscriptionIds": [
    ],
  • "email": "user@example.com",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get usage for a subscriber

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscriber

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "topup": {
    },
  • "callCount": 0,
  • "callSeconds": 0,
  • "smsCount": 0,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Subscriptions

A subscription is a number to be provisioned for a customer. It has a subscriber and a product offering. It can have multiple orders and is linked to a customer.

Get all subscriptions

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
customerId
required
string <uuid>

The unique identifier for the customer.

status
Array of strings (SubscriptionStatus)
Items Enum: "UNKNOWN" "PENDING" "ACTIVATED" "BLOCKED" "CANCELLED" "PAUSED"

The subscription status.

type
Array of strings (SubscriptionType)

The subscription type.

limit
integer

The maximum number of items to return.

offset
integer

The number of items to skip before starting to collect the items.

object

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Get price details for a list of subscriptions

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
subscriptionIds
required
Array of strings <uuid> [ items <uuid > ]

Responses

Request samples

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

Response samples

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

Get a subscription by ID

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNKNOWN",
  • "pendingStatus": "UNKNOWN",
  • "type": "string",
  • "msisdn": "string",
  • "msisdnPort": "string",
  • "msisdnPending": "string",
  • "msisdnTemporary": "string",
  • "puk": "string",
  • "icc": "string",
  • "imsi": "string",
  • "esim": true,
  • "subscriberId": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "productOfferingId": "string",
  • "activatedAt": "2019-08-24T14:15:22Z",
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "property1": "string",
  • "property2": "string"
}

Update the product offering of a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Request Body schema: application/json
required
productOfferingId
required
string

The unique identifier for the product offering.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNKNOWN",
  • "pendingStatus": "UNKNOWN",
  • "type": "string",
  • "msisdn": "string",
  • "msisdnPort": "string",
  • "msisdnPending": "string",
  • "msisdnTemporary": "string",
  • "puk": "string",
  • "icc": "string",
  • "imsi": "string",
  • "esim": true,
  • "subscriberId": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "productOfferingId": "string",
  • "activatedAt": "2019-08-24T14:15:22Z",
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "property1": "string",
  • "property2": "string"
}

Get all topup options for a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Responses

Response samples

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

Pause subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Request Body schema: application/json
required
pauseAt
string <date>

The date when the subscription should be paused. If not provided, the subscription will be paused next day.

Responses

Request samples

Content type
application/json
{
  • "pauseAt": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNKNOWN",
  • "pendingStatus": "UNKNOWN",
  • "type": "string",
  • "msisdn": "string",
  • "msisdnPort": "string",
  • "msisdnPending": "string",
  • "msisdnTemporary": "string",
  • "puk": "string",
  • "icc": "string",
  • "imsi": "string",
  • "esim": true,
  • "subscriberId": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "productOfferingId": "string",
  • "activatedAt": "2019-08-24T14:15:22Z",
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "property1": "string",
  • "property2": "string"
}

Resume subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Request Body schema: application/json
required
resumeAt
string <date>

The date when the subscription should be resumed. If not provided, the subscription will be resumed immediately.

Responses

Request samples

Content type
application/json
{
  • "resumeAt": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNKNOWN",
  • "pendingStatus": "UNKNOWN",
  • "type": "string",
  • "msisdn": "string",
  • "msisdnPort": "string",
  • "msisdnPending": "string",
  • "msisdnTemporary": "string",
  • "puk": "string",
  • "icc": "string",
  • "imsi": "string",
  • "esim": true,
  • "subscriberId": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "productOfferingId": "string",
  • "activatedAt": "2019-08-24T14:15:22Z",
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "property1": "string",
  • "property2": "string"
}

Cancel subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Request Body schema: application/json
required
required
CancelNextDay (object) or CancelAtBeginningOfNextMonth (object) or CancelAtDate (object)

The date when the subscription should be canceled. If not provided, the subscription will be canceled next day.

churn
string
Enum: "BETTER_DEAL_PRICE" "NOT_HAPPY_MISSING_FUNCTIONS" "NOT_HAPPY_COVERAGE_SLA" "NOT_HAPPY_COMPLEX_ADMIN" "NOT_HAPPY_SUPPORT_ENGAGEMENT" "FRAUD" "FRAUD_ATTEMPT" "TEST_OR_MARKETING" "NO_NEED" "WRONG_ORDER" "OTHER"

A standardized reason for the cancellation. This is used for reporting and analysis purposes.

If OTHER is provided, please also provide a comment.

comment
string

Optional comment from the user about the cancellation.

Responses

Request samples

Content type
application/json
{
  • "cancelAt": {
    },
  • "churn": "BETTER_DEAL_PRICE",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNKNOWN",
  • "pendingStatus": "UNKNOWN",
  • "type": "string",
  • "msisdn": "string",
  • "msisdnPort": "string",
  • "msisdnPending": "string",
  • "msisdnTemporary": "string",
  • "puk": "string",
  • "icc": "string",
  • "imsi": "string",
  • "esim": true,
  • "subscriberId": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "productOfferingId": "string",
  • "activatedAt": "2019-08-24T14:15:22Z",
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "property1": "string",
  • "property2": "string"
}

Add topup to a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Request Body schema: application/json
required
productOfferingId
required
string

The product offering id of the topup option

Responses

Request samples

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

Response samples

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

Get topup options for a subscription Deprecated

This endpoint is deprecated, use /subscriptions/{id}/topups instead

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Responses

Response samples

Content type
application/json
{
  • "topupAllowed": true,
  • "topupOptions": [
    ]
}

Get monetary topup options for a subscription Deprecated

This endpoint is deprecated, use /subscriptions/{id}/topups instead

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Responses

Response samples

Content type
application/json
{
  • "monetaryTopupAllowed": true,
  • "monetaryTopupOptions": [
    ]
}

Get pending product offering for a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Responses

Response samples

Content type
application/json
{
  • "pendingProductOffering": {
    },
  • "activateAt": "2019-08-24T14:15:22Z"
}

Get product offering options for a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Responses

Response samples

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

Get product offering addon options for a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

Responses

Response samples

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

Update a product offering addon for a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

productOfferingAddonId
required
string

ID of product offering addon

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "UNVERIFIED",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "details": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "fulfilledAt": "2019-08-24T14:15:22Z"
}

Cancel a product offering addon for a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

productOfferingAddonId
required
string

ID of product offering addon

Responses

Response samples

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

Reactivate a canceled product offering addon for a subscription

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of subscription

productOfferingAddonId
required
string

ID of product offering addon

Responses

Response samples

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

Users

A user is a member that can log in to the system and manage subscriptions.

Get all users

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
customerId
required
string <uuid>

The unique identifier for the customer.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Create a user

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required
name
string

The name of the user

customerId
string <uuid>

The ID of the customer

role
string
Enum: "NOBODY" "MANAGER" "ADMIN"

Role of the user.

email
string

The email of the user. A valid email address should be in the format example@domain.com

msisdn
string

The phone number of the user. It must be in international format, starting with a '+' followed by the country code and the subscriber number, e.g. +123 4567890

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "role": "NOBODY",
  • "email": "string",
  • "msisdn": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "identity": {
    },
  • "name": "string",
  • "role": "NOBODY",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "customerIds": [
    ],
  • "email": "user@example.com",
  • "msisdn": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get the current user

Get the currently logged in user

Authorizations:
BearerAuth
header Parameters
Authorization
required
string

Bearer token

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "identity": {
    },
  • "name": "string",
  • "role": "NOBODY",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "customerIds": [
    ],
  • "email": "user@example.com",
  • "msisdn": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get a user by ID

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of user

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "identity": {
    },
  • "name": "string",
  • "role": "NOBODY",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "customerIds": [
    ],
  • "email": "user@example.com",
  • "msisdn": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a user

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of user

Request Body schema: application/json
required
name
string

The name of the user

customerId
string <uuid>

The ID of the customer

role
string
Enum: "NOBODY" "MANAGER" "ADMIN"

Role of the user.

email
string

The email of the user. A valid email address should be in the format example@domain.com

msisdn
string

The phone number of the user. It must be in international format, starting with a '+' followed by the country code and the subscriber number, e.g. +123 4567890

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "role": "NOBODY",
  • "email": "string",
  • "msisdn": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "identity": {
    },
  • "name": "string",
  • "role": "NOBODY",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "customerIds": [
    ],
  • "email": "user@example.com",
  • "msisdn": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a user

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string <uuid>

ID of user

Request Body schema: application/json
required
customerId
string <uuid>

The ID of the customer

Responses

Request samples

Content type
application/json
{
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}