Rainbow Mass Provisioning portal (1.272.1)

Download OpenAPI specification:Download

Rainbow Mass Provisioning API guide

Preamble

Download Postman collection

Introduction

This guide describes list of API services that are provided by OT Rainbow search portal system. Services are used to manage OT Rainbow searches.

Protocol

REST interface is used for sending/receiving OT rainbow API messages.
HTTP request GET and POST are used. Standard HTTP responses are used to provide requested information or error status. There is no session notion in OT 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 can be passed in the 'Authorization' header.

Security Scheme Type API Key
Header parameter name: Authorization

Bearer-x-rainbow-api-key

For accessing the API, a valid API Key can be provided instead of 'Authorization' Bearer JWT header

This authentication method is useful for some applications needing a permanent authentication or not able to expose an interface allowing the user to authenticate (scripts, bots, IOT devices, ...).

A valid API Key is obtained from the API POST /api/rainbow/authentication/v1.0/apikeys.
When API Key authentication is used, the header x-rainbow-app-auth is mandatory to authenticate the application accessing the API.

Security Scheme Type API Key
Header parameter name: x-rainbow-api-key

Bearer-x-rainbow-challenge

Challenge for application authentication.

Should be randomly generated by the application (the challenge should be unique for each request for security reasons).
This x-rainbow-challenge header is used for the computation of the header x-rainbow-app-auth.

Mandatory only for authentication with x-rainbow-api-key (not used for authentication with JWT).

Security Scheme Type API Key
Header parameter name: x-rainbow-challenge

Bearer-x-rainbow-app-auth

Application authentication

Basic authentication format: Basic <base64encode(appId:sha256(appSecret``challenge))>
(Concatenation of appSecret and provided challenge, hashed with sha256).

Construction steps:

  1. Concatenate appSecret with the challenge value (same as the one provided in header x-rainbow-challenge)
  2. Calculate SHA256 hash of this concatenation
  3. Create the string "appId:sha256_hash"
  4. Encode in base64
  5. Prefix with "Basic "

The challenge used to compute the x-rainbow-app-auth value must be the same as the one provided in header x-rainbow-challenge.

Mandatory only for authentication with x-rainbow-api-key (not used for authentication with JWT).

Security Scheme Type API Key
Header parameter name: x-rainbow-app-auth

Directories

Check CSV data for synchronization using directory mode

This API checks a CSV UTF-8 content for mass-provisioning for directory mode.

All the entries defined in the CSV data are relative to the same company directory .

In case a query parameter commandId is added, the following XMPP message is sent to the initiator of the command:

<message id="8413b42e-563c-4437-9a53-06f638b5ab69_0" type="management"
    from="pcloud_enduser_1@openrainbow.com/172440802160413612281463752830017532"
    to="5abb735b2d3c4e50adde276c50ec489c@@openrainbow.com"
    xmlns="jabber:client">
    <command_ended  commandId="xyz" xmlns="jabber:iq:configuration"/>
</message>

The first line of the CSV file describes the content format. Most of the field names are the same than the field names of the company directory API - Create a directory entry.

Supported fields are:

  • __action__    delete, upsert or sync
  • ldap_id    (mandatory)
  • *
  • firstName
  • lastName
  • companyName
  • workPhoneNumber{n}    (n is a number starting from 0 or 9)
  • mobilePhoneNumber{n}    (n is a number starting from 0 or 9)
  • otherPhoneNumber{n}    (n is a number starting from 0 or 9)
  • aliasType{n}    (n is a digit from 0 to 9)
  • aliasCode{n}    (n is a digit from 0 to 9)
  • tag{n}    (n is a number starting from 0 to 4)
  • department
  • street
  • city
  • postalCode
  • state
  • country
  • jobTitle
  • eMail
  • custom1
  • custom2

delete: allows to delete an entry. upsert: allows to modify an entry (update or create if doesn't exists) with filled fields. Remark: empty fields are not taken into account. sync: allows to modify an entry (update or create if doesn't exists) with filled fields. Remark: empty fields are taken into account (if a field is empty we will try to update it with empty value).

query Parameters
delimiter
string

CSV delimiter character (will be determined by analyzing the CSV file if not provided)

comment
string
Default: "%"

CSV comment start character

commandId
string

commandId if the check csv request comes from connector on behalf of admin command, ity will generates a report

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

Delete an import report

This API allows to delete the last not pending import report of a company directory.

superadmin can delete the last report of the import of the directory of any company.
bp_admin can only delete the last report of the import of the directory of their own companies or their End Customer companies.
organization_admin can only delete the last report of the import of the directory of the companies under their organization.
company_admin and directory_admin can only delete the last report of the import of the directory of their onw companies.

path Parameters
companyId
required
string

Id of the company to delete the directory import report.

query Parameters
ldapConfigId
string

Allows to delete reports on the ldapConfigId of the ldap domain.

Responses

Response samples

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

Get an import status

This API provides a short status of the last import (completed or pending) of a company directory.

superadmin can get the status of the import of the directory of any company.
bp_admin can only get the status of the import of the directory of their own companies or their End Customer companies.
organization_admin can only get the status of the import of the directory of the companies under their organization.
company_admin and directory_admin can only get the status of the import of the directory of their onw companies.

path Parameters
companyId
required
string

Id of the company to get the directory import status.

query Parameters
ldapConfigId
string

Allows to filter reports on the ldapConfigId of the ldap domain.

Responses

Response samples

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

Delete a personal directory import report

This API allows to delete the last not pending import report of a personal directory.

Responses

Response samples

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

Get an import into personal directory status

This API provides a short status of the last import (completed or pending) of a personal directory.

Responses

Response samples

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

get the check CSV report by commandId

This API retrieves the last checks CSV UTF-8 content for mass-provisioning for directory mode, performed by an admin (using a commandId).

path Parameters
commandId
required
string

commandId used in the check csv request which came from connector on behalf of admin command

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "report": {
    }
}

Get an import report

This API provides the detailed report of the last import (completed or pending) of a company directory.

superadmin can get the detailed report of the import of the directory of any company.
bp_admin can only get the detailed report of the import of the directory of their own companies or their End Customer companies.
organization_admin can only get the detailed report of the import of the directory of the companies under their organization.
company_admin and directory_admin can only get the detailed report of the import of the directory of their onw companies.

path Parameters
companyId
required
string

Id of the company to get the directory import report.

query Parameters
ldapConfigId
string

Allows to filter reports on the ldapConfigId of the ldap domain.

Responses

Response samples

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

Get an import of a personal directory report

This API provides the detailed report of the last import (completed or pending) of a personal directory.

Responses

Response samples

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

get the import CSV report by commandId

This API retrieves the last import CSV UTF-8 content for mass-provisioning for directory mode, performed by an admin (using a commandId).

path Parameters
commandId
required
string

commandId used in the import csv request which came from connector on behalf of admin command

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "report": {
    }
}

create the report by commandId

This API allows to create a report for a commandId in case no other API is called (no action to be performed, error, ...).

path Parameters
commandId
required
string

commandId used in the import csv request which came from connector on behalf of admin command

Request Body schema: application/json
details
required
string

details that can be provided about the command execution

status
required
string
Enum: "success" "failure"

status for the execution of the command

Responses

Request samples

Content type
application/json
{
  • "details": "string",
  • "status": "success"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "report": {
    }
}

Get a CSV template

This API provides a CSV template.

query Parameters
personal
boolean

Select template for personal vs business directory contacts.

Responses

Response samples

Content type
No sample

Check CSV data

This API allows to check the entries of a company or user's personal directory with CSV UTF-8 encoded data.

All the entries defined in the CSV data are relative to the same company directory (the companyId, if it is given as parameter) or to the personal directory of the logged user.

The first line of the CSV file describes the content format. Most of the field names are the same as the field names of the company directory API - Create a directory entry.

Supported fields are:

  • firstName
  • lastName
  • companyName
  • department
  • street
  • city
  • postalCode
  • state
  • country
  • workPhoneNumber{n} (where {n} is a digit from 0 to 9)
  • mobilePhoneNumber{n} (where {n} is a digit from 0 to 9)
  • otherPhoneNumber{n} (where {n} is a digit from 0 to 9)
  • aliasType{n} (where {n} is a digit from 0 to 9)
  • aliasCode{n} (where {n} is a digit from 0 to 9)
  • jobTitle
  • eMail
  • tag{n} (where {n} is a digit from 0 to 4)
  • custom1
  • custom2

superadmin can import directory entries for any company.
bp_admin can only import directory entries for their own companies or their End Customer companies.
organization_admin can only import directory entries for the companies under their organization.
company_admin and directory_admin can only import directory entries for their onw companies.
user can only import directory entries for their personal directory.

query Parameters
companyId
required
string

Id of the company. All the CSV data will be created in the directory of this company.

delimiter
string

CSV delimiter character (will be determined by analyzing the CSV file if not provided)

comment
string
Default: "%"

CSV comment start character

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

Import CSV data

This API allows to import the entries of a company directory or user's personal directory with CSV UTF-8 encoded data.

All the entries defined in the CSV data are relative to the same company directory (the companyId, if it is given as parameter) or to the personal directory of the logged user.

NOTE If the directory is not empty, it is deleted before the import.

The first line of the CSV file describes the content format. Most of the field names are the same as the field names of the directory API - Create a directory entry.

Supported fields are:

  • firstName
  • lastName
  • companyName
  • department
  • street
  • city
  • postalCode
  • state
  • country
  • workPhoneNumber{n} (where {n} is a digit from 0 to 9)
  • mobilePhoneNumber{n} (where {n} is a digit from 0 to 9)
  • otherPhoneNumber{n} (where {n} is a digit from 0 to 9)
  • jobTitle
  • eMail
  • tag{n} (where {n} is a digit from 0 to 4)
  • custom1
  • custom2

superadmin can import directory entries for any company.
bp_admin can only import directory entries for their own companies or their End Customer companies.
organization_admin can only import directory entries for the companies under their organization.
company_admin and directory_admin can only import directory entries for their onw companies.
user can only import directory entries for their personal directory.

query Parameters
companyId
string

Id of the company. All the CSV data will be created in the directory of this company.
If the companyId is specified, the data are imported in the company directory. Otherwise, they are imported into the personal directory of the logged user.

delimiter
string

CSV delimiter character (will be determined by analyzing the CSV file if not provided)

comment
string
Default: "%"

CSV comment start character

label
string
Default: "none"

A text description of this import

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

Synchronize with CSV data

This API allows to import the entries of a company directory with CSV UTF-8 encoded data.

All the entries defined in the CSV data are relative to the same company directory.

The first line of the CSV file describes the content format. Most of the field names are the same than the field names of the company directory API - Create a directory entry.

Supported fields are:

  • __action__    delete, upsert or sync
  • ldap_id    (mandatory)
  • *
  • firstName
  • lastName
  • companyName
  • workPhoneNumber{n}    (n is a number starting from 0 or 9)
  • mobilePhoneNumber{n}    (n is a number starting from 0 or 9)
  • otherPhoneNumber{n}    (n is a number starting from 0 or 9)
  • tag{n}    (n is a number starting from 0 to 4)
  • department
  • street
  • city
  • postalCode
  • state
  • country
  • jobTitle
  • eMail
  • custom1
  • custom2

delete: allows to delete an entry. upsert: allows to modify an entry (update or create if doesn't exists) with filled fields. Remark: empty fields are not taken into account. sync: allows to modify an entry (update or create if doesn't exists) with filled fields. Remark1: empty fields are taken into account (if a field is empty we will try to update it with empty value). Remark2: existing entries not in the CSV file will be automatically deleted.

In case a query parameter commandId is added, the following XMPP message is sent to the initiator of the command:

<message id="8413b42e-563c-4437-9a53-06f638b5ab69_0" type="management"
    from="pcloud_enduser_1@openrainbow.com/172440802160413612281463752830017532"
    to="5abb735b2d3c4e50adde276c50ec489c@@openrainbow.com"
    xmlns="jabber:client">
    <command_ended  commandId="xyz" xmlns="jabber:iq:configuration"/>
</message>
query Parameters
ldapConfigId
string

Allows to specify the ldap domain on which the command should be run (in case of multi domain).

delimiter
string

CSV delimiter character (will be determined by analyzing the CSV file if not provided)

comment
string
Default: "%"

CSV comment start character

commandId
string

commandId if the check csv request comes from connector on behalf of admin command, ity will generates a report

label
string
Default: "none"

A text description of this import

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

retrieve rainbow entries list.

This API generates a file describing all companies entries (csv or json format).

query Parameters
companyId
string

companyId from which to retrieve entries, default to admin's companyId

format
string
Default: "json"
Enum: "csv" "json" "all"

Allows to retrieve more or less phone numbers details in response.
- json: answer follows the pattern { "data" : { ... JSON ... }}
- csv: answer follows the pattern { "data" : [ ... CSV ... ]}
- all: answer follows the pattern { "data" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }}

ldap_id
boolean
Default: true

Allows to filter entries containing a ldap_id, if false all directories entries ar returned.

Responses

Response samples

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

Users And Devices

Check CSV data

This API checks a CSV UTF-8 content for mass-provisioning. Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes.

query Parameters
companyId
string

companyId of the users in the CSV file, default to admin's companyId

delimiter
string

the CSV delimiter character (will be determined by analyzing the CSV file if not provided)

comment
string
Default: "%"

the CSV comment start character, use double quotes in field values to escape this character

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

check CSV data for synchronization using useranddevice mode

This API checks a CSV UTF-8 content for mass-provisioning for useranddevice mode. Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes.

  • In case a query parameter commandId is added, the following XMPP message is sent to the initiator of the command:
    <message id="8413b42e-563c-4437-9a53-06f638b5ab69_0" type="management"
      from="pcloud_enduser_1@openrainbow.com/172440802160413612281463752830017532"
      to="5abb735b2d3c4e50adde276c50ec489c@@openrainbow.com"
      xmlns="jabber:client">
      <command_ended  commandId="xyz" xmlns="jabber:iq:configuration"/>
    </message>
query Parameters
companyId
string

companyId of the users in the CSV file, default to admin's companyId

delimiter
string

the CSV delimiter character (will be determined by analyzing the CSV file if not provided)

comment
string
Default: "%"

the CSV comment start character, use double quotes in field values to escape this character

commandId
string

commandId if the check csv request comes from connector on behalf of admin command, ity will generates a report

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

Delete an import status report.

This API allows to delete the report of an import identified by its reqId.

Authorizations:
path Parameters
reqId
required
string

the import request id

Responses

Response samples

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

Get an import status report.

This API allows to access the report of an import identified by its reqId.

path Parameters
reqId
required
string

the import request id

query Parameters
format
string
Default: "full"
Enum: "small" "full"

Allows to retrieve more or less report details.
- small: reporting without operation details
- full: reporting with operation details

Responses

Response samples

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

Export CSV data

This API exports the list of users as CSV UTF-8 data.
The first line of the CSV data describes the content format (column names).

Most of the field names are the field names of the admin createUser API.

query Parameters
companyId
required
string
  • companyId of the users in the CSV file
hasVoiceLicense
boolean
Default: false
  • if provided, selects users with or without a voice/hub license
hasHybridLicense
boolean
Default: false
  • if provided, selects users with or without an hybrid license
mode
string
Default: "user"
Enum: "user" "device"
  • export users or devices

Responses

Response samples

Content type
No sample

Export CSV data to restore deleted accounts

This API exports the list of deleted users as CSV UTF-8 data.

query Parameters
companyId
required
string
  • companyId of the users in the CSV file

Responses

Response samples

Content type
No sample

get an import CSV report content

This API retrieves the last import CSV UTF-8 content for mass-provisioning for useranddevice mode, performed by an admin.
The first line of the CSV data describes the content format. Most of the field names are the field names of the admin createUser API.

path Parameters
reqId
required
string

the import request id

Responses

Response samples

Content type
{
  • "CSV": [
    ]
}

get the check CSV report by commandId

This API retrieves the last checks CSV UTF-8 content for mass-provisioning for useranddevice mode, performed by an admin (using a commandId).

path Parameters
commandId
required
string

commandId used in the check csv request which came from connector on behalf of admin command

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "report": {
    }
}

Get information on imports

This API provides information on all imports of the administrator's company.

Authorizations:
query Parameters
companyId
required
string

companyId to list imports of

ldapConfigId
string

Allows to filter reports on the ldapConfigId of the ldap domain.

Responses

Response samples

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

Import CSV data

This API allows to manage Rainbow users or devices through a CSV UTF-8 encoded file.
The first line of the CSV data describes the content format. Most of the field names are the field names of the admin createUser API.

Caution: To avoid multiple imports of same CSV data, the reqId returned to access the import status is a hash of the CSV data. If you really need to apply same CSV data again, you will have to delete its associated import report first.

Supported fields for "user" management are:

  • __action__    delete, update or create (by default)
  • loginEmail    (mandatory)
  • password    (mandatory)
  • title
  • firstName
  • lastName
  • nickName
  • businessPhone{n}    (n is a number starting from 0 or 1)
  • mobilePhone{n}    (n is a number starting from 0 or 1)
  • email{n}    (n is a number starting from 0 or 1)
  • tags{n}    (n is a number starting from 0 to 4)
  • jobTitle
  • department
  • userInfo1
  • userInfo2
  • country
  • language
  • timezone
  • visibility
  • isInitialized
  • isActive
  • authenticationType
  • selectedAppCustomisationTemplateName
  • selectedManifestName
  • service{n}
  • photoUrl

Supported fields for "device" management are:

  • __action__    detach, attach or force_attach
  • loginEmail    (mandatory)
  • pbxId
  • pbxShortNumber
  • pbxInternalNumber
  • number

Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes.

Error codes

  • 1001 'phoneNumber {pbxId}/{shortNumber} has no system id'
  • 1002 'phoneNumber {pbxId}/{shortNumber} has no id'
  • 1003 'phoneNumber {pbxId}/{shortNumber} does not exist'
  • 1004 'cannot lookup phoneNumber {pbxId}/{shortNumber}'
  • 1005 'found {count} phoneNumber(s) for {companyId}/{shortNumber}'
  • 1006 'failed to find one single PBX for {companyId}/{shortNumber}'
  • 1007 'user has already a phoneNumber {pbxId}/{shortNumber}'
  • 1008 'phoneNumber {pbxId}/{shortNumber} already associated to user {userId}'
  • 1009 'failed to attach phoneNumber {pbxId}/{shortNumber}'
  • 1010 'user {userId} has no phoneNumber'
  • 1011 'user {userId} has too many phoneNumbers'
  • 1012 'failed to detach phoneNumber {pbxId}/{shortNumber}'
query Parameters
companyId
string
  • companyId of the users in the CSV file, default to admin's companyId
label
string
Default: "none"
  • a text description of this import
noemails
boolean
Default: false
  • disable email sending
nostrict
boolean
Default: false
  • create of an existing user and delete of an unexisting user are not errors
delimiter
string
  • the CSV delimiter character (will be determined by analyzing the CSV file if not provided)
comment
string
Default: "%"

the CSV comment start character, use double quotes in field values to escape this character

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

get the import CSV report by commandId

This API retrieves the last import CSV UTF-8 content for mass-provisioning for useranddevice mode, performed by an admin (using a commandId).

path Parameters
commandId
required
string

commandId used in the import csv request which came from connector on behalf of admin command

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "report": {
    }
}

create the report by commandId

This API allows to create a report for a commandId in case no other API is called (no action to be performed, error, ...).

path Parameters
commandId
required
string

commandId used in the import csv request which came from connector on behalf of admin command

Request Body schema: application/json
details
required
string

details that can be provided about the command execution

status
required
string
Enum: "success" "failure"

status for the execution of the command

Responses

Request samples

Content type
application/json
{
  • "details": "string",
  • "status": "success"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "report": {
    }
}

synchronize with CSV data

This API allows to synchronize Rainbow users or devices through a CSV UTF-8 encoded file. it is a merge from user mode and device mode
The first line of the CSV data describes the content format. Most of the field names are the field names of the admin createUser API.

Supported fields for "user" management are:

  • __action__    delete, upsert, sync or detach
  • loginEmail    (mandatory)
  • password    (mandatory)
  • title
  • firstName
  • lastName
  • nickName
  • businessPhone{n}    (n is a number starting from 0 or 1)
  • mobilePhone{n}    (n is a number starting from 0 or 1)
  • email{n}    (n is a number starting from 0 or 1)
  • tags{n}    (n is a number starting from 0 to 4)
  • jobTitle
  • department
  • userInfo1
  • userInfo2
  • country
  • language
  • timezone
  • visibility
  • isInitialized
  • isActive
  • authenticationType
  • service{n}
  • photoUrl

Supported fields for "device" management are:

  • loginEmail    (mandatory)
  • pbxId
  • pbxLdapId
  • pbxShortNumber
  • pbxInternalNumber
  • number

detach: allows to detach an PBX extension from a user. delete: allows to delete a user. upsert: allows to modify user (update or create if doesn't exists) and device (force attach if filled) with filled fields. Remark: empty fields are not taken into account. sync: allows to modify user (update or create if doesn't exists) and device (force attach if filled, detach if empty) with filled fields. Remark: empty fields are taken into account (if a field is empty we will try to update it with empty value).

Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. Caution: for sync action:

  • As empty fields are taken into account, all fields must be filled to avoid a reset of these values
  • As empty fields are taken into account, it is better to avoid mixing sync __action__ with others actions

Error codes

  • 1001 'phoneNumber {pbxId}/{shortNumber} has no system id'
  • 1002 'phoneNumber {pbxId}/{shortNumber} has no id'
  • 1003 'phoneNumber {pbxId}/{shortNumber} does not exist'
  • 1004 'cannot lookup phoneNumber {pbxId}/{shortNumber}'
  • 1005 'found {count} phoneNumber(s) for {companyId}/{shortNumber}'
  • 1006 'failed to find one single PBX for {companyId}/{shortNumber}'
  • 1007 'user has already a phoneNumber {pbxId}/{shortNumber}'
  • 1008 'phoneNumber {pbxId}/{shortNumber} already associated to user {userId}'
  • 1009 'failed to attach phoneNumber {pbxId}/{shortNumber}'
  • 1010 'user {userId} has no phoneNumber'
  • 1011 'user {userId} has too many phoneNumbers'
  • 1012 'failed to detach phoneNumber {pbxId}/{shortNumber}'
  • 1013 '{pbxLdapId} has no system with a pbxId'
  • In case a query parameter commandId is added, the following XMPP message is sent to the initiator of the command:
    <message id="8413b42e-563c-4437-9a53-06f638b5ab69_0" type="management"
      from="pcloud_enduser_1@openrainbow.com/172440802160413612281463752830017532"
      to="5abb735b2d3c4e50adde276c50ec489c@@openrainbow.com"
      xmlns="jabber:client">
      <command_ended  commandId="xyz" xmlns="jabber:iq:configuration"/>
    </message>
query Parameters
companyId
string
  • companyId of the users in the CSV file, default to admin's companyId
label
string
Default: "none"
  • a text description of this import
noemails
boolean
Default: false
  • disable email sending
nostrict
boolean
Default: false
  • create of an existing user and delete of an unexisting user are not errors
delimiter
string
  • the CSV delimiter character (will be determined by analyzing the CSV file if not provided)
comment
string
Default: "%"

the CSV comment start character, use double quotes in field values to escape this character

commandId
string

commandId if the check csv request comes from connector on behalf of admin command, it will generates a report

ldapConfigId
string

Allows to specify the ldap domain on which the import should be run (in case of multi domain).

Request Body schema: text/csv; charset=utf-8
CSV
required
string

Content

Responses

Response samples

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

Generate a CSV template

This API provides a CSV template.

query Parameters
companyId
string

companyId to generate a template for, default to admin's companyId

mode
string
Default: "user"
Enum: "user" "device" "useranddevice" "rainbowvoice"

Select template to return.
- user: provider the user management template
- device: provider the device management template
- useranddevice: provider the user and device management template (both user and device)
- rainbowvoice : provider the user and subscriber/DDI/device association management template

comment
string
Default: "false"

Only the template comment.

Responses

Response samples

Content type
No sample