Rainbow Voice Communication Platform Provisioning portal (1.170.3)

Download OpenAPI specification:Download

Rainbow Voice Communication Platform Provisioning portal API guide

Preamble

Download Postman collection

Introduction

This guide describes list of API services that are provided by Rainbow Voice Communication Platform provisioning portal system. Services are used to manage Rainbow Voice Communication Platform.

Protocol

REST interface is used for sending/receiving Rainbow API messages.
HTTP request GET, POST, PUT and DELETE are used. Standard HTTP responses are used to provide requested information or error status. There is no session notion in Rainbow system, so requests could be issued according stateless model, without transport conservation between them.
JSON is used as a main format for data encoding in message body part. Each request is started with the following pattern /{module}/{version}/ where {module} is a portal module name to address and {version} is a version of used API, par example, “v1.0”.

Security considerations

Each request should contain some credential information to authenticate itself. Standard HTTP authentication with basic/bearer modes is used. JSON Web Token mechanism is used to provide authentication information. JWT has a expire timeout that is controlled by OT Rainbow portal to prevent very long token usage. Also authentication with application token is used. The token must be provided in the request HTTP header, using a custom header: APIKey. At server side, token is verified, and if it doesn’t match, 403 Not Allowed response is sent. TLS is used as a transport protocol to support message exchanges between OT Rainbow portal and an application.

Authentication

Bearer

For accessing the API a valid JWT token or a valid OAuth access token must be passed in all the queries in the 'Authorization' header.

  • JWT
    • A valid JWT token is generated by the API and returned as answer of a call to the route GET /api/rainbow/authentication/v1.0/login giving a valid user & password.
    • The following syntax must be used in the 'Authorization' header:
      Bearer xxxxxx.yyyyyyy.zzzzzz
  • OAuth access token
    • A valid OAuth access token is generated and returned as answer of the OAuth 2.0 workflow with authorization code grant. This is done by calling the route GET /api/rainbow/authentication/v1.0/oauth/authorize to get an authorization code and then POST /api/rainbow/authentication/v1.0/oauth/token to exchange it agains an access token and a refresh token.
    • The following syntax must be used in the 'Authorization' header:
      Bearer xxxxxx.yyyyyyy.zzzzzz
Security Scheme Type API Key
Header parameter name: Authorization

Cloudpbx

Delete a CloudPBX

This API allows to delete a CloudPBX


superadmin and support can delete all CloudPBXs existing in Rainbow
bp_admin can only delete CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only delete CloudPBXs linked to sites of companies under their organisation
company_admin can only delete CloudPBXs linked to sites of their company

Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/569d0ef3ef7816921f7e94fa

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
forceDelete
boolean
Default: "false"

Force deletion of all associated objects

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "Cloud PBX with Id=56c5c19f94141765119f896c successfully deleted",
  • "data": [ ]
}

Get a CloudPBX data

This API allows administrator to retrieve a CloudPBX using its identifier

superadmin and support can get all CloudPBXs existing in Rainbow
bp_admin can only get CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get CloudPBXs linked to sites of companies under their organisation
company_admin can only get CloudPBXs linked to sites of their company
site_admin can only get the CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/569d0ef3ef7816921f7e94fa

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a CloudPBX

This API updates a CloudPBX for a given company

superadmin can update CloudPBX for all companies
bp_admin can only update CloudPBX for their End Customer companies
organization_admin can only update CloudPBX for companies under their organisation
company_admin can only update CloudPBX of their company


Note that externalTrunkId parameter can only be updated by a superadmin or a bp_admin
bp_admin can link only his own external trunks to end customer CloudPBX
To link an external trunk to a CloudPBX, an outgoing prefix should have been managed on this CloudPBX, either in a previous request (POST or PUT) or during the same request as externalTrunkId

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
object
callForkingToPstnNumber
string
Enum: "not_available" "not_activated" "activated"

indicates if call forking must be done towards PSTN device ("not_activated" or "activated" values can be set only when associated external trunk has feature "callForkingToPstnNumber")

object
customSipHeader_1
string

Value to put as Custom SIP Header 1 into SIP data for an external outgoing call

customSipHeader_2
string

Value to put as Custom SIP Header 2 into SIP data for an external outgoing call

object
externalTrunkId
string

External trunk that should be linked to this CloudPBX

language
string
Enum: "ro" "es" "it" "de" "fr" "en" "ar" "he" "nl"

New language for this CloudPBX

monolineIncomingMode
boolean

Indicates new value for mono line mode (for incoming calls)

name
string

New CloudPBX name

numberingDigits
number

Number of digits for CloudPBX numbering plan. If numberingPrefixes is provided and not empty, this parameter is mandatory
For example, if numberingPrefixes is ["5", "7"] and numberingDigits is 4, allowed numbers for this CloudPBX will be from 5000 to 5999 and from 7000 to 7999

numberingPrefix
number

deprecated parameter Prefix for CloudPBX numbering plan

numberingPrefixes
Array of strings

Array of Prefixes for CloudPBX numbering plan ( only digits => ["1" , "999"] )

outgoingPrefix
number

Company outgoing prefix

routeInternalCallsToPeer
boolean

Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk)

Responses

Request samples

Content type
application/json
{
  • "barringOptions": {
    },
  • "callForkingToPstnNumber": "not_available",
  • "callForwardOptions": {
    },
  • "customSipHeader_1": "string",
  • "customSipHeader_2": "string",
  • "emergencyOptions": {
    },
  • "externalTrunkId": "string",
  • "language": "ro",
  • "monolineIncomingMode": true,
  • "name": "string",
  • "numberingDigits": 0,
  • "numberingPrefix": 0,
  • "numberingPrefixes": [
    ],
  • "outgoingPrefix": 0,
  • "routeInternalCallsToPeer": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get customized set of prohibited numbers applicable on the CloudPBX

This API allows administrator to retrieve customized set of prohibited numbers applicable on the CloudPBX

superadmin and support can get customized set of prohibited numbers for all CloudPBXs existing in Rainbow
bp_admin can only get customized set of prohibited numbers for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get customized set of prohibited numbers for CloudPBXs linked to sites of companies under their organisation
company_admin can only get customized set of prohibited numbers for CloudPBXs linked to sites of their company
site_admin can only get customized set of prohibited numbers for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/barring-options/custom-numbers-restriction

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update customized set of prohibited numbers applicable on the CloudPBX

This API updates customized set of prohibited numbers applicable on the CloudPBX

superadmin can update CloudPBXs for all companies
bp_admin can only update CloudPBXs for their End Customer companies
organization_admin can only update CloudPBXs for companies under their organisation
company_admin can only update CloudPBX of their company

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
required
Array of objects (putBarringCustomRestrictionsPatterns)

Array of patterns with complete new values

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status": "CloudPBX set of prohibited numbers successfully updated (Id=5de6a632c21aa17bab337347)"
}

Get list of traffic barring options available for a CloudPBX

This API allows administrator to retrieve a list of traffic barring options supported by a CloudPBX

superadmin and support can get traffic barring options for all CloudPBXs existing in Rainbow
bp_admin can only get traffic barring options for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get traffic barring options for CloudPBXs linked to sites of companies under their organisation
company_admin can only get traffic barring options for CloudPBXs linked to sites of their company
site_admin can only get traffic barring options for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/barring-options

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get CloudPBX CLI policy for outbound calls

This API allows administrator to retrieve the CloudPBX CLI options for outbound calls

superadmin and support can get cli options for all CloudPBXs existing in Rainbow
bp_admin can only get cli options for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get cli options for CloudPBXs linked to sites of companies under their organisation
company_admin can only get cli options for CloudPBXs linked to sites of their company
site_admin can only get cli options for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/cli-options

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a CloudPBX cli options configuration

This API updates a CloudPBX cli options configuration for a given company

superadmin can update CloudPBX for all companies
bp_admin can only update CloudPBX for their End Customer companies
organization_admin can only update CloudPBX for companies under their organisation
company_admin can only update CloudPBX of their company

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
companyNumberCanBeSelectedByUserAsCli
boolean

Indicates if CloudPBX users are authorized to set Cloud PBX Installation Number into their own CLI value

policy
string
Enum: "installation_ddi_number" "user_ddi_number"

CLI policy to apply

userCanManageItsCli
boolean

Indicates if CloudPBX users are authorized to set their own CLI value

Responses

Request samples

Content type
application/json
{
  • "companyNumberCanBeSelectedByUserAsCli": true,
  • "policy": "installation_ddi_number",
  • "userCanManageItsCli": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get list of CloudPBXs

This API allows administrator to retrieve a list of CloudPBXs

superadmin and support can get all CloudPBXs existing in Rainbow
bp_admin can only get CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get CloudPBXs linked to sites of companies under their organisation
company_admin can only get CloudPBXs linked to sites of their company
site_admin can only get the CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs

Authorizations:
query Parameters
limit
number
Default: 100

Allow to specify the number of CloudPBXs to retrieve

offset
number

Allow to specify the position of first cloudPBX to retrieve (first site if not specified) Warning: if offset > total, no results are returned

sortField
string
Default: "companyId"

Sort CloudPBXs list based on the given field

sortOrder
number
Default: 1
Enum: -1 1

Specify order when sorting CloudPBXs list

companyId
string

Allows to filter CloudPBXs list on the siteIds linked to companyIds provided in this option

bpId
string

Allows to filter CloudPBXs list on the bpIds provided in this option
Only superadmin, support and bp_admin users can use bpId filter
bp_admin users can only use bpId filter with bpId they manage (their own BP company or companies being in their BP organisation)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 100,
  • "offset": 0,
  • "total": 1
}

Create a CloudPBX

This API creates a CloudPBX for a given company
RVCP Instance where the new CloudPBX will be created is selected according company's country
Note that this new CloudPBX will be in fact a new "system" with type equal to "cloud_pbx" ; and then it will be accessible thru admin requests done on systems as all other system type

superadmin can create CloudPBX for all companies
bp_admin can only create CloudPBX for their End Customer companies
organization_admin can only create CloudPBX for companies under their organisation
company_admin can only create CloudPBX for their company

Only one CloudPBX is allowed for a company

Authorizations:
Request Body schema: application/json
bpId
string

Identifier of the BP to which CloudPBX should be linked with

callForkingToPstnNumber
string
Enum: "not_available" "not_activated" "activated"

indicates if call forking must be done towards PSTN device ("not_activated" or "activated" values can be set only when associated external trunk has feature "callForkingToPstnNumber")

companyId
required
string

Identifier of the company for which CloudPBX should be created

customSipHeader_1
string

Value to put as CustomSipHeader_1 into SIP data for an external outgoing call

customSipHeader_2
string

Value to put as CustomSipHeader_2 into SIP data for an external outgoing call

externalTrunkId
string

External trunk identifier that should be linked to this CloudPBX

language
string
Default: "en"
Enum: "ro" "es" "it" "de" "fr" "en" "ar" "he" "nl"

Associated language for this CloudPBX

name
string

CloudPBX name. If not provided, will be something like 'cloud_pbx_companyName'

noReplyDelay
number [ 10 .. 60 ]
Default: 20

In case of overflow no reply forward on subscribers, timeout in seconds after which the call will be forwarded

numberingDigits
number

Number of digits for CloudPBX numbering plan. If numberingPrefixes is provided, this parameter is mandatory.
For example, if numberingPrefixes is ["7","9"] and numberingDigits is 4, allowed numbers for this CloudPBX will be from 7000 to 7999 and from 9000 to 9999

numberingPrefix
number

deprecated parameter Prefix for CloudPBX numbering plan

numberingPrefixes
Array of strings

Array of Prefixes for CloudPBX numbering plan ( only digits => ["1" , "999"] )

outgoingPrefix
number

Company outgoing prefix

routeInternalCallsToPeer
boolean

Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk)

siteId
string

Identifier of the site on which CloudPBX should be created

Responses

Request samples

Content type
application/json
{
  • "bpId": "string",
  • "callForkingToPstnNumber": "not_available",
  • "companyId": "string",
  • "customSipHeader_1": "string",
  • "customSipHeader_2": "string",
  • "externalTrunkId": "string",
  • "language": "en",
  • "name": "string",
  • "noReplyDelay": 20,
  • "numberingDigits": 0,
  • "numberingPrefix": 0,
  • "numberingPrefixes": [
    ],
  • "outgoingPrefix": 0,
  • "routeInternalCallsToPeer": true,
  • "siteId": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get details about a device model

Allows administrator to retrieve the details of a device model
Can be invoked in two different ways:

  • By requesting with 'Accept: application/json' HTTP header: The returned resource will be the device model info in JSON format
  • By requesting with 'Accept: image/*' HTTP header: The returned resource will be the device model image


Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/devicemodels/12
Authorizations:
path Parameters
deviceModelId
required
string

Unique identifier of the device model

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

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

Get list of device models available for a CloudPBX

Allows administrator to retrieve the list of device models supported by a CloudPBX

superadmin and support can get device models for all CloudPBXs existing in Rainbow
bp_admin can only get device models for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get device models for CloudPBXs linked to sites of companies under their organisation
company_admin can only get device models for CloudPBXs linked to sites of their company
site_admin can only get device models for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/devicemodels

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

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

Get Emergency numbers and emergency options available for a CloudPBX

This API allows administrator to retrieve Emergency Numbers and Emergency Options supported by a CloudPBX

superadmin and support can get Emergency Numbers and Emergency Options for all CloudPBXs existing in Rainbow
bp_admin can only get Emergency Numbers and Emergency Options for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get Emergency Numbers and Emergency Options for CloudPBXs linked to sites of companies under their organisation
company_admin can only get Emergency Numbers and Emergency Options for CloudPBXs linked to sites of their company
site_admin can only get Emergency Numbers and Emergency Options for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/emergency-numbers

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get CloudPBX numbering plan detailed information

This API allows administrator to retrieve the CloudPBX numbering Plan detailed information

superadmin and support can get numbering Plan detailed information for all CloudPBXs existing in Rainbow
bp_admin can only get numbering Plan detailed information for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get numbering Plan detailed information for CloudPBXs linked to sites of companies under their organisation
company_admin can only get numbering Plan detailed information for CloudPBXs linked to sites of their company
site_admin can only get numbering Plan detailed information for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/numbering-plan

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get list of languages available for a CloudPBX

This API allows administrator to retrieve a list of languages supported by a CloudPBX

superadmin and support can get languages for all CloudPBXs existing in Rainbow
bp_admin can only get languages for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get languages for CloudPBXs linked to sites of companies under their organisation
company_admin can only get languages for CloudPBXs linked to sites of their company
site_admin can only get languages for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/languages

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

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

Get CloudPBX peer authentication options

This API allows administrator to retrieve the CloudPBX peer authentication options

superadmin and support can get peer authentication options for all CloudPBXs existing in Rainbow
bp_admin can only get peer authentication options for CloudPBXs linked to sites of End Customer companies for which their bp_admin's company is the BP company
organization_admin can only get peer authentication options for CloudPBXs linked to sites of companies under their organisation
company_admin can only get peer authentication options for CloudPBXs linked to sites of their company
site_admin can only get peer authentication options for CloudPBXs linked to the site they administrate

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/peer-authentication-options

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update peer authentication options for a given CloudPBX

This API updates peer authentication options for a given CloudPBX

superadmin can update CloudPBXs for all companies
bp_admin can only update CloudPBXs for their End Customer companies
organization_admin can only update CloudPBXs for companies under their organisation
company_admin can only update CloudPBX of their company

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
password
required
string

Password to use for peer authentication

username
required
string

Username to use for peer authentication

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status": "Cloud PBX peer authentication options successfully updated (Id=60f9bf93d7cc516481734f1f)"
}

Update a CloudPBX overflow configuration

This API updates a CloudPBX overflow configuration for a given company

superadmin can update CloudPBX for all companies
bp_admin can only update CloudPBX for their End Customer companies
organization_admin can only update CloudPBX for companies under their organisation
company_admin can only update CloudPBX of their company

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
activate
boolean

Activate or deactivate the busy/noReply overflow on all subscribers (only for the subscribers with the default overflow of the company, not a custom one, or disabled by an admin)

activateUnavailableOverflow
boolean

Activate or deactivate the unavailable overflow on all subscribers (only for the subscribers with the default overflow of the company, not a custom one, or disabled by an admin)

noReplyDelay
number
Value:

Delay after the no reply overflow call forward will be effective, could be overwriten with a manager assistant delegation

Responses

Request samples

Content type
application/json
{
  • "activate": true,
  • "activateUnavailableOverflow": true,
  • "noReplyDelay": null
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Cloudpbx Phone Numbers

Associate a DDI number to a Rainbow user

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

phoneNumberId
required
string

DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1)

userId
required
string

Rainbow user unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Disassociate a DDI number from a Rainbow user

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

phoneNumberId
required
string

DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1)

userId
required
string

Rainbow user unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a DDI number for a given CloudPBX

This API allows to delete a DDI number for a CloudPBX.
> Note : Default DDI can be deleted only if it is the last DDI of the CloudPBX
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi/5c9e2be00d9ebd10f0dad5e7


Note: bp_admin of IR company won't be able to delete a DDI if VAD has set ddiReadOnly flag to true on IR company.

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

phoneNumberId
required
string

DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "DDI number 5c9e2be00d9ebd10f0dad5e7 successfully deleted"
}

List DDI numbers associated to a CloudPBX

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
limit
number
Default: 100

Allow to specify the number of DDI numbers to retrieve

offset
number

Allow to specify the position of first DDI number to retrieve (first site if not specified) Warning: if offset > total, no results are returned

sortField
string
Default: "number"

Sort DDI numbers list based on the given field

sortOrder
number
Default: 1
Enum: -1 1

Specify order when sorting DDI numbers list

isAssignedToUser
boolean

Allows to filter DDI numbers list if they are assigned to a user or not

isAssignedToGroup
boolean

Allows to filter DDI numbers list if they are assigned to a group or not (e.g. hunting group)

isAssignedToIVR
boolean

Allows to filter DDI numbers list if they are assigned to a IVR or not

isAssignedToAutoAttendant
boolean

Allows to filter DDI numbers list if they are assigned to a Auto attendant or not

isAssigned
boolean

Allows to filter DDI numbers list if they are assigned (to a user or to a group or to a IVR) or not assigned

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 100,
  • "offset": 0,
  • "total": 2
}

Create a DDI number

This API allows to create a DDI number for a CloudPBX.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi


Note: bp_admin of IR company won't be able to create DDI if VAD has set ddiReadOnly flag to true on IR company.

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
number
required
string

DDI number

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get unassigned CloudPBX internal phone numbers

This API allows to list all unassigned internal phone numbers for a given CloudPBX system.

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
startingWith
number

Return by default 100 free numbers that start with, for example, 10

limit
number
Default: 100

Number of free numbers you want to retrieve

header Parameters
accept
required
string

application/json

Responses

Response samples

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

Set DDI as default CloudPBX DDI

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

phoneNumberId
required
string

DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Cloudpbx Subscribers

Assign a SIP Device to a CloudPBX subscriber

This API allows to assign a SIP device to a CloudPBX Subscriber.
The device must have been previously created.
Assigning a device to a subscriber can de done by specifying the device Id (preferred) in the request, or the device mac address.
Assigning a device to a subscriber can de done by specifying the device Id in the request, or the device mac address and deviceType Id.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber on which the SIP device must be assigned

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
deviceId
string

Unique identifier of the device to assign

macAddress
string

Device mac address

Responses

Request samples

Content type
application/json
{
  • "deviceId": "string",
  • "macAddress": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create a CloudPBX Subscriber for a Rainbow User.

This API allows to create a new CloudPBX Subscriber for a Rainbow User.
This new subscriber will appear as a new entry into "phoneNumbers" list of the targeted Rainbow User.
As a result, this CloudPBX subscriber will be accessible through the admin API using following path : admin/v1.0/systems/:systemId/phone-numbers/:phoneNumberId
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
login
string

SIP username (if not provided ; shortNumber is used as SIP username)

password
string

SIP password for all associated SIP devices (if not provided ; it will be automatically generated).
Only lowercases, digits, * and # are authorized characters. Minimum length is 8, maximum is 12

shortNumber
required
string

Internal Number of the new CloudPBX Subscriber

userId
required
string

Unique identifier of the associated Rainbow User

Responses

Request samples

Content type
application/json
{
  • "login": "string",
  • "password": "string",
  • "shortNumber": "string",
  • "userId": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a CloudPBX Subscriber (identified by its phone Number identifier)

This API allows to delete a CloudPBX Subscriber. All its associated SIP devices become free for other subscribers.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to delete

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "Cloud PBX Subscriber 56c5c19f94141765119f896c successfully deleted",
  • "data": [ ]
}

Get a CloudPBX subscriber

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Remove association between subscriber and SIP device

This API allows to remove association between subscriber and the Sip Device (SIP device becomes available for another subscriber)
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices/5cd3de0126fa4a77f8c0415b

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber on which the Sip device association must be deleted

deviceId
required
string

Unique identifier of the SIP device to free

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "SIP device association for 5cd3de0126fa4a77f8c0415b successfully deleted",
  • "data": [ ]
}

Get a specific SIP device assigned to a subscriber

This API allows administrator to retrieve a given SIP device assigned to a subscriber

superadmin and support can get all devices existing in Rainbow.
bp_admin can only get devices linked to sites of End Customer companies for which their bp_admin's company is the BP company.
organization_admin can only get devices linked to sites of companies under their organisation.
company_admin can only get devices linked to sites of their company.
site_admin can only get the devices linked to the site they administrate.

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices/5cd3de0126fa4a77f8c0415b

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber associated to the SIP device to retrieve

deviceId
required
string

Unique identifier of the SIP device to retrieve

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get all SIP devices assigned to a subscriber

This API allows administrator to retrieve all SIP devices assigned to a subscriber

superadmin and support can get all devices existing in Rainbow.
bp_admin can only get devices linked to sites of End Customer companies for which their bp_admin's company is the BP company.
organization_admin can only get devices linked to sites of companies under their organisation.
company_admin can only get devices linked to sites of their company.
site_admin can only get the devices linked to the site they administrate.

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber for which all SIP devices must be retrieved

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
limit
number
Default: 100

Allow to specify the number of SIP Devices to retrieve.

offset
number

Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned.

sortField
string
Default: "shortNumber"

Sort SIP Devices list based on the given field.

sortOrder
number
Default: 1
Enum: -1 1

Specify order when sorting SIP Deviceslist.

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 100,
  • "offset": 0,
  • "total": 1
}

Get info on all registered SIP devices for a subscriber

This API allows administrator to retrieve registrations info on all devices registered for a subscriber

superadmin and support can get all registrations info existing in Rainbow.
bp_admin can only get registrations info linked to sites of End Customer companies for which their bp_admin's company is the BP company.
organization_admin can only get registrations info linked to sites of companies under their organisation.
company_admin can only get registrations info linked to sites of their company.
site_admin can only get the registrations info linked to the site they administrate.

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/registrations

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber for which all SIP registrations must be retrieved

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

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

Get subscriber CLI options

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get subscriber PSTN device options

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update subscriber PSTN device options

This API allows to update PSTN Device options of a CloudPBX Subscriber

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to update (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
numberE164
string

PSTN number we want to apply for policy "custom_ddi_number"

policy
required
string
Enum: "company_policy" "none" "subscriber_ddi" "custom_ddi_number"

policy to apply

  • none PSTN device feature is not activated for the subscriber ; even if it is activated at CloudPBX level
  • subscriber_ddi PSTN device feature is activated (whatever the activation status at CloudPBX level) ; and subscriber DDI Number is the PSTN device
  • custom_ddi_number PSTN device feature is activated (whatever the activation status at CloudPBX level) ; and PSTN device number must be provided (into data "numberE164")
  • company_policy PSTN device feature activation is defined at CloudPBX level. In that case, if feature is activated at CloudPBX level, PSTN device is the subscriber DDI Number

Responses

Request samples

Content type
application/json
{
  • "numberE164": "string",
  • "policy": "company_policy"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get subscriber custom SIP headers

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update subscriber custom SIP headers

This API allows to update custom SIP headers of a CloudPBX Subscriber

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
customSipHeader_1
string

new value to apply for custom SIP Header 1

customSipHeader_2
string

new value to apply for custom SIP Header 2

Responses

Request samples

Content type
application/json
{
  • "customSipHeader_1": "string",
  • "customSipHeader_2": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update subscriber traffic barring options

This API allows to update traffic barring options of a CloudPBX Subscriber

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
permissions
string

id of the traffic barring permission to apply
Identifiers of available traffic barring permissions can be obtained using this dedicated API : GET /api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/barring-options

Use this value "default" as barring permission identifier in order to apply barring permissions defined at CloudPBX level

restrictions
string

id of the traffic barring restriction to apply
Identifiers of available traffic barring restrictions can be obtained using this dedicated API : GET /api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/barring-options

Use this value "default" as barring restriction identifier in order to apply barring restrictions defined at CloudPBX level

Responses

Request samples

Content type
application/json
{
  • "permissions": "string",
  • "restrictions": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Configure the external call forward options

This API allows configure the authorization on external call forward of a CloudPBX Subscriber

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
externalCallForward
required
string
Enum: "company_policy" "authorized" "not_authorized"

Chose to authorize or not the external call forward or to be related to system configuration

Responses

Request samples

Content type
application/json
{
  • "externalCallForward": "company_policy"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update overflow configuration of a subscriber

This API allows to update overflow data of a CloudPBX Subscriber

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
noReplyDelay
number [ 10 .. 60 ]

Delay after the no reply overflow call forward will be effective, could be overwriten with a manager assistant delegation

unavailableOverflow
required
string

Value of the overflow on unavailable : default (company), custom (overwrite by admin, so it's active), disabled (not at least on that subscriber)

value
required
string

Value of the overflow on busy and no reply : default (company), custom (overwrite by admin), disabled (not at least on that subscriber)

Responses

Request samples

Content type
application/json
{
  • "noReplyDelay": 10,
  • "unavailableOverflow": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get the overflow status of a subscriber

This API allows to get overflow data of a CloudPBX Subscriber

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the CloudPBX Subscriber to get

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Cloudpbx Devices

Create a new SIP Device into the CloudPBX

This API allows to create a new SIP device into a CloudPBX. This SIP device can then be assigned to an existing subscriber

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
description
required
string

Description for identifying the device

deviceTypeId
required
number

Device type Identifier - see API GET /cloudpbxs/:id/devicemodels to get the list of supported models for the CloudPBX.

macAddress
string

Device mac address - mandatory for SIP deskphone device

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "deviceTypeId": 0,
  • "macAddress": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Request factory reset of the SIP device

This API allows to reset a SIP deskphone device to its factory settings.
Be aware that the device will no longer be operational, and should, after the factory reset, need to be manually configured (e.g. at least auto provisioning Url will need to be set).

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device to be reset

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "status": "Resetting device xxxx",
  • "data": [ ]
}

Get a SIP Device

Retrieve a SIP device using the given deviceId

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device to get

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Remove a SIP Device from a CloudPBX

This API allows to remove a SIP Device from a CloudPBX. To do so, the SIP device must no longer be associated to a subscriber.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/devices/5cd3de0126fa4a77f8c0415b

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device to remove

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "SIP device 5cd3de0126fa4a77f8c0415b successfully deleted",
  • "data": [ ]
}

Update a SIP Device

This API allows to update a SIP device

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device to update

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
description
string

new description

macAddress
string

new device mac address

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get all SIP devices of a CloudPBX

This API allows administrator to retrieve all SIP devices assigned into a CloudPBX

superadmin and support can get all devices existing in Rainbow.
bp_admin can only get devices linked to sites of End Customer companies for which their bp_admin's company is the BP company.
organization_admin can only get devices linked to sites of companies under their organisation.
company_admin can only get devices linked to sites of their company.
site_admin can only get the devices linked to the site they administrate.

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/devices

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
limit
number
Default: 100

Allow to specify the number of SIP Devices to retrieve.

offset
number

Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned.

sortField
string
Default: "macAddress"

Sort SIP Devices list based on the given field.

sortOrder
number
Default: 1
Enum: -1 1

Specify order when sorting SIP Devices list.

assigned
boolean

Allows to filter devices according their assignment to a subscriber
false, allows to obtain all devices not yet assigned to a subscriber.
true, allows to obtain all devices already assigned to a subscriber.
if undefined ; all devices whatever their assignment status are returned

phoneNumberId
string

Allows to filter devices according their phoneNumberId (i.e. subscriber id)
This parameter can be a list of phoneNumberId separated by a space (space has to be encoded)
Example : /api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/devices?phoneNumberId=5d2df541dea16fad7df1a975%205d249d9cd81448aef161b38c

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 100,
  • "offset": 0,
  • "total": 2
}

Get SIP registrations information of a device

This API allows to retrieve SIP registrations information relative to a device.

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device for which SIP registrations information should be retrieved

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

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

Grant access to debug session

This API allows to grant access to debug session on the given device.
When debug session is granted on the device, admins can retrieve the admin password of the device, url to access the device admin page and also initiate ssh session with the device.
A debug session can be terminated by:

  • Calling the device revoke API
  • After debug session has timed out, a periodic check is performed by the portal to revoke expired debug sessions (periodicity defined by configuration parameter).

During debug session, adminUrl and adminPassword of the device can be retrieved by getting device information. Please note that `adminUrl` could be unreachable depending on network configuration.
When a debug session is closed, ssh access to the device is deactivated, and the admin password of the device is modified.
Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device for which the debug session access will be granted

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
duration
string

Duration, in seconds, of the debug session - Only superadmin can set a debug duration different from the default one (configuration parameter: e.g. 30 minutes)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "status": "Debug session successfully granted",
  • "data": [ ]
}

Revoke access from debug session

This API allows to revoke access to debug session on the given device.
When revoked, the debug session can no longer be used.
The admin password is no longer visible (changed).

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device for which the debug session access will be revoked

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "Debug session successfully revoked",
  • "data": [ ]
}

Request the SIP device to reboot

This API allows to reboot a SIP deskphone device.

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device to be rebooted

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "status": "Rebooting device xxxx",
  • "data": [ ]
}

Cloudpbx Device Keys

Delete a programmable key from a SIP Device

Delete a programmable keys from a SIP deskphone device.
Only keys created by this API can be deleted, not the ones created by a service (i.e. Manager-assistant).

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device

keyNum
required
string

Key number to delete

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "SIP Device key 2 successfully deleted on device 5fd20084f2650878b92994d1",
  • "data": {
    }
}

Get a SIP Device programmable keys

Retrieve all programmable keys of a SIP deskphone device

Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create a programmable key on a SIP Device

Creation of a programmable key on a SIP deskphone device.
Programmable key type can be:

  • speeddial: allow to assign a Cloud PBX user or group to a dedicated key for speed dialing, or an external number
  • monitor: allow advanced feature for the concerned key (only for user):
    -speed dialing if destination subscriber in on hook.
    -call pickup if destination subscriber is ringing.
    -state indication if destination subscriber is in conversation.

Device model gives the key types supported by the device (i.e. capabilities of the device), as well as the maximum number of keys.
Key owner indicates which entity has created the key:
  • service: Key has been implicitly created by a service activation (e.g. manager-assistant feature)
  • admin: Key has been explicitly created by an API call (this API) by an admin

Service key owner has the highest priority, and can't be altered from this API. Only the service itself can modify or delete the concerned key.
Service key will be set up at the first available key place on the concerned device. If no free place can be found, then the service key will replace the first 'non service' key found.

It is the responsibility of the administrator, using this API, to manage the programmable keys on the device. Thus, duplicated keys (same destination and / or same key type) are possible if not correctly managed. Server won't check for these duplicated keys.
Authorizations:
path Parameters
deviceId
required
string

Unique identifier of the SIP device

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
displayName
string

Key display name (needed in case of external speed dial key)

keyNum
required
number

Programmable key number (from 1 to max key number supported by the device)

keyType
required
string
Enum: "speeddial" "monitor"

Programmable key type, monitor only for users.

number
string

Destination number in case of external speed dial key

phoneNumberId
string

Destination user's or group's phone Number identifier

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "keyNum": 0,
  • "keyType": "speeddial",
  • "number": "string",
  • "phoneNumberId": "string"
}

Response samples

Content type
application/json
{
  • "status": "SIP Device key 4 to external successfully created on device 622a0d1ae5b8ee362900bcbb",
  • "data": {
    }
}

Cloudpbx Group Forwards

Get forwards of a group

This API allows to get a group's forwards of a CloudPBX.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/groups/5c6aeb5b7817b9050c517e21/forwards On return data "name" or concerned "id" with value null if the user/rvcpGroup/rvcpAutoAttendant is deleted, please remove the forward.

Authorizations:
path Parameters
groupId
required
string

Unique identifier of the group

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update forwards of a group

This API allows to update forwards of a group of a CloudPBX.
Example: PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/groups/5c6aeb5b7817b9050c517e21/forwards


Setting a forward on a group has different implications depending on the type of group.
For a hunting group, it implies setting a forward on the dedicated subscriber of the cloud PBX associated with the group. The supported forward types in this case are: 'immediate', 'overflow'. Overflow is:

  • for parallel: 'busy', 'noreply' and 'unavailable'
  • for others: 'busy', unavailable'
    Forward destinations are limited to externalNumber, autoAttendant, internalNumber, voicemail for hunting group.
Authorizations:
path Parameters
groupId
required
string

Unique identifier of the group

callForwardType
required
string

The forward type to update.

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
activate
required
boolean

Activate or cancel a forward.

destinationType
string
Enum: "internalnumber" "externalnumber" "autoattendant" "voicemail"

The destination type. Mandatory for activation.

noReplyDelay
number
Default: 20
Value:

in case of 'overflow' forward type on parallel hunting group, timeout in seconds after which the call will be forwarded.

number
string

The number to forward. Mandatory for destinationType = internalnumber or externalnumber.

rvcpAutoAttendantId
required
string

Unique identifier of the auto attendant, only for hunting_group

Responses

Request samples

Content type
application/json
{
  • "activate": true,
  • "destinationType": "internalnumber",
  • "noReplyDelay": 20,
  • "number": "string",
  • "rvcpAutoAttendantId": "string"
}

Response samples

Content type
application/json
{
  • "status": "Call Forward successfully updated",
  • "data": {
    }
}

Cloudpbx Group Voicemail Greetings

Create a voicemail greeting for a group

This API can be used to create a voicemail greeting for a cloudpbx's group.
Request body must contain audio file content.

path Parameters
systemId
required
string

Unique identifier of the Cloud PBX

groupId
required
string

Unique identifier of the group

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Retrieve voicemail greetings for a group

This API can be used to retrieve customized voicemail greetings for a cloudpbx's group.

path Parameters
systemId
required
string

Unique identifier of the Cloud PBX

groupId
required
string

Unique identifier of the group

Responses

Response samples

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

Delete a voicemail greeting for a group

This API can be used to delete a voicemail greeting for a cloudpbx's group.

path Parameters
systemId
required
string

Unique identifier of the Cloud PBX

groupId
required
string

Unique identifier of the group

greetingId
required
string

Unique identifier of the greeting

Responses

Response samples

Content type
application/json
{
  • "status": "Voicemail greeting has been deleted"
}

Retrieve a voicemail greeting (audio file) for a group

This API can be used to retrieve a voicemail greeting (audio file) for a cloudpbx's group.

path Parameters
systemId
required
string

Unique identifier of the Cloud PBX

groupId
required
string

Unique identifier of the group

greetingId
required
string

Unique identifier of the greeting

Responses

Response samples

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

Update audio file associated to a voicemail greeting

This API can be used to update the audio file associated to a voicemail greeting.
Request body must contain audio file content.

path Parameters
systemId
required
string

Unique identifier of the Cloud PBX

groupId
required
string

Unique identifier of the group

greetingId
required
string

Unique identifier of the greeting

Responses

Response samples

Content type
application/json
{
  • "status": "Voicemail greeting has been updated"
}

Cloudpbx Greetings

Delete the requested greeting

API used to delete the requested greeting.
Note: only non active and non default greetings can be deleted from the file storage.


Example:
DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cab078455d4811fdd87b0c1/greetings/4b3f58bdc9fe47d69e0ebd878944d12e

path Parameters
fileId
required
string

Identifier of the greeting file storage (e.g. 569ce8c8f9336c471b98eda1)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "status": "Greeting 'music_on_hold' with fileId 5fd101e10394b640112fe9e8 successfully deleted"
}

Get the requested greeting

Used to retrieve the requested greeting, identified by its fileId.
Can be invoked in two different ways:

  • By requesting with 'Accept: application/json' HTTP header: The returned resource will be the greeting descriptor in JSON format.
  • By requesting with 'Accept: audio/x-wav' HTTP header: The returned resource will be the greeting wav file.

Please note that the returned greeting file will always be a wav file, whatever the format of the uploaded greeting file is.


Example:
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/5fd0fbf1bf81ed5c01fe9cdc

path Parameters
fileId
required
string

File Identifier of the greeting (e.g. 569ce8c8f9336c471b98eda1)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
{
  • "data": {
    }
}

Delete all greetings

Delete all the greetings associated to the cloudpbx.
First of all, greetings will be restored to their default values (or cleared if default value is empty).
Then, all stored greetings will be deleted.
The scope of this request is limited to the provided context (i.e. autoAttendantMenuId, ivrId, ...)


Example1 (company announcement greetings):
DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings

Example2 (auto attendant greetings):
DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?autoAttendantMenuId=5fd0fbf1bf81ed5c01fe9cdd

path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
autoAttendantMenuId
string

auto-attendant menu identifier

ivrId
string

IVR (i.e. welcome service) identifier

groupId
string

Hunting group identifier

attendant
boolean

Scope is console attendant when set to true

Responses

Response samples

Content type
application/json
{
  • "status": "Greetings successfully cleaned"
}

Get the available greetings

API used to retrieve cloudpbx's greetings that can be set for various announcement purpose.
Configurable greetings are contextualized. That means some predefined scopes can be used to handle these greetings.
A scope is selected by passing an extra information to the API.
The list of supported greetings can be split depending on the scope:

  • The 'announcement' greetings, under the company ownership -- no extra information needed to select this scope, this is the default.
  • The 'attendant' greetings, attached to users with console 'attendant' role -- need to add query parameter 'attendant=true' to select this scope.
  • The 'welcome' service greetings, attached to an IVR -- need to add query parameter 'ivrId=xxx' to select this scope.
  • The 'auto-attendant' greetings, attached to an auto-attendant menu -- need to add query parameter 'autoAttendantMenuId=xxx' to select this scope.
  • The 'hunting-group' greetings, attached to a hunting group-- need to add query parameter 'groupId=xxx' to select this scope.

The list of supported 'announcement' greeting messages are the following:
  • 'officehours': Voice prompt played during as a company pre-announcement. When set at company level, the ones of company's IVR will be overridden
  • 'afterhours': Voice prompt played outside office hours, before the call is released. When set at company level, the ones of company's IVR will be overridden
  • 'music_on_hold': Voice prompt or music played when call is held
  • 'recording_prompt': Voice prompt played to announce the call will be recorded
  • 'callee_busy': Voice prompt played when the destination is busy
  • 'callee_unavailable': Voice prompt played when the destination is unavailable

The list of supported 'attendant' greeting messages are the following:
  • 'attendant_on_hold': Voice prompt or music played when call is held by users with 'attendant' role

The list of supported 'welcome' greeting messages are the following:
  • 'officehours': Voice prompt played during as a company pre-announcement. Set at the given IVR level
  • 'afterhours': Voice prompt played outside office hours, before the call is released. Set at the given IVR level

The list of supported full 'auto-attendant' greeting messages are the following:
  • 'menu_welcome': Voice prompt played when entering auto attendant menu
  • 'menu_enter_ext': Voice prompt played when entering extension number
  • 'menu_invalid_ext': Voice prompt played when entered extension is invalid
  • 'menu_key_press_0': Voice prompt played for key 0
  • 'menu_key_action_0': Voice prompt played for key 0 destination
  • 'menu_key_press_1': Voice prompt played for key 1
  • 'menu_key_action_1': Voice prompt played for key 1 destination
  • ...
  • 'menu_key_press_9': Voice prompt played for key 9
  • 'menu_key_action_9': Voice prompt played for key 9 destination
  • 'menu_key_press_star': Voice prompt played for star key
  • 'menu_key_action_star': Voice prompt played for star key destination
  • 'menu_timeout': Voice prompt played before exiting auto attendant menu

The list of supported simple 'auto-attendant' greeting messages are the following:
  • 'menu_s_welcome': Voice prompt played when entering auto attendant menu
  • 'menu_s_timeout': Voice prompt played before exiting auto attendant menu

The list of supported 'hunting-group' greeting messages are the following:
  • 'hg_unavailable': Voice prompt played when hunting group members can't be joined


These greetings messages can be customised by uploading an audio file (that then be played by, e.g.: welcome service, auto-attendant menu). See greeting upload.


Example1 (company announcement):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings

Example2 (auto-attendant menu prompts):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?autoAttendantMenuId=5fd0fbf1bf81ed5c01fe9cdc

Example3 (welcome service):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?ivrId=5fd0fbf1bf81ed5c01f123aba

Example4 (console attendant announcement):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?attendant=true

Example5 (hunting group):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?groupId=5fd0fbf1bf81ed5c01f456cbc

path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
autoAttendantMenuId
string

auto-attendant menu identifier

ivrId
string

IVR (i.e. welcome service) identifier

groupId
string

Hunting group identifier

attendant
boolean

Scope is console attendant when set to true

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Activate the greeting

path Parameters
fileId
required
string

file identifier

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "status": "Greeting 5fae91d4a1d2a014af8b2261 / afterhours successfully activated",
  • "data": {
    }
}

restore the default greeting

Restore the default voice prompt for the given greetingId
The default audio file for the greeting is the one set by the system, when setting the company language.

Example:
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/officehours/restore

Example (music on hold for console attendant):
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/attendant_on_hold/restore

Example (hunting group unavailable):
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/hg_unavailable/restore?groupId=5fd101e10394b640112fe9e8

path Parameters
greetingId
required
string

greeting identifier

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "status": "Greeting music_on_hold successfully restored",
  • "data": {
    }
}

Upload a new greeting file

Used to set a new greeting file by uploading an audio file, to be played by, e.g., the welcome service, before recording, or as auto attendant menu selection.
Some remarks about the greeting upload operation:

  • File size is limited to 4 MBytes and duration is limited to 120 seconds
  • The number of files is limited to 5 (per greeting type and per scope)
  • Supported formats are the common audio file formats (wav, mp3, ogg). The list of supported formats can evolve and is linked to installed audio codecs
  • File name extension should reflect the format
  • The uploaded File becomes the active greeting. The previous greeting becomes non active, and can later be reactivated

Since the only supported format at RVCP side is the wav format, a transcoding operation could be necessary.
This involves the following consequences:
  • The final file will always be the transcoded file. The original file is not kept and can't be retrieved
  • The duration of the file is computed on the transcoded file.
  • The original file name will be suffixed with its new format (.wav)

When the file is successfully uploaded on the Voice platform, an XMPP notification will be sent to the admin who has uploaded the file.


Example1 (company 'music_on_hold' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/music_on_hold?fileName=land_of_my_father.wav
Example2 (auto-attendant menu key '0' action ):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/menu_key_action_0?autoAttendantMenuId=5fd0ef79527a3d186149610e&fileName=support_service.wav
Example3 (welcome 'afterhours' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/afterhours?ivrId=5fd0ef79527a3d186149610e&fileName=service_closed.wav
Example4 (console attendant 'music_on_hold' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/attendant_on_hold?fileName=seaside.wav
Example5 (hunting group 'hg_unavailable' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/hg_unavailable?fileName=group_not_opened.wav

path Parameters
greetingId
required
string

greeting id

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "status": "Greeting music_on_hold successfully uploaded",
  • "data": {
    }
}

Cloudpbx Recordings

Delete the requested recording

path Parameters
recordId
required
string

Identifier of the record (e.g. 569ce8c8f9336c471b98eda1)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "status": "Record id 569ce8c8f9336c471b98eda1 successfully deleted"
}

Get the requested recording

Retrieve the requested recording
It can invoked in two ways:

  • By requesting with 'Accept: application/json' HTTP header: The returned resource will be the record descriptor in JSON format.
  • By requesting with an audio accept mime type. E.g.: 'Accept: audio/x-wav' or 'Accept: audio/mpeg' or 'Accept: audio/*' The returned resource will be the record audio file.

Note that the requested format (wav or mp3) depends on a configuration parameter on the Rainbow voice backend side.
Only company admin can retrieve the recording content. Superadmin can only get the descriptor, not the audio content.


Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5fc2a9c2c6bda124728ae60b/recordings/5fae91d4a1d2a014af8b22611d4a1d2a014af8b2261

path Parameters
recordId
required
string

Identifier of the record (e.g. 569ce8c8f9336c471b98eda1)

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
{
  • "data": {
    }
}

Delete a list of recording

path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
recordIds
required
string

List of recording identifier, separated by a comma

Responses

Response samples

Content type
application/json
{
  • "status": "Records successfully deleted"
}

Get the available recordings

Retrieve the cloudpbx's recordings
Please refer to local regulations to check if recording conversations is permitted by law.
Recording can be activated on cloud PBX users by a company admin, but only end customer admin can consult these recordings.
When activating, a recording profile is selected:

  • all: all calls of the given user are recorded
  • external_only: only calls to or from external users of the cloud PBX are recorded
  • internal_only: only calls to or from internal users of the cloud PBX are recorded
  • none: Feature deactivated

The recording profile can also be combined with the announcement profile, set at cloud PBX level. This will controlled when the recording pre announcement will be played.
Note that some combinations of recording profile and announcement profile can bypass the announcement set at cloud PBX level (e.g. 'internal recording only' vs 'external announcement only').



Some additional remarks on recordings:
Fully processed recordings are checked at a maximum time period of one hour.
Recordings are kept in the system for a duration of two months, and then get automatically deleted.
Recording must has a minimum duration of 3 seconds. If smaller, the recording will be automatically deleted.


To retrieve the recordings of a cloud BPX, several filters can be set :

  • by phoneNumberId (of a user or a group)
  • by date interval (fromDate - toDate)
  • by part of the recorded name (group name or part of the user's display name)

Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5fc2a9c2c6bda124728ae60b/recordings?phoneNumberId=5fae91d4a1d2a014af8b2261&fromDate=2020-12-04T09:50:47.000Z
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

query Parameters
limit
number
Default: 100

Allow to specify the number of recordings to retrieve

offset
number
Default: 0

Allow to specify the position of first recording to retrieve

sortField
string
Default: "date"

Sort recordings list based on the given field

sortOrder
number
Default: -1
Enum: -1 1

Specify order when sorting recordings. Default is descending

phoneNumberId
string

Allows to filter recordings only on the given phoneNumberId

fromDate
string <date-time>

List recordings created after the given date

toDate
string <date-time>

List recordings created before the given date

recordedName
string

List recordings with recorded party name containing the given value

recordedNumber
string

List recordings with recorded party number containing the given value

otherNumber
string

List recordings with other party number containing the given value

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 2,
  • "offset": 0,
  • "total": 9
}

Get the cloudpbx recording settings

Retrieve cloudpbx's recording settings

path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Set the cloudpbx recording settings

Set the cloudpbx's recording settings

path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
announcementProfile
required
string
Enum: "all" "external_only" "internal_only" "none"

Recording announcement profile

Responses

Request samples

Content type
application/json
{
  • "announcementProfile": "all"
}

Response samples

Content type
application/json
{
  • "status": "Recording announcement profile successfully updated"
}

Activate or deactivate the recording for the subscriber

Activate or deactivate subscriber's recordings

Authorizations:
path Parameters
phoneNumberId
required
string

PhoneNumber unique identifier of the Cloud PBX Subscriber to update recording configuration

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
recordingProfile
required
string
Enum: "internal_only" "external_only" "all" "none"

Selection of the recording profile

Responses

Request samples

Content type
application/json
{
  • "recordingProfile": "internal_only"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Cloudpbx Welcome

Delete a welcome or welcome service

This API allows to delete a Cloud PBX Welcome or Welcome Service.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/ivrs/604

Authorizations:
path Parameters
ivrId
required
string

Unique identifier of the ivr (welcome or welcome service) to delete

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "status": "Cloud PBX Welcome or Welcome Service successfully deleted",
  • "data": [ ]
}

Update a Welcome or Welcome Service

Authorizations:
path Parameters
ivrId
required
string

Unique identifier of the CloudPBX ivr (Welcome or welcome service) to update

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
object
externalNumberId
string

phone number id of the ddi you want to link to the welcome service, value to null to desassociate

name
string

Name of the welcome or welcome service. This value will appear on the deskphone or Rainbow clients of the user/group behind the welcome service to know where the call came from.

welcomeId
string

Change of welcome for a welcome service

Responses

Request samples

Content type
application/json
{
  • "closedHoursOverflow": {
    },
  • "externalNumberId": "string",
  • "name": "string",
  • "welcomeId": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a Welcome of a specific system

This API allows to get data of a Welcome of a specific system

Authorizations:
path Parameters
ivrId
required
string

Unique identifier of the Cloud PBX welcome to get

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a Welcome office hours

This API allows to get a Welcome office hours The "openhours" array has 7 elements, one for each day of the week; each element is an array that has one more sub-elements (also arrays) indicating a continuous period (start time, end time).
This sub-elements should contain two strings with each having the format "HH:MM". If the sub-elements contains only one string with "0" it will be converted to "00:00", "23:59" (24h period).
The first day represents Sunday.
The timezone used is the one defined for the company on the PABX.
The exception indicates an specific period in time that will occur only once. Hence the indication of the year, month and the day of the month (mday) along side the periods of when it will be open.

Authorizations:
path Parameters
ivrId
required
string

Unique identifier of a CloudPBX Welcome

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update Welcome office hours

This API allows to update office hours data of a Cloud PBX Welcome.
The "openhours" array has 7 elements, one for each day of the week; each element is an array that has one more sub-elements (also arrays) indicating a continuous period (start time, end time).
This sub-elements should contain two strings with each having the format "HH:MM". If the sub-elements contains only one string with "0" it will be converted to "00:00", "23:59" (24h period).
The first day represents Sunday. The "exceptions" array needs for each object a year, month (1-12) and a mday (1-31). If you want to set an open one you can enter periods like openhours. If not open it has to be 24/24, "0" value, see the example.

Authorizations:
path Parameters
ivrId
required
string

Unique identifier of the CloudPBX Welcome to update

systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get all Welcome services for a specific system

This API allows to get data of a all Welcome services of a specific system

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

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

Create a Welcome Service

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
object
externalNumberId
string

DDI phone number unique identifier to associate with the CloudPBX Welcome service

name
required
string

Name of your welcome service. This value will appear on the deskphone or Rainbow clients of the user/group behind the welcome service to know from where the call came from.

required
object
welcomeId
required
string

Welcome unique identifier, the office hours and prompts will follow on that welcome service

Responses

Request samples

Content type
application/json
{
  • "closedHoursOverflow": {
    },
  • "externalNumberId": "string",
  • "name": "string",
  • "openHoursOverflow": {
    },
  • "welcomeId": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get all Welcome of a specific system

This API allows to get data of all Welcome of a specific system

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

header Parameters
accept
required
string

application/json

content-type
required
string

application/json

Responses

Response samples

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

Create a Welcome

Authorizations:
path Parameters
systemId
required
string

CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1)

Request Body schema: application/json
name
required
string

Name of your welcome.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    }
}

External Sip Trunks

Retrieve an external SIP trunk using its unique identifier

This API allows to retrieve an external SIP trunk using its identifier

Authorizations:
path Parameters
externalTrunkId
required
string

External trunk unique identifier (e.g. 56c5c19f94141765119f896c)

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Retrieve a list of external SIP trunks


This API allows superadmin, bp_admin, company_admin or organisation_admin to retrieve a list of external SIP trunks.
bp_admin can list only external SIP trunks he is allowed to use.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/externaltrunks?trunkType=rb_trunk

Authorizations:
query Parameters
rvcpInstanceId
string

Allows to filter external SIP trunks by RVCP instance identifier
This filter allows to load all external SIP trunks in relation with an RVCP Instance.
This filter is only usable by superadmin.

status
string
Enum: "new" "active"

Allows to filter external SIP trunks by status
This filter allows to load all external SIP trunks according to their status

trunkType
string
Enum: "bp_trunk" "rb_trunk"

Allows to filter external SIP trunks by their type
This filter is only usable by superadmin.

bpId
string

Allows to request only external SIP trunks available for a given BP
This filter allows to load all external SIP trunks in relation with a given BP.
This filter is only useful for superadmin or VAD bp_admin (otherwise, this filter is automatically applied by Rainbow backend).

header Parameters
accept
required
string

application/json

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 100,
  • "offset": 0,
  • "total": 1
}