Skip to content

Tenants


A tenant represent an organization that has 1 or more subscriptions on the Fusion platform. These are subscriptions that really drive the service.

Get a list of tenants

The following endpoint gives the list of existing tenants and some of their characteristics. Additional query parameters are provided to only returns those tenants belonging to a specific indirect partner.

Returned data depends on your user profile

Only those tenants under your direct or indirect control will be returned.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants

Authorization

Required role

tenants.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of a tenant that look like the string passedno
sortstringAllows to specify one searchable property of a tenant to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
parentstringSpecify a group, distributor or reseller UUID. Only tenants served by this specific UUID parent group, distributor or reseller are returnedyes / no
page_sizeintegerUsed for pagination, determines the maximum number of records on one page of results (defaults to 10)no
nextstringA token used to get the next records in the list. This token is taken back from the results of the previous callno

Use of parent query parameter

If logged as a system administrator the API consumer has to provide a parent UUID, otherwise the system doesn't know to which parent entity the request reports to.

Response

Status codes

ParameterDescription
200One or more tenants found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No tenant found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
resultsintegerTotal number of results from the queryno
pagesintegerTotal number of pages according to pagination settingsno
pageintegerCurrent displayed page from the set of pagesno
nextstringA token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of tenants has to be continuedyes
tenantsarrayList containing all tenant objects in the system or the tenant objects filtered by a distributor ID or reseller IDno
Tenant Object
ParameterTypeDescriptionConditional?Searchable?
uuidstringUniversal unique id uniquely identifying the tenantnono
namestringName the tenantnoyes
ownerobjectSee owner. Only present when used without query parameter or attached to a distributor or reselleryesno
billingIdstringExternal ID used in CDR as billing reference (unique per Group).noyes
markupfloatlatest active markup defined for the tenant in percentagesyesno
Example
json
{
  "results": 3,
  "pages": 10,
  "page": 1,
  "next": "cGFyZW50PTNhNGFmYmQzLWYxZDctNGY4NS1iZDU5LWE0MDU2N2YyMDYzOSZwYWdlPTI=",
  "tenants": [
    {
      "uuid": "7909718d-133e-4b2e-b2a6-cfd50c6149f6",
      "name": "Another Tenant with Distributor but no Reseller",
      "owner": {
        "type": "distributor",
          "uuid": "19cb4904-2b26-4982-8706-dfac061c07af",
          "name": "Netaxis NL Distributor"
      },
      "billingId": "cloudblue::tenant::66"
    },
    {
      "uuid": "0da9f1cc-6e8b-4eb8-8191-919b748b2772",
      "name": "Another Distrubutor less tenant",
      "owner": {
        "type": "reseller",
        "uuid": "04237dff-d765-45cd-9cf5-ae9d5dba14b1",
        "name": "Distributor-less reseller NL 1"
      },
      "billingId": "cloudblue::tenant::888"
    },
    {
      "uuid": "ff2e2b1e-69a1-496b-b587-99ccac0adf19",
      "name": "Tenant Test",
      "billingId": "cloudblue::distributor::444",
      "markup": 44.0
    }
  ]
}

Get a specific tenant

The following endpoint gives the details of a single tenant.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}

Authorization

Required role

tenants.instance.read

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to get its details

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200The tenant was found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No tenant found with this uuid
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional
uuidstringUniversal unique id uniquely identifying the tenantno
namestringName the tenantno
numberOfSubscriptionsintegerThe number of subscriptions associated to the tenantno
billingIdstringExternal ID used in CDR as billing reference (unique per Group).no
markupsarrayList of markups defined for the tenant. See markup for complete detailsyes
Example
json
{
  "uuid": "aaf3d464-796b-4164-aad1-8b71dc71332d",
  "name": "Tenant test arcadis",
  "numberOfSubscriptions": 3,
  "owner": {
    "type": "reseller",
    "uuid": "04237dff-d765-45cd-9cf5-ae9d5dba14b1",
    "name": "Distributor-less reseller NL 1"
  },
  "billingId": "cloudblue::tenant::47",
  "markups": [
    {
      "markup": 40.0,
      "startDate": "2021-09-01T11:10:21.127000"
    }
    ]
}

Create a new tenant

Use this endpoint to create a new tenant on the platform.

Request

Endpoint

POST /api/v01/draas/{draas_instance}/tenants

Authorization

Required role

tenants.create

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringName the tenantyes
ownerobjectSee owner. If not provided, the tenant will be directly attached to the level to which the user who creates the tenant belongs to. E.g. when a reseller administrator creates the tenant, the tenant will be directly attached to the reseller in question.yes / no
billingIdstringExternal ID used in CDR as billing reference (unique per Group).no
markupfloatlatest active markup defined for the tenant in percentagesno
adminEmailstringEmail of an administrator for this tenant. If present, it will create an administrator as described by this APIno

Use of owner body parameter

If logged as a system administrator the API consumer has to provide a group, distributor or reseller owner UUID, otherwise the system doesn't know to which group, distributor or reseller entity the tenant is linked to.

Example

json
{
  "name": "Tenant Test",
  "owner": {
    "type": "distributor",
    "uuid": "2b120dc9-90bc-43e3-90f3-9a0e9cc4fce7"
  },
  "billingId": "cloudblue::distributor::555",
  "markup": 2.5,
  "adminEmail": "john.doe@netaxis.be"
}

Response

Status codes

ParameterDescription
200The tenant was created successfully
400Error while creating the tenant
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional
uuidstringUniversal unique id uniquely identifying the tenantno
Example
json
{
  "uuid": "c179889f-00f3-488c-93d0-9f2f0fe6f54d"
}

Modify an existing tenant

Update the details of a given tenant

Changing the tenant's owner

It is currently not possible to update the tenant's owner through API.

Request

Endpoint

PUT /api/v01/draas/{draas_instance}/tenants/{uuid}

Authorization

Required role

tenants.instance.update

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to get its details

URL/Query parameters

N/A

Body

ParameterTypeDescriptionRequired
namestringNew name for the tenantno
billingIdstringExternal ID used in CDR as billing reference (unique per Group).no
markupintegerNew (relative) markup to apply for this tenant. Must be defined in percentagesno

Example

json
{
  "markup": 20.0
}

Response

Status codes

ParameterDescription
200The tenant was updated successfully
400Error while updating the tenant
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional
uuidstringUniversal unique id uniquely identifying the tenantno
Example
json
{
  "uuid": "c179889f-00f3-488c-93d0-9f2f0fe6f54d"
}

Delete a tenant

Delete a tenant

WARNING

Proceed with care because this will also delete all related price markups related to the tenant

Request

Endpoint

DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}

Authorization

Required role

tenants.instance.delete

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant which you would like to delete

URL/Query parameters

N/A

Body

N/A

Response

Status codes

ParameterDescription
200The tenant was deleted successfully. If the tenant didn't exist, the delete will be considered as being executed successfully
400Error while deleting the tenant
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional
uuidstringUniversal unique id uniquely identifying the tenant that has been deletedno
Example
json
{
  "uuid": "c179889f-00f3-488c-93d0-9f2f0fe6f54d"
}

Create an administrator account for a tenant structure

Create an administrator account for an existing tenant. The account will be created using an e-mail as user reference. At successful creation, an e-mail will be sent to the newly created administrator address, asking her/him to follow a link to create a valid password and validate the account.

Request

Endpoint

POST /api/v01/draas/{draas_instance}/tenants/{uuid}/admins

Authorization

Required role

tenants.instance.admins.create

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated universal unique ID (UUID) identifying the tenant for which you want to create an administrator account

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired?
adminEmailstringA valid e-mail address owned by the administratoryes
firstNamestringFirst name of the administratorno
lastNamestringLast name of the administratorno
mobilestringMobile phone number of the administratorno

Example

json
{
  "adminEmail": "john.doe@netaxis.be",
  "firstName": "John",
  "lastName": "Doe",
  "mobile": "+33613575607"
}

Response

Status codes

ParameterDescription
200The administrator account was successfully created
400Error while creating the administrator account, the specified e-mail address already exists in the system
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idnumberInternal ID of newly created administrator accountno
Example
json
{
  "id": 86
}

Modify an administrator account for a tenant structure

Modify an existing administrator account for a tenant. As the e-mail is the administrator reference, it cannot be modified. In case this is needed, administrator has to be deleted and re-created with the new e-mail reference.

Request

Endpoint

PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/admins/{username}

Authorization

Required role

tenants.instance.admins.update

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated universal unique ID (UUID) identifying the tenant for which you want to create an administrator account
usernamestringThe username that identifies the administrator. This should be the administrator e-mail

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired?
firstNamestringFirst name of the administratorno
lastNamestringLast name of the administratorno
mobilestringMobile phone number of the administratorno
adminEmailstringThe email of the administratoryes
force_resetbooleanForces the password resetyes

Example

json
{
  "firstName": "John",
  "lastName": "Doe",
  "mobile": "+33613575607",
  "adminEmail": "john.doe@netaxis.be"
}

Response

Status codes

ParameterDescription
200The administrator account was successfully modified
400Error while modifying the administrator account
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idnumberInternal ID of modified administrator accountno
Example
json
{
  "id": 86
}

Delete an administrator account for a tenant structure

Delete an existing administrator account from a tenant.

Request

Endpoint

DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}/admins/{username}

Authorization

Required role

tenants.instance.admins.delete

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated universal unique ID (UUID) identifying the tenant for which you want to create an administrator account
usernamestringThe username that identifies the administrator. This should be the administrator e-mail

URL/Query parameters

N/A

Body

N/A

Response

Status codes

ParameterDescription
204The administrator account was successfully deleted
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body

N/A

Get a specific rateplan

This endpoint returns a specific rateplan for the tenant with all different prices that apply (setup + per minute) per destination.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/rate_plans/{rate_plan}

Authorization

Required role

tenants.instance.rate_plans.instance.read

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to get the supported rate plans
rate_planstringRefers to the rateplan for which you want to get the pricing. See also rate plans

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200One or more prices found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
pricesarrayList containing the latest price objects for any dial plan groups.no
Example
json
{
    "prices": [
        {
            "activeSince": "2022-08-06 00:00:00",
            "destination": "Italy",
            "destinationId": 177,
            "international": {
                "duration": 0,
                "setup": 0
            },
            "national": {
                "duration": 0,
                "setup": 0
            },
            "nextUpdate": "2022-08-11 00:00:00"
        },
        {
            "activeSince": "2022-08-04 00:00:00",
            "destination": "Belgium Freephone",
            "destinationId": 427,
            "international": {
                "duration": 4.68,
                "setup": 5.78
            },
            "national": {
                "duration": 2.43,
                "setup": 5.8
            },
            "nextUpdate": "2022-08-10 00:00:00"
        },
        {
            "activeSince": "2022-08-02 00:00:00",
            "destination": "Croatia Premium",
            "destinationId": 450,
            "international": {
                "duration": 7.51,
                "setup": 6.24
            },
            "national": {
                "duration": 4.97,
                "setup": 3.7
            }
        },
        {
            "activeSince": "2022-07-12 00:00:00",
            "destination": "Austria Freephone",
            "destinationId": 414,
            "international": {
                "duration": 4.68,
                "setup": 3.47
            },
            "national": {
                "duration": 2.31,
                "setup": 1.16
            }
        },
        {
            "activeSince": "2022-07-09 00:00:00",
            "destination": "Azerbaijan Mobile",
            "destinationId": 28,
            "international": {
                "duration": 4.68,
                "setup": 3.47
            },
            "national": {
                "duration": 2.31,
                "setup": 1.16
            }
        }
    ]
}

Send a welcome email to a tenant admin

Use this endpoint to send a welcome email to a tenant admin.

Request

Endpoint

POST /api/v01/draas/{draas_instance}/tenants/{uuid}/admins/welcome

Authorization

Required role

tenants.instance.admins.welcome.create

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired?
adminEmailstringEmail of an administrator for this tenantyes

Example

json
{
  "adminEmail": "john.doe@netaxis.be"
}

Response

Status codes

ParameterDescription
200The welcome email has been sent successfully
400Error while sending the welcome email
500Uncatched error on server side

Success

Body

N/A

Example

N/A

Get the list of pstn usages

The following endpoint gives the list of existing pstn usages for the owner group of the given tenant.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/voice_routing/pstn_usages

Authorization

Required role

tenants.instance.configurations.voice_routing.pstn_usages.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant from which you want to read properties

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
pageintegerUsed for pagination, determines the current page to be shown (defaults to 1)no
page_sizeintegerUsed for pagination, determines the maximum number of records on one page of results (defaults to 10)no
nextstringA token used to get the next records in the list. This token is taken back from the results of the previous callno

Response

Status codes

ParameterDescription
200One or more pstn usages found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No of the pstn usage found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
pstnUsagesarrayList containing all pstn usage objects of the groupno
resultsstringTotal count of results that match your queryno
pageSizestringResults are not provided all at once. This parameter indicates how many results are returned per page.no
pagesstringTotal count of result pages that are availableno
pagestringID of the page that is currently returnedno
nextstringA token generated as long as there are still pages to display in the list. This token may be used in a subsequent call to get the next page. It contains all query parameter from the request so they may be omitted in subsequent callyes
PSTN Usage Object
ParameterTypeDescriptionConditional?Searchable?
idintegerIndex of the pstn usagenono
namestringName of the pstn usagenoyes
Example
json
{
  "page": 1,
  "pageSize": 10,
  "pages": 1,
  "pstnUsages": [
    {
      "id": 21,
      "name": "PSTN Test name"
    },
    {
      "id": 8,
      "name": "PSTN-Usage-DRAAS"
    }
  ],
  "results": 2
}

Get the list of voice routes

The following endpoint gives the list of existing voice routes for the owner group of the given tenant.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/voice_routing/voice_routes

Authorization

Required role

tenants.instance.configurations.voice_routing.voice_routes.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant from which you want to read properties

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
pageintegerUsed for pagination, determines the current page to be shown (defaults to 1)no
page_sizeintegerUsed for pagination, determines the maximum number of records on one page of results (defaults to 10)no
nextstringA token used to get the next records in the list. This token is taken back from the results of the previous callno

Response

Status codes

ParameterDescription
200One or more voice routes found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No of the voice route found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
voiceRoutesarrayList containing all voice route objects of the groupno
resultsstringTotal count of results that match your queryno
pageSizestringResults are not provided all at once. This parameter indicates how many results are returned per page.no
pagesstringTotal count of result pages that are availableno
pagestringID of the page that is currently returnedno
nextstringA token generated as long as there are still pages to display in the list. This token may be used in a subsequent call to get the next page. It contains all query parameter from the request so they may be omitted in subsequent callyes
Voice Route Object
ParameterTypeDescriptionConditional?Searchable?
idintegerIndex of the voice routenono
namestringName of the voice routenoyes
patternstringPatternnono
priorityintegerPrioritynono
pstnUsagesarrayArray of pstn usage objects connected connected to the voice routenono
Example
json
{
  "page": 1,
  "pageSize": 10,
  "pages": 1,
  "results": 2,
  "voiceRoutes": [
    {
      "id": 7,
      "name": "VR-DRaaS",
      "pattern": ".*",
      "priority": 1,
      "pstnUsages": []
    },
    {
      "id": 21,
      "name": "VR-DRaaS New",
      "pattern": ".*",
      "priority": 5,
      "pstnUsages": [
        {
          "id": 8,
          "name": "DRaaS-New-PSTN-Usage 3"
        },
        {
          "id": 21,
          "name": "PSTN Test name"
        }
      ]
    }
  ]
}

Get the list of voice routing policies

The following endpoint gives the list of existing voice routing policies for the owner group of the given tenant.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/voice_routing/voice_routing_policies

Authorization

Required role

tenants.instance.configurations.voice_routing.voice_routing_policies.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant from which you want to read properties

URL/Query parameters

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties that look like the string passedno
sortstringAllows to specify one searchable property of an order to apply a sorting operationno
dirstringWhen performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descendingno
pageintegerUsed for pagination, determines the current page to be shown (defaults to 1)no
page_sizeintegerUsed for pagination, determines the maximum number of records on one page of results (defaults to 10)no
nextstringA token used to get the next records in the list. This token is taken back from the results of the previous callno

Response

Status codes

ParameterDescription
200One or more voice routing policies found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No of the voice routing policies found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
voiceRoutingPoliciesarrayList containing all voice routing policy objects of the groupno
resultsstringTotal count of results that match your queryno
pageSizestringResults are not provided all at once. This parameter indicates how many results are returned per page.no
pagesstringTotal count of result pages that are availableno
pagestringID of the page that is currently returnedno
nextstringA token generated as long as there are still pages to display in the list. This token may be used in a subsequent call to get the next page. It contains all query parameter from the request so they may be omitted in subsequent callyes
Voice Routing Policy Object
ParameterTypeDescriptionConditional?Searchable?
idintegerIndex of the voice routing policynono
namestringName of the voice routing policynoyes
pstnUsagesarrayArray of pstn usage objects connected to the voice routing policynono
Example
json
{
  "page": 1,
  "pageSize": 10,
  "pages": 1,
  "results": 1,
  "voiceRoutingPolicies": [
    {
      "id": 7,
      "name": "World-DRaaS",
      "pstnUsages": [
        {
          "id": 8,
          "name": "DRaaS-New-PSTN-Usage 3"
        },
        {
          "id": 21,
          "name": "PSTN Test name"
        }
      ]
    }
  ]
}

Get the configuration of a tenant

List all properties that make up the tenant's configuration. Properties are made up of key / value pairs. Properties may be extended or reduced at will, knowing that a basic set of properties has to be present for application correct behaviour. For the basic set of properties that have to be set, please see this list. All property names containing password or token will be returned masked as ********.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/general

Authorization

Required role

tenants.instance.configurations.general.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to get the properties

URL/Query parameters

ParameterTypeDescriptionRequired?
keysstringA comma seperated list of keys used to restrict the returned properties to the specified keysno
searchstringUsed to perform a search through all searchable configurations keys of a tenant that look like the string passedno

Response

Status codes

ParameterDescription
200Properties list has been correctly returned
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No tenant found
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
propertiesdictionaryA dictionary returning the read properties as key / value pairsno
Example
json
{
    "properties": {
        "max_calls": 30
    }
}

Standard Properties

KeyTypeExample
draas_examplestringExample value

Create or modify properties in of a tenant

Use this endpoint to create or modify properties that make up the configuration of a tenant. This API is an upsert one, meaning that a non-existing property will be added and an existing one will be updated.

Request

Endpoint

POST /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/general

Authorization

Required role

tenants.instance.configurations.general.create

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to add or modify properties

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired?
propertiesdictionaryA dictionary defining properties as key / value pairs. Non-existing keys will be added to the configuration, existing ones will be updated with the new valueyes

Example

json
{
    "properties": {
        "max_calls": 30
    }
}

Response

Status codes

ParameterDescription
204The properties were successfully added or modified to the group
400Error while processing the properties for the group
500Uncatched error on server side

Success

Body

N/A

Modify the configurations of a tenant

Use this endpoint to modify the configurations of a tenant of the reference user's access level.

Request

Endpoint

PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/general

Authorization

Required role

tenants.instance.configurations.general.update

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to add or modify properties

URL/Query parameters

N/A

Body

A dictionary defining properties as key / value pairs.

Example

json
{
    "properties": {
        "max_calls": 25
    }
}

Response

Status codes

ParameterDescription
204The properties were successfully modified
400Error while processing the properties
500Uncatched error on server side

Success

Body

N/A

Remove properties from a tenant

Use this endpoint to remove properties that make up the configuration of a tenant.

Request

Endpoint

DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/general

Authorization

Required role

tenants.instance.configurations.general.delete

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant from which you want to add remove properties

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired?
keysarrayAn array of keys to remove from the configurationyes

Example

json
{
    "keys": [
        "prop_1",
        "prop_2",
        "prop_x"
    ]
}

Response

Status codes

ParameterDescription
204The properties were successfully removed the tenant
400Error while processing the properties for the tenant
500Uncatched error on server side

Success

Body

N/A

Get the configurations branding general

List of the configurations branding general of the reference user's access level.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/branding/general

Authorization

Required role

tenants.instance.configurations.branding.general.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to get the properties

URL/Query parameters

ParameterTypeDescriptionRequired?
fullbooleanForces to return the full configurations keys ignoring any other parametersno
keysstringA comma seperated list of keys used to restrict the returned properties to the specified keysno
searchstringUsed to perform a search through all searchable configurations keys of a tenant that look like the string passedno

Response

Status codes

ParameterDescription
200Properties has been correctly returned
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No tenant found
500Uncatched error on server side

Success

Body

A dictionary defining properties as key / value pairs.

Example
json
{}

Modify the configurations branding general

Use this endpoint to modify the configurations of branding general of the reference user's access level.

Request

Endpoint

PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/general

Authorization

Required role

tenants.instance.configurations.branding.general.update

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to add or modify properties

URL/Query parameters

N/A

Body

A dictionary defining properties as key / value pairs.

Example

json
{}

Response

Status codes

ParameterDescription
204The properties were successfully modified
400Error while processing the properties
500Uncatched error on server side

Success

Body

N/A

Get the configurations of branding pages

List of the configurations of branding pages of the reference user's access level.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/branding/pages

Authorization

Required role

tenants.instance.configurations.branding.pages.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to get the properties

URL/Query parameters

ParameterTypeDescriptionRequired?
fullbooleanForces to return the full configurations keys ignoring any other parametersno
keysstringA comma seperated list of keys used to restrict the returned properties to the specified keysno
searchstringUsed to perform a search through all searchable configurations keys of a tenant that look like the string passedno

Response

Status codes

ParameterDescription
200Properties has been correctly returned
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No tenant found
500Uncatched error on server side

Success

Body

A dictionary defining properties as key / value pairs.

Example
json
{
    "subscription": {
        "subscriptionNumbers": {
            "tabs": {
                "myNumbers": {
                    "enabled": true
                },
                "porting": {
                    "enabled": true
                },
                "releasedNumbers": {
                    "enabled": true
                },
                "reservedNumbers": {
                    "enabled": true
                }
            }
        }
    },
    "tenant": {
        "tenantAdmins": {
            "enabled": true
        },
        "tenantOrders": {
            "enabled": true
        },
        "tenantProfile": {
            "enabled": true
        },
        "tenantRatePlan": {
            "enabled": true
        },
        "tenantSubscriptions": {
            "enabled": true
        }
    }
}

Modify the configurations branding pages

Use this endpoint to modify the configurations of branding pages of the reference user's access level.

Request

Endpoint

PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/pages

Authorization

Required role

tenants.instance.configurations.branding.pages.update

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to add or modify properties

URL/Query parameters

N/A

Body

A dictionary defining properties as key / value pairs.

Example

json
{
    "subscription": {
        "subscriptionNumbers": {
            "tabs": {
                "myNumbers": {
                    "enabled": true
                },
                "porting": {
                    "enabled": true
                },
                "releasedNumbers": {
                    "enabled": true
                },
                "reservedNumbers": {
                    "enabled": true
                }
            }
        }
    },
    "tenant": {
        "tenantAdmins": {
            "enabled": true
        },
        "tenantOrders": {
            "enabled": true
        },
        "tenantProfile": {
            "enabled": true
        },
        "tenantRatePlan": {
            "enabled": true
        },
        "tenantSubscriptions": {
            "enabled": true
        }
    }
}

Response

Status codes

ParameterDescription
204The properties were successfully modified
400Error while processing the properties
500Uncatched error on server side

Success

Body

N/A

Get the configurations of branding styling

List of the configurations of branding styling of the reference user's access level.

Request

Endpoint

GET /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/branding/styling

Authorization

Required role

tenants.instance.configurations.branding.pages.list

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to get the properties

URL/Query parameters

ParameterTypeDescriptionRequired?
fullbooleanForces to return the full configurations keys ignoring any other parametersno
keysstringA comma seperated list of keys used to restrict the returned properties to the specified keysno
searchstringUsed to perform a search through all searchable configurations keys of a tenant that look like the string passedno
typestringThe type of styling asset. Possible values are:
  • font,
  • image,
  • theme.
yes

Response

Status codes

ParameterDescription
200Properties has been correctly returned
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No tenant found
500Uncatched error on server side

Success

Body

A dictionary defining properties as key / value pairs.

Example type=font
json
{
    "allowed": [
        "Avenir Next Cyr",
        "Roboto",
        "Ubuntu",
        "Montserrat"
    ],
    "name": "Avenir Next Cyr"
}
Example type=image
json
{
    "favicon": "/branding/default/favicon/favicon.ico",
    "login": {
        "bg": "/branding/default/img/Loginbackground.png",
        "logo": "/branding/default/img/LoginLogo.svg"
    },
    "main": {
        "bg": "/branding/default/img/MainBackground.png",
        "logo": "/branding/default/img/Logo.svg"
    }
}
Example type=theme
json
{
    "allowed": [
        "blue",
        "red",
        "green"
    ],
    "selected": "blue",
    "themes": {
        "blue": "/branding/default/theme.blue.json",
        "green": "/branding/default/theme.green.json",
        "red": "/branding/default/theme.red.json"
    }
}

Modify the configurations branding styling

Use this endpoint to modify the configurations of branding styling of the reference user's access level.

Request

Endpoint

PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/configurations/pages

Authorization

Required role

tenants.instance.configurations.branding.pages.update

Path Parameters

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant for which you want to add or modify properties

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired?
typestringThe type of styling asset. Possible values are:
  • font,
  • image,
  • theme.
yes

And a dictionary defining properties as key / value pairs.

Example type=font
json
{
    "type": "font",
    "allowed": [
        "Avenir Next Cyr",
        "Roboto",
        "Ubuntu",
        "Montserrat"
    ],
    "name": "Avenir Next Cyr"
}
Example type=image
json
{
    "type": "image",
    "favicon": "/branding/default/favicon/favicon.ico",
    "login": {
        "bg": "/branding/default/img/Loginbackground.png",
        "logo": "/branding/default/img/LoginLogo.svg"
    },
    "main": {
        "bg": "/branding/default/img/MainBackground.png",
        "logo": "/branding/default/img/Logo.svg"
    }
}
Example type=theme
json
{
    "type": "theme",
    "allowed": [
        "blue",
        "red",
        "green"
    ],
    "selected": "red",
    "themes": {
        "blue": "/branding/default/theme.blue.json",
        "green": "/branding/default/theme.green.json",
        "red": "/branding/default/theme.red.json"
    }
}

Response

Status codes

ParameterDescription
204The properties were successfully modified
400Error while processing the properties
500Uncatched error on server side

Success

Body

N/A