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.

Once completed, a notification will be sent through webhook or email (if enabled) as described on create tenant event

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

Once completed, a notification will be sent through webhook or email (if enabled) as described on update tenant event

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
markupfloatNew (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

Once completed, a notification will be sent through webhook or email (if enabled) as described on delete tenant event

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
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,
  "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
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,
  "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
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,
  "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?
extrabooleanForces to return the configurations keys with extra parametersno
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
write_onlybooleanForces to return the write only configurations keysno

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?
propertiesobjectAn object returning the read properties as key / value pairs or property extra.no
Example ​
json
{
    "properties": {
        "max_calls": 30
    }
}
Example with extra=true ​
json
{
    "properties": {
        "max_calls": {
            "group": "misc",
            "type": "number",
            "value": 10,
            "write_only": true
        },
    }
}

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?
propertiesobjectAn object 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 ​

An object 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 events configuration of a tenant ​

Use this endpoint to retrieve the events (webhook / email notifications) configuration of a tenant. It defines where notifications are sent (webhook endpoint and/or email addresses) and, for each supported event, which notification channels are enabled.

Request ​

Endpoint ​

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

Authorization ​

Required role

tenants.instance.configurations.events.list

Path Parameters ​

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

URL/Query parameters ​

N/A

Response ​

Status codes ​

ParameterDescription
200The events configuration 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?
propertiesobjectThe events configuration as defined by this structureno
Events configuration object tenant ​
ParameterTypeDescriptionConditional?
webhook_endpointstringThe URL to which the webhook notifications are sent (POST) when an enabled event occursno
webhook_authentication_typestringThe authentication used when calling the webhook endpoint. Possible values are:
  • none,
  • token,
  • akjl-affinity.
no
webhook_authentication_tokenstringThe token used to authenticate against the webhook endpoint. Only relevant when webhook_authentication_type is not noneno
emailsarrayA list of email addresses to which the email notifications are sent when an enabled event occursno
eventsobjectAn object where each key is an event name and each value is an event settings object defining which notification channels are enabled for that eventno
Event settings object tenant ​
ParameterTypeDescriptionConditional?
email_enabledbooleanTrue if an email notification is sent when the event occursno
webhook_enabledbooleanTrue if a webhook notification is sent when the event occursno

Supported event names are: create_distributor, update_distributor, delete_distributor, create_reseller, update_reseller, delete_reseller, create_tenant, update_tenant, delete_tenant, create_subscription, update_subscription, delete_subscription, add_number_subscription, remove_number_subscription, remove_quarantine_number_subscription, create_order, remove_order; for MS Teams: create_ms_user, update_ms_user, delete_ms_user, add_number_ms_user, remove_number_ms_user, create_ms_ra, update_ms_ra, delete_ms_ra, add_number_ms_ra, remove_number_ms_ra, ms_onboarding_add_domain, ms_onboarding_create_user, ms_onboarding_add_dr_data; for SIP trunking: sip_create_trunkgroup, sip_update_trunkgroup, sip_delete_trunkgroup, sip_add_number_trunkgroup, sip_remove_number_trunkgroup, sip_add_access_trunk_trunkgroup, sip_update_access_trunk_trunkgroup, sip_remove_access_trunk_trunkgroup.

Example ​
json
{
    "properties": {
        "webhook_endpoint": "https://hooks.example.com/fusion/events",
        "webhook_authentication_type": "token",
        "webhook_authentication_token": "********",
        "emails": [
            "noc@example.com",
            "provisioning@example.com"
        ],
        "events": {
            "create_tenant": {
                "email_enabled": true,
                "webhook_enabled": true
            },
            "delete_tenant": {
                "email_enabled": true,
                "webhook_enabled": false
            },
            "create_ms_user": {
                "email_enabled": false,
                "webhook_enabled": true
            },
            "sip_create_trunkgroup": {
                "email_enabled": false,
                "webhook_enabled": false
            }
        }
    }
}

Modify the events configuration of a tenant ​

Use this endpoint to modify the events (webhook / email notifications) configuration of a tenant. Unlike the GET, the configuration is sent at the root of the body (not wrapped in properties).

Request ​

Endpoint ​

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

Authorization ​

Required role

tenants.instance.configurations.events.update

Path Parameters ​

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

URL/Query parameters ​

N/A

Body ​
ParameterTypeDescriptionRequired?
webhook_endpointstringThe URL to which the webhook notifications are sent (POST) when an enabled event occursno
webhook_authentication_typestringThe authentication used when calling the webhook endpoint. Possible values are:
  • none,
  • token,
  • akjl-affinity.
no
webhook_authentication_tokenstringThe token used to authenticate against the webhook endpoint. Only relevant when webhook_authentication_type is not noneno
emailsarrayA list of email addresses to which the email notifications are sent when an enabled event occursno
eventsobjectAn object where each key is an event name and each value is an event settings object defining which notification channels are enabled for that eventno

Each entry of events is an event settings object.

Example ​

json
{
    "webhook_endpoint": "https://hooks.example.com/fusion/events",
    "webhook_authentication_type": "token",
    "webhook_authentication_token": "3f9c2e7a-webhook-token",
    "emails": [
        "noc@example.com",
        "provisioning@example.com"
    ],
    "events": {
        "create_tenant": {
            "email_enabled": true,
            "webhook_enabled": true
        },
        "delete_tenant": {
            "email_enabled": true,
            "webhook_enabled": false
        },
        "create_ms_user": {
            "email_enabled": false,
            "webhook_enabled": true
        },
        "sip_create_trunkgroup": {
            "email_enabled": false,
            "webhook_enabled": false
        }
    }
}

Response ​

Status codes ​

ParameterDescription
204The events configuration was successfully modified
400Error while processing the events configuration
403The API consumer doesn't have sufficient rights to perform this action
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 ​

An object 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/branding/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 ​

An object 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 ​

An object 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/branding/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 ​

An object 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 ​

An object 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/branding/styling

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 object 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