Skip to main content

Customer

For the impatient

You may explore this data model via the API Playground, by clicking here

Description

The customer model represents a customer account (also often refered to as a "tenant account" in the API models). The Customer model represents the owner of all customer resources in the Cloudonix Platform, and is where customer billing is managed.

Properties

PropertyTypeEditableDescription
nameStringNoThe customer name, as entered and provisioned during customer registration.
uuidStringNoA platform wide unique identifier of the customer account.
activeBooleanNoThe status of the customer account. (Default: true).
createdAtISO-8601 TimestampNoCustomer creation timestamp, in ISO-8601 format.
modifiedAtISO-8601 TimestampNoCustomer last modification timestamp, in ISO-8601 format.
settingsObjectYesCustomer account settings, describing optional customer configurations (see below).
profileObjectYesCustomer managed meta-data.
lastActivityISO-8601 TimestampNoThe last time an API event happened for the account.
billingPlanObjectNoThe customer billing details.

API Reference

Base Path /customers/{customer}

When calling the API with a customer identifier, the following identifiers may be used interchangeably:

  • The text self : this always refers to the customer account that owns the API key being used, and is the prefered way for a cutomer to access their resources through the Cloudonix Platform API.
  • Customer UUID : this is also recommended as there are no ambiguities in the identifier.
  • Customer Account Name : the name must be URI encoded and provided exactly as it is shown in the "retrieve" response.
Request Example
$ curl 'https://api.cloudonix.io/customers/self' \
--header 'Authorization: Bearer XI•••••••••••••••' -s

Example

{
"name": "Customer Name",
"uuid": "9b235054-dec5-4b55-89ac-f56ffd8d7c3e",
"profile": {
"contact-name": "Firstname Lastname",
"contact-email": "person@example.com"
},
"active": true,
"createdAt": "2020-03-29T10:26:51Z",
"modifiedAt": "2023-09-03T10:33:56Z",
"settings": {
}
"lastActivity": "2025-01-16T15:17:02Z",
}

Customer Settings

GET /customers/{identifier|"self"}/settings

Concisely list all customer accessible account settings. The result will be an object where each key/value pair is a customer account setting and its value.

By default there are no customer accessible account settings defined. The supported customer account settings are listed below:

Setting: concurrency-limit

The concurrency-limit setting allows a customer to limit their own call concurrency. When set to a number, the Cloudonix Platform will limit the number of calls processed for the customer (across all their domains) to no more then that number of calls at any given time. If an additional call starts while there are currently as many concurrent calls as specified here, the new call will be immediately disconnected. By default no limit is set and the concurrency is limited only by the customer's billing plan.

Update a Customer Setting

POST /customers/{identifier|"self"}/settings

To create a customer account setting (or update if it already exists), send a POST request to the Customer Settings API endpoint, with a body of a JSON objet with the following fields:

  • name : (String) the name of the setting to update.
  • value: (any) the value of the setting to update.

Remove a Customer Setting

POST /customers/{identifier|"self"}/settings/{name}

To remove a customer account setting, send a DELETE request to the specific customer account setting API endpoint.

Concurrency Limit

GET /customers/{identifier|"self"}/concurrency-limit

The concurrency limit API endpoint allows to directly view and modify the concurrency-limit customer account setting, as described above.

If no concurrency limit is currently set an HTTP 404 error will be returned, otherwise the result will be a JSON object with the property limit set to the limit.

$ curl 'https://api.cloudonix.io/customers/self/concurrency-limit'
--header 'Authorization: Bearer •••••••••••••••'
{
"limit": 5
}

PUT /customers/{identifier|"self"}/concurrency-limit

To set or update the currently configured concurrency limit, send a PUT request with a JSON object containing the property limit set to a number.

$ curl --request PUT 'https://api.cloudonix.io/customers/self/concurrency-limit'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer •••••••••••••••'
--data '{
"limit": 5
}'

{
"limit": 5
}

DELETE /customers/{identifier|"self"}/concurrency-limit

To remove the concurrency limit restriction, send a DELETE request.

$ curl --request DELETE 'https://api.cloudonix.io/customers/self/concurrency-limit'
--header 'Authorization: Bearer •••••••••••••••'