Skip to content

Resellers ​


A reseller refers to a "second level" indirect sales partner who resells the services offered by the Fusion platform. A reseller

  • manages one or more tenants
  • is managed by a reseller ("first level" indirect sales partner)

API Authorization

These APIs are only available for system administrators, group administrators and distributor administrators.

Get a list of resellers ​

List all resellers created on the platform.

Returned data depends on your user profile

When this endpoint is consumed by a reseller, the API will only return the resellers directly linked to the reseller in question.

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters ​

ParameterTypeDescriptionRequired?
searchstringUsed to perform a search through all searchable properties of a reseller that look like the string passedno
sortstringAllows to specify one searchable property of a reseller 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 or distributor UUID. Only resellers served by this specific UUID parent group or distributor are returnedyes
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 resellers found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No reseller 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 resellers has to be continuedyes
resellersarrayList containing all reseller objects in the system or the reseller objects filtered by a reseller IDno
Reseller Object ​
ParameterTypeDescriptionConditional?Searchable?
uuidstringUniversal unique id uniquely identifying the resellernono
namestringName the resellernoyes
billingIdstringExternal ID used in CDR as billing reference (unique per Group).noyes
ownerobjectSee owner. Only present when used without query parameter or attached to a distributoryesno
markupfloatlatest active markup defined for the reseller in percentagesyesno
statusstringCurrent status of the reselleryesno
Example ​
json
{
  "results": 2,
  "pages": 5,
  "page": 1,
  "next": "cGFyZW50PTNhNGFmYmQzLWYxZDctNGY4NS1iZDU5LWE0MDU2N2YyMDYzOSZwYWdlPTI=",
  "resellers": [
    {
      "uuid": "04237dff-d765-45cd-9cf5-ae9d5dba14b1",
      "name": "Distributor-less reseller NL 1",
      "billingId": "cloudblue::reseller::27",
      "markup": 20.0,
      "status": "suspended"
    },
    {
      "uuid": "7c94597e-2860-4c15-b13f-2e56b71bf0f4",
      "name": "Netaxis NL Reseller 1",
      "owner": {
        "type": "distributor",
        "uuid": "19cb4904-2b26-4982-8706-dfac061c07af",
        "name": "Netaxis NL Distributor"
      },
      "billingId": "cloudblue::reseller::14",
      "markup": 20.0
    }
  ]
}

Get a specific reseller ​

The following endpoint gives the details of a single reseller.

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.read

Path Parameters ​

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

URL/Query parameters ​

N/A

Response ​

Status codes ​

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

Success ​

Body ​
ParameterTypeDescriptionConditional?
uuidstringUniversal unique id uniquely identifying the resellerno
namestringName the resellerno
billingIdstringExternal ID used in CDR as billing reference (unique per Group).no
ownerobjectSee owner. Only present when attached to a distributoryes
statusstringCurrent status of the reselleryes
markupsarrayList of markups defined for the reseller, sorted on startDate from nearest to oldest. See markup for complete detailsyes
nbOfTenantsintegerNumber of tenants linked to the resellerno
Example ​
json
{
  "uuid": "016ff8cb-482c-4bfc-8bd8-5a8e07898cce",
  "name": "Easi1",
  "billingId": "939381",
  "owner": {
    "type": "distributor",
    "uuid": "14e98062-9073-4d2c-ae01-5c8c23437f5e",
    "name": "Gersonisos nv"
  },
  "markups": [
    {
      "markup": "0.0",
      "startDate": "2022-05-23T14:35:02.705016"
    },
    {
      "markup": "10.0",
      "startDate": "2022-01-01T21:42:07.234119"
    }
  ],
  "nbOfTenants": 8
}

Create a new reseller ​

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

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

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.create

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters

URL/Query parameters ​

N/A

Body ​
ParameterTypeDescriptionRequired?
namestringName the reselleryes
ownerobjectSee owner. If not provided, the reseller will be directly attached to the level to which the user who creates the reseller belongs to. E.g. when a distributor 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
markupfloatMarkup applicable for the reseller in percentagesno
adminEmailstringEmail of an administrator for this reseller. 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 or distributor owner UUID, otherwise the system doesn't know to which group or distributor entity the reseller is linked to.

Example ​

json
{
  "name": "Reseller Test",
  "owner": {
    "type": "reseller",
    "uuid": "04237dff-d765-45cd-9cf5-ae9d5dba14b1"
  },
  "billingId": "cloudblue::distributor::28",
  "markup": 5.0,
  "adminEmail": "john.doe@netaxis.be"
}

Response ​

Status codes ​

ParameterDescription
200The reseller was created successfully
400Error while creating the reseller
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 resellerno
Example ​
json
{
  "uuid": "4a556df2-0276-4102-acdf-c9f205715515"
}

Modify an existing reseller ​

Update the details of a given reseller

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

Changing the reseller's owner

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

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.update

Path Parameters ​

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

URL/Query parameters ​

N/A

Body ​
ParameterTypeDescriptionRequired?
namestringNew name for the resellerno
billingIdstringNew external ID used in CDR as billing reference (unique per Group).no
markupfloatNew markup applicable for the reseller in percentagesno

Example ​

json
{
  "markup": 12.3
}

Response ​

Status codes ​

ParameterDescription
200The reseller was updated successfully
400Error while updating the reseller
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 resellerno
Example ​
json
{
  "uuid": "4a556df2-0276-4102-acdf-c9f205715515"
}

Delete a reseller ​

Delete a reseller

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

resellers must be empty

It is not possible to delete resellers that still have tenant sattached. Proceed with care because this will also delete all related price markups related to the reseller

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.delete

Path Parameters ​

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

URL/Query parameters ​

N/A

Body ​

N/A

Response ​

Status codes ​

ParameterDescription
200The reseller was deleted successfully. If the reseller didn't exist, the delete will be considered as being executed successfully
400Error while deleting the reseller
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 reseller that has been deletedno
Example ​
json
{
  "uuid": "4a556df2-0276-4102-acdf-c9f205715515"
}

Modify the suspension profile ​

Update the suspension profile for an existing reseller

Request ​

Endpoint ​

PUT /api/v01/draas/{draas_instance}/resellers/{uuid}/suspension_profile

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated universal unique ID (UUID) identifying the reseller for which you want to modify its suspension profile

URL/Query parameters ​

N/A

Body ​
ParameterTypeDescriptionRequired?
suspensionProfileIdintegerIndex of the suspension profile as returned by this endpoint or null if you want to remove any suspensionyes

Example ​

json
{
  "suspensionProfileId": null
}

Response ​

Status codes ​

ParameterDescription
200The suspension profile was updated successfully
400Error while updating the suspension profile
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 resellerno
Example ​
json
{
  "uuid": "4a556df2-0276-4102-acdf-c9f205715515"
}

Create an administrator account for a reseller structure ​

Create an administrator account for an existing reseller. 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}/resellers/{uuid}/admins

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated universal unique ID (UUID) identifying the reseller 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 reseller structure ​

Modify an existing administrator account for a reseller. 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}/resellers/{uuid}/admins/{username}

Authorization ​

Required role

resellers.instance.admins.update

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated universal unique ID (UUID) identifying the reseller 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 reseller structure ​

Delete an existing administrator account from a reseller.

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.admins.delete

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated universal unique ID (UUID) identifying the reseller 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

Send a welcome email to a reseller admin ​

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

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.admins.welcome.create

Path Parameters ​

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

URL/Query parameters ​

N/A

Body ​
ParameterTypeDescriptionRequired?
adminEmailstringEmail of an administrator for this reselleryes

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 reseller.

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.configurations.voice_routing.pstn_usages.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller.

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.configurations.voice_routing.voice_routes.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller.

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.configurations.voice_routing.voice_routing_policies.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller ​

List all properties that make up the reseller'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}/resellers/{uuid}/configurations/general

Authorization ​

Required role

resellers.instance.configurations.general.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller 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 reseller 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 reseller ​

Use this endpoint to create or modify properties that make up the configuration of a reseller. 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}/resellers/{uuid}/configurations/general

Authorization ​

Required role

resellers.instance.configurations.general.create

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller ​

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

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.configurations.general.update

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller ​

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

Request ​

Endpoint ​

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

Authorization ​

Required role

resellers.instance.configurations.general.delete

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller
400Error while processing the properties for the reseller
500Uncatched error on server side

Success ​

Body ​

N/A

Get the events configuration of a reseller ​

Use this endpoint to retrieve the events (webhook / email notifications) configuration of a reseller. 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}/resellers/{uuid}/configurations/events

Authorization ​

Required role

resellers.instance.configurations.events.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller found
500Uncatched error on server side

Success ​

Body ​
ParameterTypeDescriptionConditional?
propertiesobjectThe events configuration as defined by this structureno
Events configuration object reseller ​
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 reseller ​
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 reseller ​

Use this endpoint to modify the events (webhook / email notifications) configuration of a reseller. 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}/resellers/{uuid}/configurations/events

Authorization ​

Required role

resellers.instance.configurations.events.update

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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}/resellers/{uuid}/configurations/branding/general

Authorization ​

Required role

resellers.instance.configurations.branding.general.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller 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 reseller 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}/resellers/{uuid}/configurations/branding/general

Authorization ​

Required role

resellers.instance.configurations.branding.general.update

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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}/resellers/{uuid}/configurations/branding/pages

Authorization ​

Required role

resellers.instance.configurations.branding.pages.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller 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 reseller found
500Uncatched error on server side

Success ​

Body ​

An object defining properties as key / value pairs.

Example ​
json
{
    "reseller": {
        "resellerAdmins": {
            "enabled": true
        },
        "resellerLicenseConsumption": {
            "enabled": false
        },
        "resellerProfile": {
            "enabled": false
        },
        "resellerRatePlan": {
            "enabled": true
        },
        "resellerTenants": {
            "enabled": true
        }
    },
    "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}/resellers/{uuid}/configurations/branding/pages

Authorization ​

Required role

resellers.instance.configurations.branding.pages.update

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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
{
    "reseller": {
        "resellerAdmins": {
            "enabled": true
        },
        "resellerLicenseConsumption": {
            "enabled": false
        },
        "resellerProfile": {
            "enabled": false
        },
        "resellerRatePlan": {
            "enabled": true
        },
        "resellerTenants": {
            "enabled": true
        }
    },
    "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}/resellers/{uuid}/configurations/branding/styling

Authorization ​

Required role

resellers.instance.configurations.branding.pages.list

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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 reseller 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 reseller 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}/resellers/{uuid}/configurations/branding/styling

Authorization ​

Required role

resellers.instance.configurations.branding.pages.update

Path Parameters ​

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the reseller 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