[
  {
    "comment": "/**\n * @module\n * @name AdminService\n * @version 2.42.0-lts.4 - Documentation generated on 2026/04/24T11:38:22.926Z\n * @public\n * @description\n *      This module handles the management of users. Using it, You will be able to create new users, to modify information of users and to delete them.</BR>\n *      This module can be use too to create Guest users who are specific temporaly users that can be used in Rainbow. </BR>\n *      </BR>\n *      The main methods proposed in that module allow to: </BR>\n *      - Create a new user in a specified company </BR>\n *      - Modify information of an existing user </BR>\n *      - Delete an existing user </BR>\n *      - Invite a user in Rainbow </BR>\n *      - Change the password of a user </BR>\n *      - Create a guest user </BR>\n */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 46,
      "columnno": 0,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "kind": "module",
    "name": "AdminService",
    "version": "2.42.0-lts.4 - Documentation generated on 2026/04/24T11:38:22.926Z",
    "access": "public",
    "description": "This module handles the management of users. Using it, You will be able to create new users, to modify information of users and to delete them.</BR>\n     This module can be use too to create Guest users who are specific temporaly users that can be used in Rainbow. </BR>\n     </BR>\n     The main methods proposed in that module allow to: </BR>\n     - Create a new user in a specified company </BR>\n     - Modify information of an existing user </BR>\n     - Delete an existing user </BR>\n     - Invite a user in Rainbow </BR>\n     - Change the password of a user </BR>\n     - Create a guest user </BR>",
    "longname": "module:AdminService",
    "$longname": "AdminService",
    "$kind": "module"
  },
  {
    "comment": "/**\n * The CloudPBX CLI policy value to apply.\n * @public\n * @readonly\n * @enum {string}\n */",
    "meta": {
      "range": [
        1468,
        1491
      ],
      "filename": "AdminService.js",
      "lineno": 37,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000227",
        "name": "CLOUDPBXCLIOPTIONPOLICY"
      }
    },
    "description": "The CloudPBX CLI policy value to apply.",
    "access": "public",
    "readonly": true,
    "kind": "member",
    "isEnum": true,
    "type": {
      "names": [
        "string"
      ]
    },
    "name": "CLOUDPBXCLIOPTIONPOLICY",
    "longname": "CLOUDPBXCLIOPTIONPOLICY",
    "scope": "global",
    "params": [],
    "$longname": "CLOUDPBXCLIOPTIONPOLICY",
    "$kind": "enum"
  },
  {
    "comment": "/**\n * Offer type provided by Rainbow\n * @public\n * @enum {string}\n * @readonly\n */",
    "meta": {
      "range": [
        1129,
        1139
      ],
      "filename": "AdminService.js",
      "lineno": 24,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000198",
        "name": "OFFERTYPES"
      }
    },
    "description": "Offer type provided by Rainbow",
    "access": "public",
    "kind": "member",
    "isEnum": true,
    "type": {
      "names": [
        "string"
      ]
    },
    "readonly": true,
    "name": "OFFERTYPES",
    "longname": "OFFERTYPES",
    "scope": "global",
    "params": [],
    "$longname": "OFFERTYPES",
    "$kind": "enum"
  },
  {
    "comment": "",
    "meta": {
      "range": [
        2959,
        3409
      ],
      "filename": "AdminService.js",
      "lineno": 68,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000297",
        "name": "AdminService_1",
        "type": "MethodDefinition",
        "paramnames": [
          "_core",
          "_eventEmitter",
          "_logger",
          "_startConfig"
        ]
      },
      "vars": {
        "": null
      }
    },
    "undocumented": true,
    "name": "AdminService_1",
    "longname": "module:AdminService.AdminService_1",
    "kind": "class",
    "memberof": "module:AdminService",
    "scope": "static",
    "params": [],
    "$longname": "AdminService.AdminService_1",
    "$kind": "constructor"
  },
  {
    "comment": "/** installation_ddi_number */",
    "meta": {
      "range": [
        1570,
        1648
      ],
      "filename": "AdminService.js",
      "lineno": 40,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000235",
        "name": "CLOUDPBXCLIOPTIONPOLICY[\"INSTALLATION_DDI_NUMBER\"]",
        "type": "Literal",
        "value": "installation_ddi_number",
        "paramnames": []
      }
    },
    "description": "installation_ddi_number",
    "name": "\"INSTALLATION_DDI_NUMBER\"",
    "longname": "CLOUDPBXCLIOPTIONPOLICY.\"INSTALLATION_DDI_NUMBER\"",
    "kind": "member",
    "memberof": "CLOUDPBXCLIOPTIONPOLICY",
    "scope": "static",
    "$longname": "CLOUDPBXCLIOPTIONPOLICY.INSTALLATION_DDI_NUMBER",
    "$kind": "property"
  },
  {
    "comment": "/** user_ddi_number */",
    "meta": {
      "range": [
        1681,
        1743
      ],
      "filename": "AdminService.js",
      "lineno": 42,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000241",
        "name": "CLOUDPBXCLIOPTIONPOLICY[\"USER_DDI_NUMBER\"]",
        "type": "Literal",
        "value": "user_ddi_number",
        "paramnames": []
      }
    },
    "description": "user_ddi_number",
    "name": "\"USER_DDI_NUMBER\"",
    "longname": "CLOUDPBXCLIOPTIONPOLICY.\"USER_DDI_NUMBER\"",
    "kind": "member",
    "memberof": "CLOUDPBXCLIOPTIONPOLICY",
    "scope": "static",
    "$longname": "CLOUDPBXCLIOPTIONPOLICY.USER_DDI_NUMBER",
    "$kind": "property"
  },
  {
    "comment": "/** freemium licence offer */",
    "meta": {
      "range": [
        1204,
        1239
      ],
      "filename": "AdminService.js",
      "lineno": 27,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000206",
        "name": "OFFERTYPES[\"FREEMIUM\"]",
        "type": "Literal",
        "value": "freemium",
        "paramnames": []
      }
    },
    "description": "freemium licence offer",
    "name": "\"FREEMIUM\"",
    "longname": "OFFERTYPES.\"FREEMIUM\"",
    "kind": "member",
    "memberof": "OFFERTYPES",
    "scope": "static",
    "$longname": "OFFERTYPES.FREEMIUM",
    "$kind": "property"
  },
  {
    "comment": "/** premium licence offer */",
    "meta": {
      "range": [
        1278,
        1311
      ],
      "filename": "AdminService.js",
      "lineno": 29,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000212",
        "name": "OFFERTYPES[\"PREMIUM\"]",
        "type": "Literal",
        "value": "premium",
        "paramnames": []
      }
    },
    "description": "premium licence offer",
    "name": "\"PREMIUM\"",
    "longname": "OFFERTYPES.\"PREMIUM\"",
    "kind": "member",
    "memberof": "OFFERTYPES",
    "scope": "static",
    "$longname": "OFFERTYPES.PREMIUM",
    "$kind": "property"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method acceptJoinCompanyInvitation\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company invitations\n     * @param {string} invitationId Join company invitation unique identifier.\n     * @async\n     * @description\n     *       This API allows to accept a join company invitation received by the user (invitation sent by admin ). <br>\n     *       To accept the join company invitation, the user must be in default company (may evolve in the future) <br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company invitation unique Id |\n     * | companyId | string | Id of the company for which the join company invitation is |\n     * | companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n     * | invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n     * | invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n     * | invitingAdminId | string | Inviting company admin unique Rainbow Id |\n     * | invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n     * | invitationDate | Date-Time | Date the join company invitation was created |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n     * | status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n     * | acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n     * | declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4494,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company invitations",
        "value": "Company - Join company invitations"
      }
    ],
    "kind": "function",
    "name": "acceptJoinCompanyInvitation",
    "scope": "instance",
    "since": "2.21.0",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company invitation unique identifier.",
        "name": "invitationId"
      }
    ],
    "async": true,
    "description": "This API allows to accept a join company invitation received by the user (invitation sent by admin ). <br>\n      To accept the join company invitation, the user must be in default company (may evolve in the future) <br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company invitation unique Id |\n| companyId | string | Id of the company for which the join company invitation is |\n| companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n| invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n| invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n| invitingAdminId | string | Inviting company admin unique Rainbow Id |\n| invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n| invitationDate | Date-Time | Date the join company invitation was created |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n| status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n| acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n| declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |"
      }
    ],
    "longname": "module:AdminService#acceptJoinCompanyInvitation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#acceptJoinCompanyInvitation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method acknowledgeLogsRequest\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users Logs\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} logId Logs context unique identifier\n     * @description\n     *     When an Admin or Emily bot ask to manage a user, the targeted device receives an event type management. </BR>\n     *     </BR>\n     *     </BR>\n     *      `rainbow_onlogsconfig` with an action equal to \"request\".\n     *     </BR>\n     *     Then it will have to: </BR>\n     *     acknowledge or reject the request </BR>\n     *     </BR>\n     *     Without an aknowledgment, it's forbidden to update the given logs context. </BR>\n     *     When the request is accepted, it's no more possible to reject the request. </BR>\n     *     </BR>\n     *     Some errors occurs when: </BR>\n     *     Logs context not found (resource not found) </BR>\n     *     The logged in user is not involved in this logs context </BR>\n     *     </BR>\n     *     This API can only be used by user himself (i.e. userId of logged in user). </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15060,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "acknowledgeLogsRequest",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier",
        "name": "logId"
      }
    ],
    "description": "When an Admin or Emily bot ask to manage a user, the targeted device receives an event type management. </BR>\n    </BR>\n    </BR>\n     `rainbow_onlogsconfig` with an action equal to \"request\".\n    </BR>\n    Then it will have to: </BR>\n    acknowledge or reject the request </BR>\n    </BR>\n    Without an aknowledgment, it's forbidden to update the given logs context. </BR>\n    When the request is accepted, it's no more possible to reject the request. </BR>\n    </BR>\n    Some errors occurs when: </BR>\n    Logs context not found (resource not found) </BR>\n    The logged in user is not involved in this logs context </BR>\n    </BR>\n    This API can only be used by user himself (i.e. userId of logged in user). </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |"
      }
    ],
    "longname": "module:AdminService#acknowledgeLogsRequest",
    "memberof": "module:AdminService",
    "$longname": "AdminService#acknowledgeLogsRequest",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method ActivateALdapConnectorUser\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @description\n     *      This API allows to activate a Ldap connector. </BR>\n     *      A \"Ldap user\" is created and registered to the XMPP services. The Ldap user credentials (loginEmail and password) are generated randomly and returned in the response. </BR>\n     * </BR>\n     *      Note 1 A brute force defense is activated when too much activation have been requested. As a result, an error 429 \"Too Many Requests\" will be returned during an increasing period to dissuade a slow brute force attack. </BR>\n     *      Note 2 Ldap's company should have an active subscription to to activate Ldap. If subscription linked to Ldap is not active or it has no more remaining licenses, error 403 is thrown </BR>\n     *      Note 3 Ldap's company should have an SSO authentication Type, and it must be the default authentication Type for users. If company doesn't have an SSO or have one but not a default one, error 403 is thrown </BR>\n     *       </BR>\n     * @return {Promise<{ id : string, companyId : string, loginEmail : string, password : string}>} -\n     * </BR>\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Ldap connector unique identifier. |\n     * | companyId | string | Company linked to the Ldap connector. |\n     * | loginEmail | string | Generated Ldap connector user login (\"throwaway\" email address, never used by rainbow to send email). |\n     * | password | string | Generated Ldap connector user password. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8655,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "ActivateALdapConnectorUser",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "description": "This API allows to activate a Ldap connector. </BR>\n     A \"Ldap user\" is created and registered to the XMPP services. The Ldap user credentials (loginEmail and password) are generated randomly and returned in the response. </BR>\n</BR>\n     Note 1 A brute force defense is activated when too much activation have been requested. As a result, an error 429 \"Too Many Requests\" will be returned during an increasing period to dissuade a slow brute force attack. </BR>\n     Note 2 Ldap's company should have an active subscription to to activate Ldap. If subscription linked to Ldap is not active or it has no more remaining licenses, error 403 is thrown </BR>\n     Note 3 Ldap's company should have an SSO authentication Type, and it must be the default authentication Type for users. If company doesn't have an SSO or have one but not a default one, error 403 is thrown </BR>\n      </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<{id: string, companyId: string, loginEmail: string, password: string}>"
          ]
        },
        "description": "-\n</BR>\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Ldap connector unique identifier. |\n| companyId | string | Company linked to the Ldap connector. |\n| loginEmail | string | Generated Ldap connector user login (\"throwaway\" email address, never used by rainbow to send email). |\n| password | string | Generated Ldap connector user password. |"
      }
    ],
    "longname": "module:AdminService#ActivateALdapConnectorUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#ActivateALdapConnectorUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method activateEmailTemplate\n     * @since 2.28.3\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. For the entire list of allowed template names, use GET /api/rainbow/admin/v1.0/companies/customizations/emails?format=small\n     * <div style=\"text-align : left\">\n     * </br>   Possibles values : admin_cancel_invite_user_join_company, admin_invite_user_join_company,\n     * </br>   admin_invite_user_join_company_as_admin, admin_invite_user_register_and_join_company,\n     * </br>   admin_invite_user_register_and_join_company_as_admin, admin_request_company_visibility,\n     * </br>   bp_admin_invite_ec_admin_link_his_company_to_bp, ec_admin_request_bp_admin_link_his_company_to_bp,\n     * </br>   bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir, ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir,\n     * </br>   enduser_account_creation_completed, enduser_account_terminated, enduser_account_terminated_by_himself,\n     * </br>   enduser_conversation_download, enduser_invite_somebody, enduser_chat_room_invite_guest, enduser_conference_invite_somebody,\n     * </br>   enduser_scheduled_conference_cancel_invite, enduser_scheduled_conference_invite_somebody, enduser_scheduled_conference_ical,\n     * </br>   enduser_scheduled_conference_cancel_ical, enduser_request_join_company, enduser_request_user_visibility,\n     * </br>   enduser_temporary_token_reset_password, enduser_temporary_token_self_register, enduser_offline_im_invite,\n     * </br>   enduser_guest_account_time_to_live, enduser_oauth_authentication_notification\n     * </div>\n     * @description\n     * This API allows to activate an email template for a given company. An error occurs when the template name is not yet allowed or when it is not found for this company.\n     * As tested flag is a prerequisite to be allowed to activate the template, an error detail 409012 can be raised.\n     * Users with superadmin role can manage all available email templates of any company.\n     * Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * Users with company_admin users can only handle all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | operation status message. |\n     *\n     *  </br>example of result :\n     *  ```json\n     * {\n     *  \"data\": {\n     *    \"companyId\": \"598857f360c749e5890ff2f9\",\n     *    \"templateName\": \"enduser_conversation_download\",\n     *    \"isActive\": true,\n     *    \"mjmlFormat\": \"<mjml>\\n  <mj-body>\\n    <mj-section>\\n      <mj-column>\\n        <mj-text font-size=\\\"20px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          {{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n          <br/><br/> {{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}  \\n        </mj-text>\\n        <mj-text font-size=\\\"10px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          Copyright © 2018 Alcatel-Lucent Enterprise\\n        </mj-text>\\n      </mj-column>\\n    </mj-section>\\n  </mj-body>\\n</mjml>\",\n     *    \"subject\": \"{{ __({phrase: \\\"Conversation with {{userOrRoomDisplayName}}\\\", locale: locale}, {userOrRoomDisplayName: userOrRoomDisplayName}) | safe }}\",\n     *    \"textFormat\": \"{{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n\\n{{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}:\\n{{ publicWebsiteURL }}\\n\\nCopyright © 2018 Alcatel-Lucent Enterprise\",\n     *    \"tested\": true\n     *  }\n     * }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5762,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "activateEmailTemplate",
    "since": "2.28.3",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. For the entire list of allowed template names, use GET /api/rainbow/admin/v1.0/companies/customizations/emails?format=small\n<div style=\"text-align : left\">\n</br>   Possibles values : admin_cancel_invite_user_join_company, admin_invite_user_join_company,\n</br>   admin_invite_user_join_company_as_admin, admin_invite_user_register_and_join_company,\n</br>   admin_invite_user_register_and_join_company_as_admin, admin_request_company_visibility,\n</br>   bp_admin_invite_ec_admin_link_his_company_to_bp, ec_admin_request_bp_admin_link_his_company_to_bp,\n</br>   bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir, ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir,\n</br>   enduser_account_creation_completed, enduser_account_terminated, enduser_account_terminated_by_himself,\n</br>   enduser_conversation_download, enduser_invite_somebody, enduser_chat_room_invite_guest, enduser_conference_invite_somebody,\n</br>   enduser_scheduled_conference_cancel_invite, enduser_scheduled_conference_invite_somebody, enduser_scheduled_conference_ical,\n</br>   enduser_scheduled_conference_cancel_ical, enduser_request_join_company, enduser_request_user_visibility,\n</br>   enduser_temporary_token_reset_password, enduser_temporary_token_self_register, enduser_offline_im_invite,\n</br>   enduser_guest_account_time_to_live, enduser_oauth_authentication_notification\n</div>",
        "name": "templateName"
      }
    ],
    "description": "This API allows to activate an email template for a given company. An error occurs when the template name is not yet allowed or when it is not found for this company.\nAs tested flag is a prerequisite to be allowed to activate the template, an error detail 409012 can be raised.\nUsers with superadmin role can manage all available email templates of any company.\nUsers with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\nUsers with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\nUsers with company_admin users can only handle all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | operation status message. |\n\n </br>example of result :\n ```json\n{\n \"data\": {\n   \"companyId\": \"598857f360c749e5890ff2f9\",\n   \"templateName\": \"enduser_conversation_download\",\n   \"isActive\": true,\n   \"mjmlFormat\": \"<mjml>\\n  <mj-body>\\n    <mj-section>\\n      <mj-column>\\n        <mj-text font-size=\\\"20px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          {{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n          <br/><br/> {{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}  \\n        </mj-text>\\n        <mj-text font-size=\\\"10px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          Copyright © 2018 Alcatel-Lucent Enterprise\\n        </mj-text>\\n      </mj-column>\\n    </mj-section>\\n  </mj-body>\\n</mjml>\",\n   \"subject\": \"{{ __({phrase: \\\"Conversation with {{userOrRoomDisplayName}}\\\", locale: locale}, {userOrRoomDisplayName: userOrRoomDisplayName}) | safe }}\",\n   \"textFormat\": \"{{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n\\n{{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}:\\n{{ publicWebsiteURL }}\\n\\nCopyright © 2018 Alcatel-Lucent Enterprise\",\n   \"tested\": true\n }\n}\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#activateEmailTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#activateEmailTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method addAdministratorToGroup\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @param {string} userId Superadmin or Support unique identifier. Default value is the connected user.\n     * @category Customer Care - Administrators Group\n     * @description\n     *     This API allows Add one administrators allowed to consult the list of issues, create and consolidate tickets. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | userId | string | User unique identifier |\n     * | loginEmail | string | User email address (used for login) |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14322,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "addAdministratorToGroup",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Superadmin or Support unique identifier. Default value is the connected user.",
        "name": "userId"
      }
    ],
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Administrators Group",
        "value": "Customer Care - Administrators Group"
      }
    ],
    "description": "This API allows Add one administrators allowed to consult the list of issues, create and consolidate tickets. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| userId | string | User unique identifier |\n| loginEmail | string | User email address (used for login) |"
      }
    ],
    "longname": "module:AdminService#addAdministratorToGroup",
    "memberof": "module:AdminService",
    "$longname": "AdminService#addAdministratorToGroup",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method adminOrBotAddAdditionalFiles\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users Logs Append\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} logId Logs context unique identifier\n     * @param {Array<string>} attachments\n     * @param {string} conversationId\n     * @param {string} fileName\n     * @description\n     *     This api can be called either as administrator (BP, Organisation, Company), support, superadmin or Emily bot to append additional elements ( pictures, screenshot, ... or conversation content). </BR>\n     *     </BR>\n     *     For example in the [Cf Case As Emily Bot, ask to manage a user](/customercare/#api-_) scenario, the Emily bot should be able to add elements shared by a customer via the conversation the bot did with him. </BR>\n     *     </BR>\n     *     **Pre-checks:** </BR>\n     *     the loggedInUser is the creator of the log context or an authorized administrator. </BR>\n     *     </BR>\n     *     **Case file to add:** two types of files are uploaded : file generated from conversation and file belonging to logged in user. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | attachments | string \\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15318,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "adminOrBotAddAdditionalFiles",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs Append",
        "value": "Customer Care - Users Logs Append"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier",
        "name": "logId"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "name": "attachments"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "name": "conversationId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "name": "fileName"
      }
    ],
    "description": "This api can be called either as administrator (BP, Organisation, Company), support, superadmin or Emily bot to append additional elements ( pictures, screenshot, ... or conversation content). </BR>\n    </BR>\n    For example in the [Cf Case As Emily Bot, ask to manage a user](/customercare/#api-_) scenario, the Emily bot should be able to add elements shared by a customer via the conversation the bot did with him. </BR>\n    </BR>\n    **Pre-checks:** </BR>\n    the loggedInUser is the creator of the log context or an authorized administrator. </BR>\n    </BR>\n    **Case file to add:** two types of files are uploaded : file generated from conversation and file belonging to logged in user. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| attachments | string \\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |"
      }
    ],
    "longname": "module:AdminService#adminOrBotAddAdditionalFiles",
    "memberof": "module:AdminService",
    "$longname": "AdminService#adminOrBotAddAdditionalFiles",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method applyCustomisationTemplates\n     * @instance\n     * @description\n     *      This API allows an administrator to apply an application customisation template to a company or a user\n     *\n     *  **Why is an application template?**\n     *\n     *  - An application template is a set of key feature controlled by permission.\n     *  - A template can be applied to a company, to a user.\n     *  - A template to a user can be applied by an administrator action or by bulk using mass provisioning mechanism.\n     *  - Custom templates may be created\n     *\n     *  **Who can apply a template?**\n     *\n     *  - superadmin, bp_admin and company_admin can apply templates available for any company (public or private template)\n     *\n     *  **Restrictions about template types.**\n     *\n     *  - Each template has a type:\n     *\n     *    - default_company\n     *    - default_user\n     *    - private_default_company\n     *    - other\n     *\n     *  - It may have only one template of default_company and default_user type.\n     *\n     *  - A default_company or default_user template is always public.\n     *\n     *  - default_company is created by Rainbow team under name Full.\n     *\n     *  - default_user is a template used to reset user with default values. It is created by Rainbow team under name Same as company. It is public too.\n     *\n     *  - An 'other' template is public or private. If private, it belongs to a company.\n     *\n     *  - A private_default_company is private and belongs to a standalone company. It may have only one private_default_company per company.\n     *\n     *  To apply a template, a template name plus a companyId or a userId must be set. When both companyId or userId are set, an error occurs (400000).\n     *\n     *  You can find on which companies the template has been applied by using the API getAllCompanies with parameter selectedAppCustomisationTemplate=:templateId\n     *  The company field selectedAppCustomisationTemplate is the last template applyed for this company.\n     * @async\n     * @category Customisation Template\n     * @return {Promise<any>}\n     * @fulfil {Object} - Json object containing the result of the method.\n     * @category async\n     * @param {string} name Template name.\n     * @param {string} companyId Company unique identifier\n     * @param {string} userId User unique identifier\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5927,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customisation Template",
        "value": "Customisation Template"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing the result of the method.",
        "value": "{Object} - Json object containing the result of the method."
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "applyCustomisationTemplates",
    "scope": "instance",
    "description": "This API allows an administrator to apply an application customisation template to a company or a user\n\n **Why is an application template?**\n\n - An application template is a set of key feature controlled by permission.\n - A template can be applied to a company, to a user.\n - A template to a user can be applied by an administrator action or by bulk using mass provisioning mechanism.\n - Custom templates may be created\n\n **Who can apply a template?**\n\n - superadmin, bp_admin and company_admin can apply templates available for any company (public or private template)\n\n **Restrictions about template types.**\n\n - Each template has a type:\n\n   - default_company\n   - default_user\n   - private_default_company\n   - other\n\n - It may have only one template of default_company and default_user type.\n\n - A default_company or default_user template is always public.\n\n - default_company is created by Rainbow team under name Full.\n\n - default_user is a template used to reset user with default values. It is created by Rainbow team under name Same as company. It is public too.\n\n - An 'other' template is public or private. If private, it belongs to a company.\n\n - A private_default_company is private and belongs to a standalone company. It may have only one private_default_company per company.\n\n To apply a template, a template name plus a companyId or a userId must be set. When both companyId or userId are set, an error occurs (400000).\n\n You can find on which companies the template has been applied by using the API getAllCompanies with parameter selectedAppCustomisationTemplate=:templateId\n The company field selectedAppCustomisationTemplate is the last template applyed for this company.",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Template name.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User unique identifier",
        "name": "userId"
      }
    ],
    "longname": "module:AdminService#applyCustomisationTemplates",
    "memberof": "module:AdminService",
    "$longname": "AdminService#applyCustomisationTemplates",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method askTokenOnBehalf\n     * @instance\n     * @description\n     *      Ask Rainbow for a token on behalf a user </BR>\n     *      This allow to not use the secret key on client side </BR>\n     * @param {string} loginEmail The user login email\n     * @param {string} password The user password\n     * @async\n     * @category Users at running\n     * @return {Promise<any>}\n     * @fulfil {Object} - Json object containing the user data, application data and token\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6609,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Users at running",
        "value": "Users at running"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing the user data, application data and token",
        "value": "{Object} - Json object containing the user data, application data and token"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "askTokenOnBehalf",
    "scope": "instance",
    "description": "Ask Rainbow for a token on behalf a user </BR>\n     This allow to not use the secret key on client side </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The user login email",
        "name": "loginEmail"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The user password",
        "name": "password"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#askTokenOnBehalf",
    "memberof": "module:AdminService",
    "$longname": "AdminService#askTokenOnBehalf",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method assignCloudPBXSIPDeviceToSubscriber\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier of the CloudPBX Subscriber on which the SIP device must be assigned\n     * @param {string} deviceId Unique identifier of the device to assign\n     * @param {string} macAddress device mac address\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @description\n     *      This API allows to assign a SIP device to a CloudPBX Subscriber.</BR>\n     *      The device must have been previously created.</BR>\n     *      Assigning a device to a subscriber can de done by specifying the device Id (preferred) in the request, or the device mac address.</BR>\n     *      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.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10885,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "assignCloudPBXSIPDeviceToSubscriber",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier of the CloudPBX Subscriber on which the SIP device must be assigned",
        "name": "phoneNumberId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the device to assign",
        "name": "deviceId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "device mac address",
        "name": "macAddress"
      }
    ],
    "description": "This API allows to assign a SIP device to a CloudPBX Subscriber.</BR>\n     The device must have been previously created.</BR>\n     Assigning a device to a subscriber can de done by specifying the device Id (preferred) in the request, or the device mac address.</BR>\n     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.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#assignCloudPBXSIPDeviceToSubscriber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#assignCloudPBXSIPDeviceToSubscriber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method associateCloudPBXDDINumber\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier\n     * @param {string} userId Rainbow user unique identifier\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers\n     * @description\n     *      This API allows to associate a DDI number to a Rainbow user. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11152,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers"
      }
    ],
    "kind": "function",
    "name": "associateCloudPBXDDINumber",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier",
        "name": "phoneNumberId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Rainbow user unique identifier",
        "name": "userId"
      }
    ],
    "async": true,
    "description": "This API allows to associate a DDI number to a Rainbow user. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#associateCloudPBXDDINumber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#associateCloudPBXDDINumber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method blockApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to block an application.\n     *\n     * </br> Users with `superadmin` role can block an application.\n     * </br> Users with `admin` role can block an application.\n     * </br> Users with `app_admin` role can block an application.\n     * </br> Users with `app_superadmin` role can block an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @param {string} reason Reason why the application is blocked\n     * @category Applications\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id | string | Application unique identifier |\n     * | name | string | Application name |\n     * | platform | string | Application platform |\n     * | ownerId | string | Application owner unique identifier |\n     * | ownerEmail | string | Application owner email |\n     * | creationDate | string | Application creation date |\n     * | isPublished | boolean | Is application published |\n     * | appKeyOnly | boolean | Application uses only an application key for authentication |\n     * | appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n     * | appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n     * | appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n     * | appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n     * | appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n     * | appSecret | string | Application secret |\n     * | appKey | string | Application key |\n     * | jwtSecret | string | JWT secret |\n     * | redirectUris | array | Array of redirect URIs |\n     * | status | string | Application status |\n     * | type | string | Application type |\n     * | origin | string | Application origin |\n     * | blocked | boolean | Is application blocked |\n     * | blockedDate | string | Application blocked date |\n     * | blockedReason | string | Application blocked reason |\n     * | blockedBy | string | Application blocked by |\n     * | blockedByEmail | string | Application blocked by email |\n     * | lastLoginDate | string | Application last login date |\n     * | lastLoginIp | string | Application last login IP |\n     * | rateLimitPerSecond | number | Application rate limit per second |\n     * | rateLimitPerDay | number | Application rate limit per day |\n     * | rateLimitPerMonth | number | Application rate limit per month |\n     * | requestsCount | number | Application requests count |\n     * | requestsCountToday | number | Application requests count today |\n     * | requestsCountThisMonth | number | Application requests count this month |\n     * | requestsCountHistory | array | Application requests count history |\n     *\n     * </br>example of result :\n     * ```json\n     * {\n     *     \"id\": \"5c9be7d7da30af091cf57b43\",\n     *     \"name\": \"My Application\",\n     *     \"platform\": \"web\",\n     *     \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n     *     \"ownerEmail\": \"john.doe@example.com\",\n     *     \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"isPublished\": true,\n     *     \"appKeyOnly\": true,\n     *     \"appKeyAndSecret\": false,\n     *     \"appKeyAndSecretAndJwt\": false,\n     *     \"appKeyAndJwtSecret\": false,\n     *     \"appKeyAndJwtAndSecret\": false,\n     *     \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n     *     \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"redirectUris\": [\n     *         \"https://example.com/callback\"\n     *     ],\n     *     \"status\": \"active\",\n     *     \"type\": \"web\",\n     *     \"origin\": \"user\",\n     *     \"blocked\": true,\n     *     \"blockedDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"blockedReason\": \"Application blocked by administrator\",\n     *     \"blockedBy\": \"5c9be7d7da30af091cf57b42\",\n     *     \"blockedByEmail\": \"john.doe@example.com\",\n     *     \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"lastLoginIp\": \"192.168.1.1\",\n     *     \"rateLimitPerSecond\": 10,\n     *     \"rateLimitPerDay\": 1000,\n     *     \"rateLimitPerMonth\": 30000,\n     *     \"requestsCount\": 100,\n     *     \"requestsCountToday\": 10,\n     *     \"requestsCountThisMonth\": 100,\n     *     \"requestsCountHistory\": [\n     *         {\n     *             \"date\": \"2019-03-27T15:00:00.000Z\",\n     *             \"count\": 10\n     *         }\n     *     ]\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16553,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "blockApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to block an application.\n\n</br> Users with `superadmin` role can block an application.\n</br> Users with `admin` role can block an application.\n</br> Users with `app_admin` role can block an application.\n</br> Users with `app_superadmin` role can block an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Reason why the application is blocked",
        "name": "reason"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id | string | Application unique identifier |\n| name | string | Application name |\n| platform | string | Application platform |\n| ownerId | string | Application owner unique identifier |\n| ownerEmail | string | Application owner email |\n| creationDate | string | Application creation date |\n| isPublished | boolean | Is application published |\n| appKeyOnly | boolean | Application uses only an application key for authentication |\n| appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n| appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n| appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n| appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n| appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n| appSecret | string | Application secret |\n| appKey | string | Application key |\n| jwtSecret | string | JWT secret |\n| redirectUris | array | Array of redirect URIs |\n| status | string | Application status |\n| type | string | Application type |\n| origin | string | Application origin |\n| blocked | boolean | Is application blocked |\n| blockedDate | string | Application blocked date |\n| blockedReason | string | Application blocked reason |\n| blockedBy | string | Application blocked by |\n| blockedByEmail | string | Application blocked by email |\n| lastLoginDate | string | Application last login date |\n| lastLoginIp | string | Application last login IP |\n| rateLimitPerSecond | number | Application rate limit per second |\n| rateLimitPerDay | number | Application rate limit per day |\n| rateLimitPerMonth | number | Application rate limit per month |\n| requestsCount | number | Application requests count |\n| requestsCountToday | number | Application requests count today |\n| requestsCountThisMonth | number | Application requests count this month |\n| requestsCountHistory | array | Application requests count history |\n\n</br>example of result :\n```json\n{\n    \"id\": \"5c9be7d7da30af091cf57b43\",\n    \"name\": \"My Application\",\n    \"platform\": \"web\",\n    \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n    \"ownerEmail\": \"john.doe@example.com\",\n    \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n    \"isPublished\": true,\n    \"appKeyOnly\": true,\n    \"appKeyAndSecret\": false,\n    \"appKeyAndSecretAndJwt\": false,\n    \"appKeyAndJwtSecret\": false,\n    \"appKeyAndJwtAndSecret\": false,\n    \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n    \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"redirectUris\": [\n        \"https://example.com/callback\"\n    ],\n    \"status\": \"active\",\n    \"type\": \"web\",\n    \"origin\": \"user\",\n    \"blocked\": true,\n    \"blockedDate\": \"2019-03-27T15:00:00.000Z\",\n    \"blockedReason\": \"Application blocked by administrator\",\n    \"blockedBy\": \"5c9be7d7da30af091cf57b42\",\n    \"blockedByEmail\": \"john.doe@example.com\",\n    \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n    \"lastLoginIp\": \"192.168.1.1\",\n    \"rateLimitPerSecond\": 10,\n    \"rateLimitPerDay\": 1000,\n    \"rateLimitPerMonth\": 30000,\n    \"requestsCount\": 100,\n    \"requestsCountToday\": 10,\n    \"requestsCountThisMonth\": 100,\n    \"requestsCountHistory\": [\n        {\n            \"date\": \"2019-03-27T15:00:00.000Z\",\n            \"count\": 10\n        }\n    ]\n}\n```"
      }
    ],
    "longname": "module:AdminService#blockApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#blockApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method cancelJoinCompanyRequest\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company requests\n     * @async\n     * @description\n     *       This API can be used by logged in user to cancel a request to join a company he sent. <br>\n     *       Request must be pending or declined (otherwise error 409 is returned). <br>\n     *       Once request has been canceled, administrators won't be able to accept or decline it anymore.  <br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company request unique Id |\n     * | requestingUserId | string | Requesting user unique Rainbow Id |\n     * | requestingUserLoginEmail | string | Requesting user email |\n     * | requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n     * | requestedCompanyName | string | Name of the company the requesting user wants to join |\n     * | status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n     * | requestingDate | Date-Time | Date the request was created |\n     * | requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n     * | companyAdminId | string |     |\n     * | requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n     * | companyAdminLoginEmail | string |     |\n     *\n     * @param {string} joinCompanyRequestId Join company request unique identifier\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4699,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company requests",
        "value": "Company - Join company requests"
      }
    ],
    "kind": "function",
    "name": "cancelJoinCompanyRequest",
    "scope": "instance",
    "since": "2.21.0",
    "async": true,
    "description": "This API can be used by logged in user to cancel a request to join a company he sent. <br>\n      Request must be pending or declined (otherwise error 409 is returned). <br>\n      Once request has been canceled, administrators won't be able to accept or decline it anymore.  <br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company request unique Id |\n| requestingUserId | string | Requesting user unique Rainbow Id |\n| requestingUserLoginEmail | string | Requesting user email |\n| requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n| requestedCompanyName | string | Name of the company the requesting user wants to join |\n| status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n| requestingDate | Date-Time | Date the request was created |\n| requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n| companyAdminId | string |     |\n| requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n| companyAdminLoginEmail | string |     |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company request unique identifier",
        "name": "joinCompanyRequestId"
      }
    ],
    "longname": "module:AdminService#cancelJoinCompanyRequest",
    "memberof": "module:AdminService",
    "$longname": "AdminService#cancelJoinCompanyRequest",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method cancelOrCloseLogsSubmission\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users Logs\n     * @param {string} userId User or Rainbow room unique identifier.\n     * @param {string} logId Logs context unique identifier\n     * @description\n     *     This API can be called either as administrator (BP, Organisation, Company), support, superadmin to close a log submission. </BR>\n     *     It can be called also by Emily bot after the User or Rainbow room decides to cancel the Ticket submission. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Delete operation status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15019,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "cancelOrCloseLogsSubmission",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier",
        "name": "logId"
      }
    ],
    "description": "This API can be called either as administrator (BP, Organisation, Company), support, superadmin to close a log submission. </BR>\n    It can be called also by Emily bot after the User or Rainbow room decides to cancel the Ticket submission. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Delete operation status message. |"
      }
    ],
    "longname": "module:AdminService#cancelOrCloseLogsSubmission",
    "memberof": "module:AdminService",
    "$longname": "AdminService#cancelOrCloseLogsSubmission",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method changePasswordForUser\n     * @instance\n     * @description\n     *      Change a password for a user </BR>\n     * @param {string} password The new password\n     * @param {string} userId The id of the user\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Updated user or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1751,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Updated user or an error object depending on the result",
        "value": "{Object} - Updated user or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "changePasswordForUser",
    "scope": "instance",
    "description": "Change a password for a user </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The new password",
        "name": "password"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The id of the user",
        "name": "userId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#changePasswordForUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#changePasswordForUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method checkCSVdata\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} companyId companyId of the users in the CSV file, default to admin's companyId\n     * @param {string} delimiter the CSV delimiter character (will be determined by analyzing the CSV file if not provided)\n     * @param {string} comment=\"%\" the CSV comment start character, use double quotes in field values to escape this character\n     * @param {any} data body of the POST.\n     * @description\n     *     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. </BR>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | * check results summary |\n     * | reqId | string | * check request identifier |\n     * | mode | string | * request csv mode</BR></BR>Possible values : `user`, `device` |\n     * | actions | Object | * actions information |\n     * | add optionnel | Number | * number of user add actions |\n     * | update optionnel | Number | * number of user update actions |\n     * | remove optionnel | Number | * number of user remove actions |\n     * | attach optionnel | Number | * number of device pairing actions |\n     * | force_attach optionnel | Number | * number of device forced pairing actions |\n     * | columns | Number | * number of columns in the CSV |\n     * | detach optionnel | Number | * number of device unpairing actions |\n     * | delimiter | string | * the CSV delimiter |\n     * | profiles | Object | * the managed profiles |\n     * | name | string | * the managed profiles name |\n     * | valid | Boolean | * the managed profiles validity |\n     * | assignedBefore | Number | * the assigned number of managed profiles before this import |\n     * | assignedAfter | Number | * the assigned number of managed profiles after this import has been fulfilled |\n     * | max | Number | * the maximum number of managed profiles available |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7434,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "checkCSVdata",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "companyId of the users in the CSV file, default to admin's companyId",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the CSV delimiter character (will be determined by analyzing the CSV file if not provided)",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"%\"",
        "description": "the CSV comment start character, use double quotes in field values to escape this character",
        "name": "comment"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "body of the POST.",
        "name": "data"
      }
    ],
    "description": "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. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | * check results summary |\n| reqId | string | * check request identifier |\n| mode | string | * request csv mode</BR></BR>Possible values : `user`, `device` |\n| actions | Object | * actions information |\n| add optionnel | Number | * number of user add actions |\n| update optionnel | Number | * number of user update actions |\n| remove optionnel | Number | * number of user remove actions |\n| attach optionnel | Number | * number of device pairing actions |\n| force_attach optionnel | Number | * number of device forced pairing actions |\n| columns | Number | * number of columns in the CSV |\n| detach optionnel | Number | * number of device unpairing actions |\n| delimiter | string | * the CSV delimiter |\n| profiles | Object | * the managed profiles |\n| name | string | * the managed profiles name |\n| valid | Boolean | * the managed profiles validity |\n| assignedBefore | Number | * the assigned number of managed profiles before this import |\n| assignedAfter | Number | * the assigned number of managed profiles after this import has been fulfilled |\n| max | Number | * the maximum number of managed profiles available |"
      }
    ],
    "longname": "module:AdminService#checkCSVdata",
    "memberof": "module:AdminService",
    "$longname": "AdminService#checkCSVdata",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method checkCSVdataForSynchronizeDirectory\n     * @since 2.15.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @description\n     *      This API checks a CSV UTF-8 content for mass-provisioning for directory mode.</br>\n     *      All the entries defined in the CSV data are relative to the same company directory. </BR>\n     *      In case a query parameter commandId is added, the following event is sent to the initiator of the command: \"rainbow_onconnectorcommandended\"</BR>\n     *          </BR>\n     *      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.</BR>\n     *      Supported fields are:</BR>\n     *      __action__ : delete, upsert or sync</BR>\n     *      ldap_id : (mandatory)</BR>\n     *      *</BR>\n     *      firstName</BR>\n     *      lastName</BR>\n     *      companyName</BR>\n     *      workPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     *      mobilePhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     *      otherPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     *      tag{n} : (n is a number starting from 0 to 4)</BR>\n     *      department</BR>\n     *      street</BR>\n     *      city</BR>\n     *      postalCode</BR>\n     *      state</BR>\n     *      country</BR>\n     *      jobTitle</BR>\n     *      eMail</BR>\n     *      custom1</BR>\n     *      custom2</BR>\n     *      </BR>\n     *      delete: allows to delete an entry. upsert: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     *      Remark: empty fields are not taken into account. sync: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     *      Remark: empty fields are taken into account (if a field is empty we will try to update it with empty value).</BR>\n     *      </BR>\n     *      return an {Object}  of synchronization data. </BR>\n     * @return {Promise<any>}\n     * @param {string} delimiter=\"%\" CSV delimiter character (will be determined by analyzing the CSV file if not provided)\n     * @param {string} comment CSV comment start character. Default value : %\n     * @param {string} commandId commandId if the check csv request comes from connector on behalf of admin command, ity will generates a report\n     * @param {string} commandId label A text description of this import\n     * @param {string} csvData string with the body of the CSV data.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8374,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "checkCSVdataForSynchronizeDirectory",
    "since": "2.15.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "description": "This API checks a CSV UTF-8 content for mass-provisioning for directory mode.</br>\n     All the entries defined in the CSV data are relative to the same company directory. </BR>\n     In case a query parameter commandId is added, the following event is sent to the initiator of the command: \"rainbow_onconnectorcommandended\"</BR>\n         </BR>\n     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.</BR>\n     Supported fields are:</BR>\n     __action__ : delete, upsert or sync</BR>\n     ldap_id : (mandatory)</BR>\n     *</BR>\n     firstName</BR>\n     lastName</BR>\n     companyName</BR>\n     workPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     mobilePhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     otherPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     tag{n} : (n is a number starting from 0 to 4)</BR>\n     department</BR>\n     street</BR>\n     city</BR>\n     postalCode</BR>\n     state</BR>\n     country</BR>\n     jobTitle</BR>\n     eMail</BR>\n     custom1</BR>\n     custom2</BR>\n     </BR>\n     delete: allows to delete an entry. upsert: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     Remark: empty fields are not taken into account. sync: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     Remark: empty fields are taken into account (if a field is empty we will try to update it with empty value).</BR>\n     </BR>\n     return an {Object}  of synchronization data. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"%\"",
        "description": "CSV delimiter character (will be determined by analyzing the CSV file if not provided)",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CSV comment start character. Default value : %",
        "name": "comment"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "commandId if the check csv request comes from connector on behalf of admin command, ity will generates a report",
        "name": "commandId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "label A text description of this import",
        "name": "commandId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "string with the body of the CSV data.",
        "name": "csvData"
      }
    ],
    "longname": "module:AdminService#checkCSVdataForSynchronizeDirectory",
    "memberof": "module:AdminService",
    "$longname": "AdminService#checkCSVdataForSynchronizeDirectory",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method checkCSVDataOfSynchronizationUsingRainbowvoiceMode\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} companyId companyId of the users in the CSV file, default to admin's companyId\n     * @param {string} delimiter the CSV delimiter character (will be determined by analyzing the CSV file if not provided)\n     * @param {string} comment=\"%\" the CSV comment start character, use double quotes in field values to escape this character. Default value : %\n     * @param {any} data The body of the POST.\n     * @description\n     *    This API checks a CSV UTF-8 content for mass-provisioning for rainbowvoice mode. Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. </br>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | * check results summary |\n     * | reqId | string | * check request identifier |\n     * | mode | string | * request csv mode</BR></BR>Possible values : `rainbowvoide` |\n     * | actions | Object | * actions information |\n     * | upsert optionnel | Number | * number of user create/update actions |\n     * | delete optionnel | Number | * number of user remove actions |\n     * | columns | Number | * number of columns in the CSV |\n     * | detach optionnel | Number | * number of device unpairing actions |\n     * | delimiter | string | * the CSV delimiter |\n     * | profiles | Object | * the managed profiles |\n     * | name | string | * the managed profiles name |\n     * | valid | Boolean | * the managed profiles validity |\n     * | assignedBefore | Number | * the assigned number of managed profiles before this import |\n     * | assignedAfter | Number | * the assigned number of managed profiles after this import has been fulfilled |\n     * | max | Number | * the maximum number of managed profiles available |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7867,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "checkCSVDataOfSynchronizationUsingRainbowvoiceMode",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "companyId of the users in the CSV file, default to admin's companyId",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the CSV delimiter character (will be determined by analyzing the CSV file if not provided)",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"%\"",
        "description": "the CSV comment start character, use double quotes in field values to escape this character. Default value : %",
        "name": "comment"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "The body of the POST.",
        "name": "data"
      }
    ],
    "description": "This API checks a CSV UTF-8 content for mass-provisioning for rainbowvoice mode. Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. </br>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | * check results summary |\n| reqId | string | * check request identifier |\n| mode | string | * request csv mode</BR></BR>Possible values : `rainbowvoide` |\n| actions | Object | * actions information |\n| upsert optionnel | Number | * number of user create/update actions |\n| delete optionnel | Number | * number of user remove actions |\n| columns | Number | * number of columns in the CSV |\n| detach optionnel | Number | * number of device unpairing actions |\n| delimiter | string | * the CSV delimiter |\n| profiles | Object | * the managed profiles |\n| name | string | * the managed profiles name |\n| valid | Boolean | * the managed profiles validity |\n| assignedBefore | Number | * the assigned number of managed profiles before this import |\n| assignedAfter | Number | * the assigned number of managed profiles after this import has been fulfilled |\n| max | Number | * the maximum number of managed profiles available |"
      }
    ],
    "longname": "module:AdminService#checkCSVDataOfSynchronizationUsingRainbowvoiceMode",
    "memberof": "module:AdminService",
    "$longname": "AdminService#checkCSVDataOfSynchronizationUsingRainbowvoiceMode",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method checkCSVforSynchronization\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} CSVTxt CSV File content to be checked.\n     * @param {string} companyId ompanyId of the users in the CSV file, default to admin's companyId.\n     * @param {string} delimiter the CSV delimiter character (will be determined by analyzing the CSV file if not provided).\n     * @param {string} comment= \"%\" the CSV comment start character, use double quotes in field values to escape this character.\n     * @param {string} commandId if the check csv request comes from connector on behalf of admin command, it will generates a report.\n     * @description\n     *      This API checks a CSV UTF-8 content for mass-provisioning for useranddevice mode.</BR>\n     *      Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. </BR>\n     *      { </BR>\n     *           actions {Object} actions information </BR>\n     *               sync optionnel {number} number of user synchronization actions </BR>\n     *               upsert optionnel {number} number of user create/update actions </BR>\n     *               delete optionnel {number} number of user remove actions </BR>\n     *               detach optionnel {number} number of device unpairing actions </BR>\n     *           reqId {string} check request identifier </BR>\n     *           mode {string} request csv mode Possible values : user, device </BR>\n     *           columns {number} number of columns in the CSV </BR>\n     *           delimiter {string} the CSV delimiter </BR>\n     *           profiles {Object} the managed profiles </BR>\n     *              name {string} the managed profiles name </BR>\n     *              valid {boolean} the managed profiles validity </BR>\n     *              assignedBefore {number} the assigned number of managed profiles before this import </BR>\n     *              assignedAfter {number} the assigned number of managed profiles after this import has been fulfilled </BR>\n     *              max number the {maximum} number of managed profiles available </BR>\n     *      } </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8104,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "checkCSVforSynchronization",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CSV File content to be checked.",
        "name": "CSVTxt"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ompanyId of the users in the CSV file, default to admin's companyId.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the CSV delimiter character (will be determined by analyzing the CSV file if not provided).",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "\"%\" the CSV comment start character, use double quotes in field values to escape this character.",
        "name": "comment="
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "if the check csv request comes from connector on behalf of admin command, it will generates a report.",
        "name": "commandId"
      }
    ],
    "description": "This API checks a CSV UTF-8 content for mass-provisioning for useranddevice mode.</BR>\n     Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. </BR>\n     { </BR>\n          actions {Object} actions information </BR>\n              sync optionnel {number} number of user synchronization actions </BR>\n              upsert optionnel {number} number of user create/update actions </BR>\n              delete optionnel {number} number of user remove actions </BR>\n              detach optionnel {number} number of device unpairing actions </BR>\n          reqId {string} check request identifier </BR>\n          mode {string} request csv mode Possible values : user, device </BR>\n          columns {number} number of columns in the CSV </BR>\n          delimiter {string} the CSV delimiter </BR>\n          profiles {Object} the managed profiles </BR>\n             name {string} the managed profiles name </BR>\n             valid {boolean} the managed profiles validity </BR>\n             assignedBefore {number} the assigned number of managed profiles before this import </BR>\n             assignedAfter {number} the assigned number of managed profiles after this import has been fulfilled </BR>\n             max number the {maximum} number of managed profiles available </BR>\n     } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#checkCSVforSynchronization",
    "memberof": "module:AdminService",
    "$longname": "AdminService#checkCSVforSynchronization",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method completeLogsContext\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users Logs\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} logId Logs context unique identifier\n     * @param {string} occurrenceDate Date when the issue occurred (ISO-8601 UTC format).\n     * @param {string} occurrenceDateTimezone Timezone name when the issue occurred. </BR>\n     * Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones). </BR>\n     * Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) </BR>\n     * @param {string} description Issue description\n     * @param {string} externalRef Free field\n     * @param {string} device Device type </BR>\n     * Note: room corresponds to Rainbow Room </BR>\n     * Possibles values : android, desktop, ios, room, web </BR>\n     * @param {Array<string>} attachments An Array of file descriptor Id.\n     * * Forbidden when type is `feedback`. All attachments are awaited during the logs context creation in thi scenario.\n     * * Mandatory with at least one valid fileId when type is `feedback` and logged in user is a user or a Rainbow room (TV user) When the logs context is updated with some valid attachments, the logged in user looses his ownership for theses files.\n     * @param {string} version Device version\n     * @param {object} deviceDetails When relevant, optional details regarding the device on which the issue occurred\n     * * hardware optionnel Object When relevant, details regarding the hardware of the device on which the issue occurred\n     * * manufacturer optionnel string When relevant, manufacturer of the device on which the issue occurred\n     * * model optionnel string When relevant, model of the device on which the issue occurred\n     * * os optionnel Object When relevant, details regarding the Operating System on which the issue occurred\n     * * name optionnel string When relevant, name of the Operating System on which the issue occurred\n     * * version optionnel string When relevant, version of the Operating System on which the issue occurred\n     * * browser optionnel Object When relevant, details regarding the browser on which the issue occurred\n     * * name optionnel string When relevant, name of the browser on which the issue occurred\n     * * version optionnel string When relevant, name of the browser on which the issue occurred\n     * @description\n     *     This API allows to completethe logs context. </BR>\n     *     When an Admin or Emily bot ask to manage a user, this user must complete the logs context with all awaited data. </BR>\n     * </BR>\n     * * device </BR>\n     * * version </BR>\n     * * description </BR>\n     * * attachments </BR>\n     * </BR>\n     * We let administrators to update some logs context fields at anytime, like: </BR>\n     * </BR>\n     * * device </BR>\n     * * version </BR>\n     * * description </BR>\n     * * externalRef </BR>\n     * </BR>\n     * To discriminate the user and TV role from the administrator role we applies the following rules: </BR>\n     * </BR>\n     * * TV role is a single role then assimilated to a Rainbow user, we ask to complete an 'ask' log context. </BR>\n     * * When userId URL parameter is the logged in user id, then this user he is also assimilated to a Rainbow user we ask to complete an 'ask' log context. </BR>\n     * * When userId URL parameter is not the logged in user id, then we consider an administrator or a bot trying to update a logs context. </BR>\n     * </BR>\n     * Following constraints are applied (errorDetailsCode: 409004) </BR>\n     * </BR>\n     * * The logs context 'userId' field must match the value given as URL parameter </BR>\n     * * A user or a rainbow TV can't updates a logs contexts when 'userId' field is not his userId and when the logs context type is 'feedback' </BR>\n     * * Attachments are mandatory when a user or a rainbow TV updates a logs context, and no attachments are linked yet </BR>\n     * * Can't override 'attachments' field when logs context has already some attached files </BR>\n     * * An administrator updating a logs context can't set 'attachments' field </BR>\n     * * A user or a rainbow TV updating a logs context can't change the field externalRef reserved for administrators purpose. </BR>\n     * </BR>\n     * Obviously when some files need to be attached, some constraints may lead to an error (errorDetailsCode: 409003) </BR>\n     * </BR>\n     * * file doesn't exist </BR>\n     * * file not uploaded </BR>\n     * * file doesn't belong to the userId </BR>\n     * * file is not a log file (the file descriptor must include the field 'tags.purpose' = \"logs\" or 'tags.purpose' = \"client_logs\" </BR>\n     * * permission must be granted before attaching files. See `acknowledgeLogsRequest` </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * exemple of result :\n     * {\n     * \"id\": \"5e5f677a513f6721706bddeb\",\n     * \"type\": \"feedback\",\n     * \"permission\": \"granted\",\n     * \"userId\": \"5cca97863cba1119f22f062f\",\n     * \"userDisplayName\": \"John Doe\",\n     * \"companyId\": \"57e2b30c89a091b21e843924\",\n     * \"companyName\": \"My company\",\n     * \"problemNumber\": 2,\n     * \"creationDate\": \"2020-03-04T08:31:54.426Z\",\n     * \"occurrenceDate\": \"2020-03-04T08:15:00.000Z\",\n     * \"occurrenceDateTimezone\": \"Europe/Paris\",\n     * \"description\": \"Hello Houston, we've got a problem.\",\n     * \"device\": \"android\",\n     * \"version\": \"1.67.5\",\n     * \"deviceDetails\": {\n     *  \"hardware\": {\n     *      \"manufacturer\": \"Samsung\",\n     *      \"model\": \"Galaxy S21\"\n     *  },\n     *  \"os\": {\n     *      \"name\": \"Android\",\n     *      \"version\": \"11\"\n     *  }\n     * },\n     * \"attachments\": \\[\"5e5fecb299821728abb63e6d\"\\]\n     * }\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14895,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "completeLogsContext",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier",
        "name": "logId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Date when the issue occurred (ISO-8601 UTC format).",
        "name": "occurrenceDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Timezone name when the issue occurred. </BR>\nAllowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones). </BR>\nTimezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) </BR>",
        "name": "occurrenceDateTimezone"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Issue description",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field",
        "name": "externalRef"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Device type </BR>\nNote: room corresponds to Rainbow Room </BR>\nPossibles values : android, desktop, ios, room, web </BR>",
        "name": "device"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "An Array of file descriptor Id.\n* Forbidden when type is `feedback`. All attachments are awaited during the logs context creation in thi scenario.\n* Mandatory with at least one valid fileId when type is `feedback` and logged in user is a user or a Rainbow room (TV user) When the logs context is updated with some valid attachments, the logged in user looses his ownership for theses files.",
        "name": "attachments"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Device version",
        "name": "version"
      },
      {
        "type": {
          "names": [
            "object"
          ]
        },
        "description": "When relevant, optional details regarding the device on which the issue occurred\n* hardware optionnel Object When relevant, details regarding the hardware of the device on which the issue occurred\n* manufacturer optionnel string When relevant, manufacturer of the device on which the issue occurred\n* model optionnel string When relevant, model of the device on which the issue occurred\n* os optionnel Object When relevant, details regarding the Operating System on which the issue occurred\n* name optionnel string When relevant, name of the Operating System on which the issue occurred\n* version optionnel string When relevant, version of the Operating System on which the issue occurred\n* browser optionnel Object When relevant, details regarding the browser on which the issue occurred\n* name optionnel string When relevant, name of the browser on which the issue occurred\n* version optionnel string When relevant, name of the browser on which the issue occurred",
        "name": "deviceDetails"
      }
    ],
    "description": "This API allows to completethe logs context. </BR>\n    When an Admin or Emily bot ask to manage a user, this user must complete the logs context with all awaited data. </BR>\n</BR>\n* device </BR>\n* version </BR>\n* description </BR>\n* attachments </BR>\n</BR>\nWe let administrators to update some logs context fields at anytime, like: </BR>\n</BR>\n* device </BR>\n* version </BR>\n* description </BR>\n* externalRef </BR>\n</BR>\nTo discriminate the user and TV role from the administrator role we applies the following rules: </BR>\n</BR>\n* TV role is a single role then assimilated to a Rainbow user, we ask to complete an 'ask' log context. </BR>\n* When userId URL parameter is the logged in user id, then this user he is also assimilated to a Rainbow user we ask to complete an 'ask' log context. </BR>\n* When userId URL parameter is not the logged in user id, then we consider an administrator or a bot trying to update a logs context. </BR>\n</BR>\nFollowing constraints are applied (errorDetailsCode: 409004) </BR>\n</BR>\n* The logs context 'userId' field must match the value given as URL parameter </BR>\n* A user or a rainbow TV can't updates a logs contexts when 'userId' field is not his userId and when the logs context type is 'feedback' </BR>\n* Attachments are mandatory when a user or a rainbow TV updates a logs context, and no attachments are linked yet </BR>\n* Can't override 'attachments' field when logs context has already some attached files </BR>\n* An administrator updating a logs context can't set 'attachments' field </BR>\n* A user or a rainbow TV updating a logs context can't change the field externalRef reserved for administrators purpose. </BR>\n</BR>\nObviously when some files need to be attached, some constraints may lead to an error (errorDetailsCode: 409003) </BR>\n</BR>\n* file doesn't exist </BR>\n* file not uploaded </BR>\n* file doesn't belong to the userId </BR>\n* file is not a log file (the file descriptor must include the field 'tags.purpose' = \"logs\" or 'tags.purpose' = \"client_logs\" </BR>\n* permission must be granted before attaching files. See `acknowledgeLogsRequest` </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\nexemple of result :\n{\n\"id\": \"5e5f677a513f6721706bddeb\",\n\"type\": \"feedback\",\n\"permission\": \"granted\",\n\"userId\": \"5cca97863cba1119f22f062f\",\n\"userDisplayName\": \"John Doe\",\n\"companyId\": \"57e2b30c89a091b21e843924\",\n\"companyName\": \"My company\",\n\"problemNumber\": 2,\n\"creationDate\": \"2020-03-04T08:31:54.426Z\",\n\"occurrenceDate\": \"2020-03-04T08:15:00.000Z\",\n\"occurrenceDateTimezone\": \"Europe/Paris\",\n\"description\": \"Hello Houston, we've got a problem.\",\n\"device\": \"android\",\n\"version\": \"1.67.5\",\n\"deviceDetails\": {\n \"hardware\": {\n     \"manufacturer\": \"Samsung\",\n     \"model\": \"Galaxy S21\"\n },\n \"os\": {\n     \"name\": \"Android\",\n     \"version\": \"11\"\n }\n},\n\"attachments\": \\[\"5e5fecb299821728abb63e6d\"\\]\n}"
      }
    ],
    "longname": "module:AdminService#completeLogsContext",
    "memberof": "module:AdminService",
    "$longname": "AdminService#completeLogsContext",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createAClientVersion\n     * @since 2.5.0\n     * @instance\n     * @param {string} id Unique identifier of the application to which the client version refer. Default value is the AppId provided to login the SDK.\n     * @param {string} version App version\n     * @async\n     * @category Clients Versions\n     * @description\n     *      This API can be used to define the minimal required version for a given client application.</BR>\n     *      When a minimal required version is defined for a client application, if a user using an older version of this application tries to login to Rainbow, the login is forbidden with a specific error code (403020). </BR>\n     *      In that case, the client application can show an error message to the user requesting him to update his application.</BR>\n     *      To be noted that the application must provide the header x-rainbow-client-version with its current version so that this check can be performed.</BR>\n     *      Users with superadmin role can define the minimal required version for any client applications.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13402,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Clients Versions",
        "value": "Clients Versions"
      }
    ],
    "kind": "function",
    "name": "createAClientVersion",
    "since": "2.5.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the application to which the client version refer. Default value is the AppId provided to login the SDK.",
        "name": "id"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "App version",
        "name": "version"
      }
    ],
    "async": true,
    "description": "This API can be used to define the minimal required version for a given client application.</BR>\n     When a minimal required version is defined for a client application, if a user using an older version of this application tries to login to Rainbow, the login is forbidden with a specific error code (403020). </BR>\n     In that case, the client application can show an error message to the user requesting him to update his application.</BR>\n     To be noted that the application must provide the header x-rainbow-client-version with its current version so that this check can be performed.</BR>\n     Users with superadmin role can define the minimal required version for any client applications.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createAClientVersion",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createAClientVersion",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createACloudPBX\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} bpId Identifier of the BP to which CloudPBX should be linked with.\n     * @param {string} companyId Required Identifier of the company for which CloudPBX should be created.\n     * @param {string} customSipHeader_1 Value to put as CustomSipHeader_1 into SIP data for an external outgoing call.\n     * @param {string} customSipHeader_2 Value to put as CustomSipHeader_2 into SIP data for an external outgoing call.\n     * @param {string} externalTrunkId External trunk identifier that should be linked to this CloudPBX.\n     * @param {string} language Associated language for this CloudPBX. Values : \"ro\" \"es\" \"it\" \"de\" \"ru\" \"fr\" \"en\" \"ar\" \"he\" \"nl\".  default : \"en\".\n     * @param {string} name CloudPBX name. If not provided, will be something like 'cloud_pbx_companyName'.\n     * @param {number} noReplyDelay In case of overflow no reply forward on subscribers, timeout in seconds after which the call will be forwarded. Default 20.\n     * @param {number} numberingDigits Number of digits for CloudPBX numbering plan. If a numberingPrefix is provided, this parameter is mandatory. </BR>\n     * For example, if numberingPrefix is 8 and numberingDigits is 4, allowed numbers for this CloudPBX will be from 8000 to 8999.\n     * @param {number} numberingPrefix Prefix for CloudPBX numbering plan.\n     * @param {number} outgoingPrefix Company outgoing prefix.\n     * @param {boolean} routeInternalCallsToPeer Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk).\n     * @param {string} siteId Identifier of the site on which CloudPBX should be created.\n     * @description\n     *      This API allows to create a CloudPBX for a given company. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9845,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "createACloudPBX",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Identifier of the BP to which CloudPBX should be linked with.",
        "name": "bpId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Required Identifier of the company for which CloudPBX should be created.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Value to put as CustomSipHeader_1 into SIP data for an external outgoing call.",
        "name": "customSipHeader_1"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Value to put as CustomSipHeader_2 into SIP data for an external outgoing call.",
        "name": "customSipHeader_2"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "External trunk identifier that should be linked to this CloudPBX.",
        "name": "externalTrunkId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Associated language for this CloudPBX. Values : \"ro\" \"es\" \"it\" \"de\" \"ru\" \"fr\" \"en\" \"ar\" \"he\" \"nl\".  default : \"en\".",
        "name": "language"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX name. If not provided, will be something like 'cloud_pbx_companyName'.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "In case of overflow no reply forward on subscribers, timeout in seconds after which the call will be forwarded. Default 20.",
        "name": "noReplyDelay"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Number of digits for CloudPBX numbering plan. If a numberingPrefix is provided, this parameter is mandatory. </BR>\nFor example, if numberingPrefix is 8 and numberingDigits is 4, allowed numbers for this CloudPBX will be from 8000 to 8999.",
        "name": "numberingDigits"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Prefix for CloudPBX numbering plan.",
        "name": "numberingPrefix"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Company outgoing prefix.",
        "name": "outgoingPrefix"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk).",
        "name": "routeInternalCallsToPeer"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Identifier of the site on which CloudPBX should be created.",
        "name": "siteId"
      }
    ],
    "description": "This API allows to create a CloudPBX for a given company. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createACloudPBX",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createACloudPBX",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createAJoinCompanyLink\n     * @instance\n     * @description\n     *      This API can be used by company admin users to create a join company link for his company. </BR>\n     *      Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>\n     * @async\n     * @param {string} companyId Company unique identifier. Default value is the current logued in user's company. </br>\n     * @param {string} description Join company link description.\n     * @param {boolean} isEnabled=true Boolean allowing to enable or disable the join company link. </BR>\n     * * if the link is enabled, users can register using it, </BR>\n     * * if the link is disabled, users can't register using it. </BR>\n     * Default value : `true`\n     * @param {string} expirationDate Date of expiration of the Join company link </BR>\n     * If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. </BR>\n     * * `expirationDate` has to be provided in UTC timezone. </BR>\n     * * `expirationDate` must be greater than the current date (not possible to set expirationDate to a passed date). </BR>\n     * @param {number} maxNumberUsers  Maximum number of users allowed to register in the company using this join company link. </BR> If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied.\n     * @category Company join companies links\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company link unique Id |\n     * | companyId | string | Company related to the join company link |\n     * | creationDate | Date-Time | Creation date of the join company link |\n     * | createdByAdminId | string | Unique Id of the admin who created the join company link |\n     * | description optionnel | string | Join company link description |\n     * | isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n     * | expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n     * | maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n     * | nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 531,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company join companies links",
        "value": "Company join companies links"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "createAJoinCompanyLink",
    "scope": "instance",
    "description": "This API can be used by company admin users to create a join company link for his company. </BR>\n     Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier. Default value is the current logued in user's company. </br>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company link description.",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Boolean allowing to enable or disable the join company link. </BR>\n* if the link is enabled, users can register using it, </BR>\n* if the link is disabled, users can't register using it. </BR>\nDefault value : `true`",
        "name": "isEnabled"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Date of expiration of the Join company link </BR>\nIf a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. </BR>\n* `expirationDate` has to be provided in UTC timezone. </BR>\n* `expirationDate` must be greater than the current date (not possible to set expirationDate to a passed date). </BR>",
        "name": "expirationDate"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Maximum number of users allowed to register in the company using this join company link. </BR> If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied.",
        "name": "maxNumberUsers"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company link unique Id |\n| companyId | string | Company related to the join company link |\n| creationDate | Date-Time | Creation date of the join company link |\n| createdByAdminId | string | Unique Id of the admin who created the join company link |\n| description optionnel | string | Join company link description |\n| isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n| expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n| maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n| nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |"
      }
    ],
    "longname": "module:AdminService#createAJoinCompanyLink",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createAJoinCompanyLink",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method createAnAtriumTicket\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users ticket\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} subject Subject of the new ticket\n     * @param {string} description Description of the new ticket\n     * @param {string} additionalDescription Additional information if necessary\n     * @param {string} resource  resource used to generate anomaly\n     * @param {string} externalRef external reference used\n     * @param {Array<string>} logs An Array of log Id regarding the anomaly.\n     * @description\n     *     This API allows to Initialise a context from logs to submit a ticket to Zendesk. </BR>\n     *     This context may contains </BR>\n     * * externalRef </BR>\n     * * subject </BR>\n     * * description </BR>\n     * * additional description </BR>\n     * * resource </BR>\n     * * logs. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * example of result :\n     * ```json\n     * {\n     * \"externalRef\": \"xxxxxxx\",\n     * \"internalRef\": \"xxxxxxx\",\n     * \"subject\": \"ringing problem\",\n     * \"description\": \"Hello Houston, we've got a problem.\",\n     * \"additionalDescription\": \"my phone neither\",\n     * \"resource\": \"web\\_win\\_xxxxx\",\n     * \"logs\": []\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15442,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "createAnAtriumTicket",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users ticket",
        "value": "Customer Care - Users ticket"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Subject of the new ticket",
        "name": "subject"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Description of the new ticket",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Additional information if necessary",
        "name": "additionalDescription"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "resource used to generate anomaly",
        "name": "resource"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "external reference used",
        "name": "externalRef"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "An Array of log Id regarding the anomaly.",
        "name": "logs"
      }
    ],
    "description": "This API allows to Initialise a context from logs to submit a ticket to Zendesk. </BR>\n    This context may contains </BR>\n* externalRef </BR>\n* subject </BR>\n* description </BR>\n* additional description </BR>\n* resource </BR>\n* logs. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\nexample of result :\n```json\n{\n\"externalRef\": \"xxxxxxx\",\n\"internalRef\": \"xxxxxxx\",\n\"subject\": \"ringing problem\",\n\"description\": \"Hello Houston, we've got a problem.\",\n\"additionalDescription\": \"my phone neither\",\n\"resource\": \"web\\_win\\_xxxxx\",\n\"logs\": []\n}\n```"
      }
    ],
    "longname": "module:AdminService#createAnAtriumTicket",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createAnAtriumTicket",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createAnonymousGuestUser\n     * @since 1.31\n     * @deprecated since version 2.38.0\n     * @instance\n     * @description\n     *      Create a new anonymous guest user in the same company as the requester admin   </BR>\n     *      Anonymous guest user is user without name and firstname   </BR>\n     * @param {number} timeToLive Allow to provide a duration in second to wait before starting a user deletion from the creation date\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Created anonymous guest user in company or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1664,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Created anonymous guest user in company or an error object depending on the result",
        "value": "{Object} - Created anonymous guest user in company or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "createAnonymousGuestUser",
    "since": "1.31",
    "deprecated": "since version 2.38.0",
    "scope": "instance",
    "description": "Create a new anonymous guest user in the same company as the requester admin   </BR>\n     Anonymous guest user is user without name and firstname   </BR>",
    "params": [
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to provide a duration in second to wait before starting a user deletion from the creation date",
        "name": "timeToLive"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createAnonymousGuestUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createAnonymousGuestUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to create an application.\n     *\n     * </br> Users with `superadmin` role can create an application.\n     * </br> Users with `admin` role can create an application.\n     * </br> Users with `app_admin` role can create an application.\n     * </br> Users with `app_superadmin` role can create an application.\n     *\n     * @async\n     * @param {string} name Application name\n     * @param {string} platform Application platform\n     * @param {string} ownerId Application owner unique identifier\n     * @param {boolean} isPublished Is application published\n     * @param {boolean} appKeyOnly Application uses only an application key for authentication\n     * @param {boolean} appKeyAndSecret Application uses an application key and a secret for authentication\n     * @param {boolean} appKeyAndSecretAndJwt Application uses an application key, a secret and a JWT for authentication\n     * @param {boolean} appKeyAndJwtSecret Application uses an application key and a JWT secret for authentication\n     * @param {boolean} appKeyAndJwtAndSecret Application uses an application key, a JWT and a secret for authentication\n     * @param {boolean} appKeyAndJwtAndSecretAndRedirectUri Application uses an application key, a JWT, a secret and a redirect URI for authentication\n     * @category Applications\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id | string | Application unique identifier |\n     * | name | string | Application name |\n     * | platform | string | Application platform |\n     * | ownerId | string | Application owner unique identifier |\n     * | ownerEmail | string | Application owner email |\n     * | creationDate | string | Application creation date |\n     * | isPublished | boolean | Is application published |\n     * | appKeyOnly | boolean | Application uses only an application key for authentication |\n     * | appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n     * | appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n     * | appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n     * | appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n     * | appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n     * | appSecret | string | Application secret |\n     * | appKey | string | Application key |\n     * | jwtSecret | string | JWT secret |\n     * | redirectUris | array | Array of redirect URIs |\n     * | status | string | Application status |\n     * | type | string | Application type |\n     * | origin | string | Application origin |\n     * | blocked | boolean | Is application blocked |\n     * | blockedDate | string | Application blocked date |\n     * | blockedReason | string | Application blocked reason |\n     * | blockedBy | string | Application blocked by |\n     * | blockedByEmail | string | Application blocked by email |\n     * | lastLoginDate | string | Application last login date |\n     * | lastLoginIp | string | Application last login IP |\n     * | rateLimitPerSecond | number | Application rate limit per second |\n     * | rateLimitPerDay | number | Application rate limit per day |\n     * | rateLimitPerMonth | number | Application rate limit per month |\n     * | requestsCount | number | Application requests count |\n     * | requestsCountToday | number | Application requests count today |\n     * | requestsCountThisMonth | number | Application requests count this month |\n     * | requestsCountHistory | array | Application requests count history |\n     *\n     * </br>example of result :\n     * ```json\n     * {\n     *     \"id\": \"5c9be7d7da30af091cf57b43\",\n     *     \"name\": \"My Application\",\n     *     \"platform\": \"web\",\n     *     \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n     *     \"ownerEmail\": \"john.doe@example.com\",\n     *     \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"isPublished\": true,\n     *     \"appKeyOnly\": true,\n     *     \"appKeyAndSecret\": false,\n     *     \"appKeyAndSecretAndJwt\": false,\n     *     \"appKeyAndJwtSecret\": false,\n     *     \"appKeyAndJwtAndSecret\": false,\n     *     \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n     *     \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"redirectUris\": [\n     *         \"https://example.com/callback\"\n     *     ],\n     *     \"status\": \"active\",\n     *     \"type\": \"web\",\n     *     \"origin\": \"user\",\n     *     \"blocked\": false,\n     *     \"blockedDate\": null,\n     *     \"blockedReason\": null,\n     *     \"blockedBy\": null,\n     *     \"blockedByEmail\": null,\n     *     \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"lastLoginIp\": \"192.168.1.1\",\n     *     \"rateLimitPerSecond\": 10,\n     *     \"rateLimitPerDay\": 1000,\n     *     \"rateLimitPerMonth\": 30000,\n     *     \"requestsCount\": 100,\n     *     \"requestsCountToday\": 10,\n     *     \"requestsCountThisMonth\": 100,\n     *     \"requestsCountHistory\": [\n     *         {\n     *             \"date\": \"2019-03-27T15:00:00.000Z\",\n     *             \"count\": 10\n     *         }\n     *     ]\n     * }\n     * ```\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16663,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "createApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to create an application.\n\n</br> Users with `superadmin` role can create an application.\n</br> Users with `admin` role can create an application.\n</br> Users with `app_admin` role can create an application.\n</br> Users with `app_superadmin` role can create an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application name",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application platform",
        "name": "platform"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application owner unique identifier",
        "name": "ownerId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Is application published",
        "name": "isPublished"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Application uses only an application key for authentication",
        "name": "appKeyOnly"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Application uses an application key and a secret for authentication",
        "name": "appKeyAndSecret"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Application uses an application key, a secret and a JWT for authentication",
        "name": "appKeyAndSecretAndJwt"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Application uses an application key and a JWT secret for authentication",
        "name": "appKeyAndJwtSecret"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Application uses an application key, a JWT and a secret for authentication",
        "name": "appKeyAndJwtAndSecret"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Application uses an application key, a JWT, a secret and a redirect URI for authentication",
        "name": "appKeyAndJwtAndSecretAndRedirectUri"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id | string | Application unique identifier |\n| name | string | Application name |\n| platform | string | Application platform |\n| ownerId | string | Application owner unique identifier |\n| ownerEmail | string | Application owner email |\n| creationDate | string | Application creation date |\n| isPublished | boolean | Is application published |\n| appKeyOnly | boolean | Application uses only an application key for authentication |\n| appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n| appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n| appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n| appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n| appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n| appSecret | string | Application secret |\n| appKey | string | Application key |\n| jwtSecret | string | JWT secret |\n| redirectUris | array | Array of redirect URIs |\n| status | string | Application status |\n| type | string | Application type |\n| origin | string | Application origin |\n| blocked | boolean | Is application blocked |\n| blockedDate | string | Application blocked date |\n| blockedReason | string | Application blocked reason |\n| blockedBy | string | Application blocked by |\n| blockedByEmail | string | Application blocked by email |\n| lastLoginDate | string | Application last login date |\n| lastLoginIp | string | Application last login IP |\n| rateLimitPerSecond | number | Application rate limit per second |\n| rateLimitPerDay | number | Application rate limit per day |\n| rateLimitPerMonth | number | Application rate limit per month |\n| requestsCount | number | Application requests count |\n| requestsCountToday | number | Application requests count today |\n| requestsCountThisMonth | number | Application requests count this month |\n| requestsCountHistory | array | Application requests count history |\n\n</br>example of result :\n```json\n{\n    \"id\": \"5c9be7d7da30af091cf57b43\",\n    \"name\": \"My Application\",\n    \"platform\": \"web\",\n    \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n    \"ownerEmail\": \"john.doe@example.com\",\n    \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n    \"isPublished\": true,\n    \"appKeyOnly\": true,\n    \"appKeyAndSecret\": false,\n    \"appKeyAndSecretAndJwt\": false,\n    \"appKeyAndJwtSecret\": false,\n    \"appKeyAndJwtAndSecret\": false,\n    \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n    \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"redirectUris\": [\n        \"https://example.com/callback\"\n    ],\n    \"status\": \"active\",\n    \"type\": \"web\",\n    \"origin\": \"user\",\n    \"blocked\": false,\n    \"blockedDate\": null,\n    \"blockedReason\": null,\n    \"blockedBy\": null,\n    \"blockedByEmail\": null,\n    \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n    \"lastLoginIp\": \"192.168.1.1\",\n    \"rateLimitPerSecond\": 10,\n    \"rateLimitPerDay\": 1000,\n    \"rateLimitPerMonth\": 30000,\n    \"requestsCount\": 100,\n    \"requestsCountToday\": 10,\n    \"requestsCountThisMonth\": 100,\n    \"requestsCountHistory\": [\n        {\n            \"date\": \"2019-03-27T15:00:00.000Z\",\n            \"count\": 10\n        }\n    ]\n}\n```"
      }
    ],
    "longname": "module:AdminService#createApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createASite\n     * @since 2.1.1\n     * @instance\n     * @async\n     * @category sites\n     * @param {string} name Site name. </BR>\n     *              Valid values : 1..255\n     * @param {string} status Site status. </BR>\n     *          Valid values : \"active\", \"alerting\", \"hold\", \"terminated\". </BR>\n     * @param {string} companyId Id of the company from which the site is linked.\n     * @description\n     *      This API allows administrators to create a site for a company they administrate.  </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11378,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "sites",
        "value": "sites"
      }
    ],
    "kind": "function",
    "name": "createASite",
    "since": "2.1.1",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site name. </BR>\n             Valid values : 1..255",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site status. </BR>\n         Valid values : \"active\", \"alerting\", \"hold\", \"terminated\". </BR>",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company from which the site is linked.",
        "name": "companyId"
      }
    ],
    "description": "This API allows administrators to create a site for a company they administrate.  </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createASite",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createASite",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createCloudPBXDDINumber\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} number DDI number\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers\n     * @description\n     *      This API allows to create a DDI number for a CloudPBX.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11063,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers"
      }
    ],
    "kind": "function",
    "name": "createCloudPBXDDINumber",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "DDI number",
        "name": "number"
      }
    ],
    "async": true,
    "description": "This API allows to create a DDI number for a CloudPBX.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createCloudPBXDDINumber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createCloudPBXDDINumber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method createCloudPBXGroup\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId company id unique identifier. Default value is the connected user's company.\n     * @param {HuntingGroup} huntingGroup (in RainbowVoiceCloudPBX type's file ) informations for the creation of the Hunting Group.\n     * @description\n     * This API allows to create a new cloud PBX Group.\n     * <br/> A group is a container for some Rainbow Users (e.g. 'Hunting Group'). Only company admin or superadmin can create a group.\n     * <br/>Inside a group, members can have the following possible roles:\n     * <ul>\n     *      <li><b>manager</b>: User has been given control on the group (can add / remove members, or change order in serial group)</li>\n     *      <li><b>agent</b>: User is a member of a 'default' or 'hg_attendant' hunting group, and will participate in the call distribution (if status is 'active')</li>\n     *      <li><b>leader</b>: User is a member of a 'manager_assistant' hunting group, and can receive calls as the <b><i>first</i></b> member in that group (if its status is 'active')</li>\n     *      <li><b>assistant</b>: User is a member of a 'manager_assistant' hunting group, and can receive calls after the leader (if its status is 'active'). Assistant has the right to control its leader filtering status</li>\n     * </ul>\n     * <br/>Members can cumulate roles: <br/>\n     * <ul>\n     *     <li>In 'default' or 'hg_attendant' members can be at the same time manager (i.e. managing members) and agent (participate in call distribution)</li>\n     *     <li>In 'manager_assistant' group, members can't cumulate 'leader' and 'assistant' roles. Only one member can have the 'leader' role in a group (and not in other groups !). Manager role can be added to any member</li>\n     * </ul>\n     * <br/>When a hunting group is created, members are set as active by default and eligible to call distribution. This behavior can be overridden by setting member status to 'idle'.\n     * <br/>Some checks are performed while requesting a group creation:\n     * <ul>\n     *     <li>Phone number (shortNumber) must be unique</li>\n     *     <li>External Number is the public phone of the group. If used, It must be retrieved from the cloud PBX provisioned DDI numbers</li>\n     *     <li>Creator of the hunting group must be superadmin or a company admin</li>\n     *     <li>Members must have an associated Cloud PBX subscriber (except manager of the hunting group)</li>\n     *     <li>Name of the group must contain only letters, digits or '-', '_'</li>\n     * </ul>\n     * <br/><br/>The status of the member can take the following possible values for a 'default' or 'hg_attendant' hunting_group:\n     * <ul>\n     *     <li><b>active</b>: An <b>active</b> agent will participate in call distribution. <b>active</b> manager is meaningless (except if roles also include agent).</li>\n     *     <li><b>idle</b>: An <b>idle</b> agent does not participate in call distribution, but is 'declared' as a member of the group. He can then join the group to participate in call distribution\n     *     (his status will be updated to <b>active</b> after joining the group). Leaving a group is also supported (status then changed from <b>active</b> to <b>idle</b>). See Voice portal for join/leave.\n     * </ul>\n     * <br/>In 'manager_assistant' hunting group, some specificities:\n     * <ul>\n     *     <li>The <b>active</b> status set on an assistant means this one is ready to receive manager's call, if this one has set filtering on, or has not replied to the call</li>\n     *     <li>The <b>active</b> status set on a leader (i.e. filtering status activated) means the leader has delegated the call processing to the assistant(s) declared in the group</li>\n     *     <li>A 'manager_assistant' hunting group is not allowed to be empty (must have at least one member with 'active' status)</li>\n     *     <li>A 'manager_assistant' hunting group can only have a serial policy, with the extra constraint to have the leader in first position></li>\n     * </ul>\n     * <br/><br/> The order of the members inside the group can be important, as for the serial or circular hunting group type this reflects the order of ringing of the members.\n     * <br/> Once a hunting group has been created, it is then possible to associate a public number to it, so that it can be called from public network. Refer to the group update operation.\n     * <br/>\n     * <br/> A specific and Unique (for a Cloud PBX) hunting group for managing Emergency Calls can be created by setting the attribute <b>isEmergencyGroup</b>.\n     * <br/> This emergency group is Unique for a cloud PBX; its policy is <b>parallel</b> and no public number can be associated\n     * <br/> Once activated (see rvcpprovisioning documentation - section \"<i>Cloud PBX / Update a Cloud PBX</i>\") ; emergency calls (done without outgoing prefix) will be redirected first to this Emergency Group\n     * <br/> Forwards (busy ; no-reply ; unavailable) are automatically managed onto the first emergency number (main emergency number in the list)\n     * <br/> Note that this attribute <b>isEmergencyGroup</b> cannot be updated\n     *\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field                                      | Type                                             | Description                                                               |\n     * |--------------------------------------------|--------------------------------------------------|---------------------------------------------------------------------------|\n     * | id                                    | string                                       | Group unique identifier                                                   |\n     * | name                                  | string                                       | Group name - displayed on the caller phone set for hunting group type     |\n     * | shortNumber                           | string                                       | Short phone number of the hunting group                                   |\n     * | externalNumber                        | string                                       | Public phone number on which the hunting group can be joined              |\n     * | externalNumberId                      | string                                       | Identifier of the public phone number of the hunting group                 |\n     * | roomId                                | string                                       | Identifier of the hunting group associated room                           |\n     * | phoneNumberId                         | string                                       | Identifier of the hunting group phone number                              |\n     * | createdBy                             | string                                       | Group creator identifier                                                  |\n     * | policy                                | HuntingGroupPolicy                          | Group policy of the hunting group.                                        |\n     * | timeout                               | 5-30                                         | Group timeout in seconds - specific to serial or circular group policy    |\n     * | type                                  | HuntingGroupType                            | Group type. DEPRECATED manager_assistant - see subType 'manager_assistant' |\n     * | subType                               | HuntingGroupSubType                         | Hunting group sub type.                                                   |\n     * | isRecordingActivated                  | Boolean                                     | Indicates if the recording is activated on the hunting group              |\n     * | recordingProfile                     | HuntingGroupProfiles                        | Recording profile of the hunting group.                                   |\n     * | isEmergencyGroup                      | Boolean                                     | Indicates if this hunting group is the emergency group for the associated Cloud PBX |\n     * | isEmptyAllowed                       | Boolean                                     | Indicates if the last active member can leave the hunting group or not   |\n     * | isDDIUpdateByManagerAllowed          | Boolean                                     | Indicates if changing the DDI of this hunting group by a manager is allowed or not |\n     * | companyId                            | string                                       | Identifier of the company owning the hunting group                        |\n     * | subscriberId                         | string                                       | Associated subscriber Id of the hunting group                             |\n     * | systemId                             | string                                       | Cloud PBX System unique identifier                                        |\n     * | members                              | Array                                        | List of group members                                                     |\n     * | members.memberId                     | string                                       | Member (user) unique identifier                                           |\n     * | members.displayName                  | string                                       | Member display name                                                       |\n     * | members.roles                        | HuntingGroupMemberRole                      | Member role inside the group. Possible values: manager, agent, leader, assistant |\n     * | members.status                       | HuntingGroupMemberStatus                    | Member status inside the group.                                           |\n     * | members.connected                    | HuntingGroupMemberConnection                | Hunting group member connected status inside the group. If status active and connected or deskphone, member could answer a group call |\n     * | analyticSettings                     | Object                                      | Group analytic settings                                                   |\n     * | analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean                     | Are group managers allowed to see members analytics                      |\n     *\n     *  example of result :\n     *  ```json\n     *  {\n     *          \"id\": \"5cd545b3a07de465fbc3fcda\",\n     *          \"name\": \"Group_1\",\n     *          \"type\": \"hunting_group\",\n     *          \"subType\": \"default\",\n     *          \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n     *          \"policy\": \"serial\",\n     *          \"shortNumber\": \"81002\",\n     *          \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n     *          \"externalNumber\": \"+33298564112\",\n     *          \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n     *          \"timeout\": 10,\n     *          \"isEmergencyGroup\": false,\n     *          \"isEmptyAllowed\": true,\n     *          \"isDDIUpdateByManagerAllowed\": true,\n     *          \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n     *          \"subscriberId\": 147,\n     *          \"systemId\": \"5de6a632c21aa17bab337347\",\n     *          \"members\": [\n     *              {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n     *              {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"disconnected\"},\n     *              {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"deskphone\"}\n     *          ],\n     *          \"isRecordingActivated\": false,\n     *          \"recordingProfile\": \"none\",\n     *          \"analyticSettings\": {\n     *              \"isManagersAllowedToSeeMembersAnalytics\": true\n     *          }\n     *  }\n     * ```\n     *\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15729,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "createCloudPBXGroup",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "company id unique identifier. Default value is the connected user's company.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "HuntingGroup"
          ]
        },
        "description": "(in RainbowVoiceCloudPBX type's file ) informations for the creation of the Hunting Group.",
        "name": "huntingGroup"
      }
    ],
    "description": "This API allows to create a new cloud PBX Group.\n<br/> A group is a container for some Rainbow Users (e.g. 'Hunting Group'). Only company admin or superadmin can create a group.\n<br/>Inside a group, members can have the following possible roles:\n<ul>\n     <li><b>manager</b>: User has been given control on the group (can add / remove members, or change order in serial group)</li>\n     <li><b>agent</b>: User is a member of a 'default' or 'hg_attendant' hunting group, and will participate in the call distribution (if status is 'active')</li>\n     <li><b>leader</b>: User is a member of a 'manager_assistant' hunting group, and can receive calls as the <b><i>first</i></b> member in that group (if its status is 'active')</li>\n     <li><b>assistant</b>: User is a member of a 'manager_assistant' hunting group, and can receive calls after the leader (if its status is 'active'). Assistant has the right to control its leader filtering status</li>\n</ul>\n<br/>Members can cumulate roles: <br/>\n<ul>\n    <li>In 'default' or 'hg_attendant' members can be at the same time manager (i.e. managing members) and agent (participate in call distribution)</li>\n    <li>In 'manager_assistant' group, members can't cumulate 'leader' and 'assistant' roles. Only one member can have the 'leader' role in a group (and not in other groups !). Manager role can be added to any member</li>\n</ul>\n<br/>When a hunting group is created, members are set as active by default and eligible to call distribution. This behavior can be overridden by setting member status to 'idle'.\n<br/>Some checks are performed while requesting a group creation:\n<ul>\n    <li>Phone number (shortNumber) must be unique</li>\n    <li>External Number is the public phone of the group. If used, It must be retrieved from the cloud PBX provisioned DDI numbers</li>\n    <li>Creator of the hunting group must be superadmin or a company admin</li>\n    <li>Members must have an associated Cloud PBX subscriber (except manager of the hunting group)</li>\n    <li>Name of the group must contain only letters, digits or '-', '_'</li>\n</ul>\n<br/><br/>The status of the member can take the following possible values for a 'default' or 'hg_attendant' hunting_group:\n<ul>\n    <li><b>active</b>: An <b>active</b> agent will participate in call distribution. <b>active</b> manager is meaningless (except if roles also include agent).</li>\n    <li><b>idle</b>: An <b>idle</b> agent does not participate in call distribution, but is 'declared' as a member of the group. He can then join the group to participate in call distribution\n    (his status will be updated to <b>active</b> after joining the group). Leaving a group is also supported (status then changed from <b>active</b> to <b>idle</b>). See Voice portal for join/leave.\n</ul>\n<br/>In 'manager_assistant' hunting group, some specificities:\n<ul>\n    <li>The <b>active</b> status set on an assistant means this one is ready to receive manager's call, if this one has set filtering on, or has not replied to the call</li>\n    <li>The <b>active</b> status set on a leader (i.e. filtering status activated) means the leader has delegated the call processing to the assistant(s) declared in the group</li>\n    <li>A 'manager_assistant' hunting group is not allowed to be empty (must have at least one member with 'active' status)</li>\n    <li>A 'manager_assistant' hunting group can only have a serial policy, with the extra constraint to have the leader in first position></li>\n</ul>\n<br/><br/> The order of the members inside the group can be important, as for the serial or circular hunting group type this reflects the order of ringing of the members.\n<br/> Once a hunting group has been created, it is then possible to associate a public number to it, so that it can be called from public network. Refer to the group update operation.\n<br/>\n<br/> A specific and Unique (for a Cloud PBX) hunting group for managing Emergency Calls can be created by setting the attribute <b>isEmergencyGroup</b>.\n<br/> This emergency group is Unique for a cloud PBX; its policy is <b>parallel</b> and no public number can be associated\n<br/> Once activated (see rvcpprovisioning documentation - section \"<i>Cloud PBX / Update a Cloud PBX</i>\") ; emergency calls (done without outgoing prefix) will be redirected first to this Emergency Group\n<br/> Forwards (busy ; no-reply ; unavailable) are automatically managed onto the first emergency number (main emergency number in the list)\n<br/> Note that this attribute <b>isEmergencyGroup</b> cannot be updated",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field                                      | Type                                             | Description                                                               |\n|--------------------------------------------|--------------------------------------------------|---------------------------------------------------------------------------|\n| id                                    | string                                       | Group unique identifier                                                   |\n| name                                  | string                                       | Group name - displayed on the caller phone set for hunting group type     |\n| shortNumber                           | string                                       | Short phone number of the hunting group                                   |\n| externalNumber                        | string                                       | Public phone number on which the hunting group can be joined              |\n| externalNumberId                      | string                                       | Identifier of the public phone number of the hunting group                 |\n| roomId                                | string                                       | Identifier of the hunting group associated room                           |\n| phoneNumberId                         | string                                       | Identifier of the hunting group phone number                              |\n| createdBy                             | string                                       | Group creator identifier                                                  |\n| policy                                | HuntingGroupPolicy                          | Group policy of the hunting group.                                        |\n| timeout                               | 5-30                                         | Group timeout in seconds - specific to serial or circular group policy    |\n| type                                  | HuntingGroupType                            | Group type. DEPRECATED manager_assistant - see subType 'manager_assistant' |\n| subType                               | HuntingGroupSubType                         | Hunting group sub type.                                                   |\n| isRecordingActivated                  | Boolean                                     | Indicates if the recording is activated on the hunting group              |\n| recordingProfile                     | HuntingGroupProfiles                        | Recording profile of the hunting group.                                   |\n| isEmergencyGroup                      | Boolean                                     | Indicates if this hunting group is the emergency group for the associated Cloud PBX |\n| isEmptyAllowed                       | Boolean                                     | Indicates if the last active member can leave the hunting group or not   |\n| isDDIUpdateByManagerAllowed          | Boolean                                     | Indicates if changing the DDI of this hunting group by a manager is allowed or not |\n| companyId                            | string                                       | Identifier of the company owning the hunting group                        |\n| subscriberId                         | string                                       | Associated subscriber Id of the hunting group                             |\n| systemId                             | string                                       | Cloud PBX System unique identifier                                        |\n| members                              | Array                                        | List of group members                                                     |\n| members.memberId                     | string                                       | Member (user) unique identifier                                           |\n| members.displayName                  | string                                       | Member display name                                                       |\n| members.roles                        | HuntingGroupMemberRole                      | Member role inside the group. Possible values: manager, agent, leader, assistant |\n| members.status                       | HuntingGroupMemberStatus                    | Member status inside the group.                                           |\n| members.connected                    | HuntingGroupMemberConnection                | Hunting group member connected status inside the group. If status active and connected or deskphone, member could answer a group call |\n| analyticSettings                     | Object                                      | Group analytic settings                                                   |\n| analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean                     | Are group managers allowed to see members analytics                      |\n\n example of result :\n ```json\n {\n         \"id\": \"5cd545b3a07de465fbc3fcda\",\n         \"name\": \"Group_1\",\n         \"type\": \"hunting_group\",\n         \"subType\": \"default\",\n         \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n         \"policy\": \"serial\",\n         \"shortNumber\": \"81002\",\n         \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n         \"externalNumber\": \"+33298564112\",\n         \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n         \"timeout\": 10,\n         \"isEmergencyGroup\": false,\n         \"isEmptyAllowed\": true,\n         \"isDDIUpdateByManagerAllowed\": true,\n         \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n         \"subscriberId\": 147,\n         \"systemId\": \"5de6a632c21aa17bab337347\",\n         \"members\": [\n             {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n             {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"disconnected\"},\n             {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"deskphone\"}\n         ],\n         \"isRecordingActivated\": false,\n         \"recordingProfile\": \"none\",\n         \"analyticSettings\": {\n             \"isManagersAllowedToSeeMembersAnalytics\": true\n         }\n }\n```\n\n</br>"
      }
    ],
    "longname": "module:AdminService#createCloudPBXGroup",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createCloudPBXGroup",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method CreateCloudPBXSIPDevice\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} description Description for identifying the device\n     * @param {number} deviceTypeId Device type Identifier - see API GET /cloudpbxs/:id/devicemodels to get the list of supported models for the CloudPBX.\n     * @param {string} macAddress Device mac address - mandatory for SIP deskphone device\n     * @description\n     *      This API allows to create a new SIP device into a CloudPBX. This SIP device can then be assigned to an existing subscriber. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10107,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "CreateCloudPBXSIPDevice",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Description for identifying the device",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Device type Identifier - see API GET /cloudpbxs/:id/devicemodels to get the list of supported models for the CloudPBX.",
        "name": "deviceTypeId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Device mac address - mandatory for SIP deskphone device",
        "name": "macAddress"
      }
    ],
    "description": "This API allows to create a new SIP device into a CloudPBX. This SIP device can then be assigned to an existing subscriber. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#CreateCloudPBXSIPDevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#CreateCloudPBXSIPDevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createCloudPBXSubscriberRainbowUser\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} login SIP username (if not provided ; shortNumber is used as SIP username)\n     * @param {string} password SIP password for all associated SIP devices (if not provided ; it will be automatically generated).\n     * Only lowercases, digits, * and # are authorized characters. Minimum length is 8, maximum is 12\n     * @param {string} shortNumber Internal Number of the new CloudPBX Subscriber\n     * @param {string} userId Unique identifier of the associated Rainbow User\n     * @description\n     *      This API allows to create a new CloudPBX Subscriber for a Rainbow User.</BR>\n     *      This new subscriber will appear as a new entry into \"phoneNumbers\" list of the targeted Rainbow User.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10647,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "createCloudPBXSubscriberRainbowUser",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "SIP username (if not provided ; shortNumber is used as SIP username)",
        "name": "login"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "SIP password for all associated SIP devices (if not provided ; it will be automatically generated).\nOnly lowercases, digits, * and # are authorized characters. Minimum length is 8, maximum is 12",
        "name": "password"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Internal Number of the new CloudPBX Subscriber",
        "name": "shortNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the associated Rainbow User",
        "name": "userId"
      }
    ],
    "description": "This API allows to create a new CloudPBX Subscriber for a Rainbow User.</BR>\n     This new subscriber will appear as a new entry into \"phoneNumbers\" list of the targeted Rainbow User.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createCloudPBXSubscriberRainbowUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createCloudPBXSubscriberRainbowUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createCompany\n     * @instance\n     * @description\n     *      Create a company </BR>\n     * @param {string} strName The name of the new company\n     * @param {string} country Company country (ISO 3166-1 alpha3 format, size 3 car)\n     * @param {string} state (optionnal if not USA)  define a state when country is 'USA' ([\"ALASKA\", \"....\", \"NEW_YORK\", \"....\", \"WYOMING\"] ), else it is not managed by server. Default value on server side: ALABAMA\n     * @param {OFFERTYPES} offerType Company offer type. Companies with offerType=freemium are not able to subscribe to paid offers, they must be premium to do so. Companies created with privateDC=\"HDS\" are automatically created with offerType=premium (as a paid subscription to HDS Company offer is automatically done during the company creation. Values can be : freemium, premium\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Created Company or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1194,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Created Company or an error object depending on the result",
        "value": "{Object} - Created Company or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "createCompany",
    "scope": "instance",
    "description": "Create a company </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The name of the new company",
        "name": "strName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company country (ISO 3166-1 alpha3 format, size 3 car)",
        "name": "country"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "(optionnal if not USA)  define a state when country is 'USA' ([\"ALASKA\", \"....\", \"NEW_YORK\", \"....\", \"WYOMING\"] ), else it is not managed by server. Default value on server side: ALABAMA",
        "name": "state"
      },
      {
        "type": {
          "names": [
            "OFFERTYPES"
          ]
        },
        "description": "Company offer type. Companies with offerType=freemium are not able to subscribe to paid offers, they must be premium to do so. Companies created with privateDC=\"HDS\" are automatically created with offerType=premium (as a paid subscription to HDS Company offer is automatically done during the company creation. Values can be : freemium, premium",
        "name": "offerType"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createCompany",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createCompany",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createCompanyFromDefault\n     * @instance\n     * @description\n     *      This API API allows to create a company for a user belonging to the 'Default' company is able to create his own company. </BR>\n     *      Then he is automatically moved to it and becomes the 'company_admin' of it. </BR>\n     *      </BR>\n     *      The company's name is checked and must be unique. </BR>\n     *      The logged in user musn't have already an admin or superadmin role </BR>\n     *      </BR>\n     *      The company is created with visibility='public' and userSelfRegisterEnabled=false. The user, promoted to 'company_admin', can then update these values. </BR>\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | meetingRecordingCustomisation | string | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n     * | eLearningGamificationCustomisation | string | Activate/Deactivate the capability for a user to earn badges for Elearning progress.  <br>Defines if a user can earn badges for Elearning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for Elearning progress.<br>* `disabled`: The user can't earn badges for Elearning progress. |\n     * | eLearningCustomisation | string | Activate/Deactivate the capability for a user to participate on a Elearning training.  <br>Defines if a user can particapate on an Elearning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an Elearning training.<br>* `disabled`: The user can't participate on an Elearning training. |\n     * | autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled)<br><br>Default value : `true` |\n     * | data | Object | Company Object. |\n     * | id  | string | Company unique identifier |\n     * | creationDate | Date-Time | Company creation date (Read only) |\n     * | statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n     * | lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n     * | name | string | Company name |\n     * | country optionnel | string | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n     * | street optionnel | string | Company street<br> |\n     * | city optionnel | string | Company city<br> |\n     * | state optionnel | string | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n     * | postalCode optionnel | string | Company postal code<br> |\n     * | currency optionnel | string | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Possibles values `USD`, `EUR`, `CNY` |\n     * | status | string | Company status<br><br>Possibles values `initializing`, `active`, `alerting`, `hold`, `terminated` |\n     * | visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values `public`, `private`, `organisation`, `closed`, `isolated` |\n     * | visibleBy | string\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n     * | adminEmail optionnel | string | Company contact person email |\n     * | supportEmail optionnel | string | Company support email |\n     * | supportUrlFAQ optionnel | string | Company support URL |\n     * | companyContactId optionnel | string | User Id of a Rainbow user which is the contact for this company |\n     * | disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n     * | disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n     * | disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n     * | userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n     * | userSelfRegisterAllowedDomains | string\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n     * | slogan optionnel | string | A free string corresponding to the slogan of the company (255 char length) |\n     * | description optionnel | string | A free string that describes the company (2000 char length) |\n     * | size | string | An overview of the number of employees<br><br>Possibles values `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n     * | economicActivityClassification optionnel | string | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n     * | giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n     * | website optionnel | string | Company website URL |\n     * | organisationId | string | Optional identifier to indicate the company belongs to an organisation |\n     * | catalogId | string | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n     * | bpId | string | Optional identifier which links the company to the corresponding Business partner company |\n     * | adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n     * | adminAllowedUpdateSubscriptionsOps optionnel | string | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values `all`, `increase_only` |\n     * | isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n     * | bpType optionnel | string | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values `IR`, `VAD`, `DR` |\n     * | bpBusinessModel optionnel | string | Indicates BP business model |\n     * | bpApplicantNumber optionnel | string | Reference of the Business Partner in ALE Finance tools (SAP) |\n     * | bpCRDid optionnel | string | Reference of the Business Partner in CDR |\n     * | bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n     * | bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n     * | bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n     * | bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n     * | acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n     * | bpAdminId | string | User Id of the BP admin who accepted the contract |\n     * | offerType | string | Allowed company offer types<br><br>Possibles values `freemium`, `premium` |\n     * | bpAdminLoginEmail | string | User loginEmail of the BP admin who accepted the contract |\n     * | businessSpecific optionnel | string | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values `HDS` |\n     * | externalReference optionnel | string | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n     * | externalReference2 optionnel | string | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n     * | avatarShape optionnel | string | Company's avatar customization<br><br>Possibles values `square`, `circle` |\n     * | allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n     * | allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n     * | selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n     * | light optionnel | string | Set the selected theme light for users of the company. |\n     * | dark optionnel | string | Set the selected theme dark for users of the company. |\n     * | adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n     * | isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n     * | superadminComment optionnel | string | Free field that only `superadmin` can see<br> |\n     * | bpBusinessType optionnel | string\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n     * | billingModel optionnel | string | Billing model that can be subscribed for this company.<br><br>Possibles values `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n     * | office365Tenant optionnel | string | Office365 tenant configured for this company. |\n     * | office365ScopesGranted optionnel | string\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values `directory`, `calendar` |\n     * | mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n     * | fileSharingCustomisation | string | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | userTitleNameCustomisation | string | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | softphoneOnlyCustomisation | string | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n     * | useRoomCustomisation | string | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n     * | phoneMeetingCustomisation | string | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n     * | useChannelCustomisation | string | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n     * | useScreenSharingCustomisation | string | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n     * | useWebRTCVideoCustomisation | string | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n     * | useWebRTCAudioCustomisation | string | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n     * | instantMessagesCustomisation | string | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n     * | userProfileCustomisation | string | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n     * | fileStorageCustomisation | string | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n     * | overridePresenceCustomisation | string | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n     * | alertNotificationReception | string | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n     * | alertNotificationSending | string | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n     * | changeTelephonyCustomisation | string | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n     * | changeSettingsCustomisation | string | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n     * | useGifCustomisation | string | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n     * | useDialOutCustomisation | string | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n     * | fileCopyCustomisation | string | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n     * | fileTransferCustomisation | string | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n     * | forbidFileOwnerChangeCustomisation | string | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n     * | readReceiptsCustomisation | string | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n     * | useSpeakingTimeStatistics | string | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n     * | defaultLicenseGroup | string | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n     * | defaultOptionsGroups | string\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n     * | selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n     * | light optionnel | string | Set the selected theme light for customers of this BP company. |\n     * | dark optionnel | string | Set the selected theme dark for customers of this BP company. |\n     * | ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n     * | locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n     * | customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     * @param {string} name Company name\n     * @param {string} visibility=\"public\" Company visibility (define if users being in this company can be searched by users being in other company). </br>\n     * Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies having the same visibility inside the same organisation. </br>\n     * The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched. </br>\n     * Default value : public. Possibles values public, private, organisation\n     * @param {string} country Company country\n     * @param {string} state When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.\n     * @param {string} slogan A free string corresponding to the slogan of the company\n     * @param {string} description A free string that describes the company\n     * @param {string} size An overview of the number of employees </br> Possibles values \"self-employed\", \"1-10 employees\", \"11-50 employees\", \"51-200 employees\", \"201-500 employees\", \"501-1000 employees\", \"1001-5000 employees\", \"5001-10,000 employees\", \"10,001+ employees\"\n     * @param {string} economicActivityClassification Classification of economic Activity\n     * @param {string} website Company website URL\n     * @param {string} avatarShape Company's avatar customization\n     * @param {boolean} giphyEnabled Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations)\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 853,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "createCompanyFromDefault",
    "scope": "instance",
    "description": "This API API allows to create a company for a user belonging to the 'Default' company is able to create his own company. </BR>\n     Then he is automatically moved to it and becomes the 'company_admin' of it. </BR>\n     </BR>\n     The company's name is checked and must be unique. </BR>\n     The logged in user musn't have already an admin or superadmin role </BR>\n     </BR>\n     The company is created with visibility='public' and userSelfRegisterEnabled=false. The user, promoted to 'company_admin', can then update these values. </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| meetingRecordingCustomisation | string | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n| eLearningGamificationCustomisation | string | Activate/Deactivate the capability for a user to earn badges for Elearning progress.  <br>Defines if a user can earn badges for Elearning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for Elearning progress.<br>* `disabled`: The user can't earn badges for Elearning progress. |\n| eLearningCustomisation | string | Activate/Deactivate the capability for a user to participate on a Elearning training.  <br>Defines if a user can particapate on an Elearning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an Elearning training.<br>* `disabled`: The user can't participate on an Elearning training. |\n| autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled)<br><br>Default value : `true` |\n| data | Object | Company Object. |\n| id  | string | Company unique identifier |\n| creationDate | Date-Time | Company creation date (Read only) |\n| statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n| lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n| name | string | Company name |\n| country optionnel | string | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n| street optionnel | string | Company street<br> |\n| city optionnel | string | Company city<br> |\n| state optionnel | string | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n| postalCode optionnel | string | Company postal code<br> |\n| currency optionnel | string | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Possibles values `USD`, `EUR`, `CNY` |\n| status | string | Company status<br><br>Possibles values `initializing`, `active`, `alerting`, `hold`, `terminated` |\n| visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values `public`, `private`, `organisation`, `closed`, `isolated` |\n| visibleBy | string\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n| adminEmail optionnel | string | Company contact person email |\n| supportEmail optionnel | string | Company support email |\n| supportUrlFAQ optionnel | string | Company support URL |\n| companyContactId optionnel | string | User Id of a Rainbow user which is the contact for this company |\n| disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n| disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n| disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n| userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n| userSelfRegisterAllowedDomains | string\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n| slogan optionnel | string | A free string corresponding to the slogan of the company (255 char length) |\n| description optionnel | string | A free string that describes the company (2000 char length) |\n| size | string | An overview of the number of employees<br><br>Possibles values `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n| economicActivityClassification optionnel | string | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n| giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n| website optionnel | string | Company website URL |\n| organisationId | string | Optional identifier to indicate the company belongs to an organisation |\n| catalogId | string | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n| bpId | string | Optional identifier which links the company to the corresponding Business partner company |\n| adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n| adminAllowedUpdateSubscriptionsOps optionnel | string | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values `all`, `increase_only` |\n| isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n| bpType optionnel | string | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values `IR`, `VAD`, `DR` |\n| bpBusinessModel optionnel | string | Indicates BP business model |\n| bpApplicantNumber optionnel | string | Reference of the Business Partner in ALE Finance tools (SAP) |\n| bpCRDid optionnel | string | Reference of the Business Partner in CDR |\n| bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n| bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n| bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n| bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n| acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n| bpAdminId | string | User Id of the BP admin who accepted the contract |\n| offerType | string | Allowed company offer types<br><br>Possibles values `freemium`, `premium` |\n| bpAdminLoginEmail | string | User loginEmail of the BP admin who accepted the contract |\n| businessSpecific optionnel | string | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values `HDS` |\n| externalReference optionnel | string | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n| externalReference2 optionnel | string | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n| avatarShape optionnel | string | Company's avatar customization<br><br>Possibles values `square`, `circle` |\n| allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n| allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n| selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n| light optionnel | string | Set the selected theme light for users of the company. |\n| dark optionnel | string | Set the selected theme dark for users of the company. |\n| adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n| isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n| superadminComment optionnel | string | Free field that only `superadmin` can see<br> |\n| bpBusinessType optionnel | string\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n| billingModel optionnel | string | Billing model that can be subscribed for this company.<br><br>Possibles values `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n| office365Tenant optionnel | string | Office365 tenant configured for this company. |\n| office365ScopesGranted optionnel | string\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values `directory`, `calendar` |\n| mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n| fileSharingCustomisation | string | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| userTitleNameCustomisation | string | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| softphoneOnlyCustomisation | string | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n| useRoomCustomisation | string | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n| phoneMeetingCustomisation | string | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n| useChannelCustomisation | string | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n| useScreenSharingCustomisation | string | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n| useWebRTCVideoCustomisation | string | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n| useWebRTCAudioCustomisation | string | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n| instantMessagesCustomisation | string | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n| userProfileCustomisation | string | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n| fileStorageCustomisation | string | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n| overridePresenceCustomisation | string | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n| alertNotificationReception | string | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n| alertNotificationSending | string | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n| changeTelephonyCustomisation | string | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n| changeSettingsCustomisation | string | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n| useGifCustomisation | string | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n| useDialOutCustomisation | string | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n| fileCopyCustomisation | string | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n| fileTransferCustomisation | string | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n| forbidFileOwnerChangeCustomisation | string | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n| readReceiptsCustomisation | string | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n| useSpeakingTimeStatistics | string | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n| defaultLicenseGroup | string | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n| defaultOptionsGroups | string\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n| selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n| light optionnel | string | Set the selected theme light for customers of this BP company. |\n| dark optionnel | string | Set the selected theme dark for customers of this BP company. |\n| ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n| locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n| customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company name",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"public\"",
        "description": "Company visibility (define if users being in this company can be searched by users being in other company). </br>\nUnder the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies having the same visibility inside the same organisation. </br>\nThe visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched. </br>\nDefault value : public. Possibles values public, private, organisation",
        "name": "visibility"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company country",
        "name": "country"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.",
        "name": "state"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "A free string corresponding to the slogan of the company",
        "name": "slogan"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "A free string that describes the company",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "An overview of the number of employees </br> Possibles values \"self-employed\", \"1-10 employees\", \"11-50 employees\", \"51-200 employees\", \"201-500 employees\", \"501-1000 employees\", \"1001-5000 employees\", \"5001-10,000 employees\", \"10,001+ employees\"",
        "name": "size"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Classification of economic Activity",
        "name": "economicActivityClassification"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company website URL",
        "name": "website"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company's avatar customization",
        "name": "avatarShape"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations)",
        "name": "giphyEnabled"
      }
    ],
    "longname": "module:AdminService#createCompanyFromDefault",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createCompanyFromDefault",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method createConfigurationForLdapConnector\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} companyId the id of the company.\n     * @param {string} name name of this configuration.\n     * @param {Object} settings config settings.\n     * @param {string} type=\"ldap_config\" specify for which type of synchronisation this config is . Allowed types are: \"ldap_config\" for user synchronisation, \"ldap_config_directories\" for contcats synchronisation. Default value : ldap_config\n     * @param {Object} settings.massproFromLdap list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal.\n     * @param {string} settings.massproFromLdap.headerName headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap (only when a ldap field exists for this headerName, should never be empty).\n     * @param {Object} settings.company specific settings for the company. Each key represent a setting.\n     * @param {string} settings.company.login login for the ldap server.\n     * @param {string} settings.company.password password for the ldap server.\n     * @param {number} settings.company.synchronizationTimeInterval time interval between synchronization in hours.\n     * @param {string} settings.company.url url of the ldap server.\n     * @param {string} settings.company.domain domain of the ldap server.\n     * @param {string} settings.company.baseDN base DN for the ldap server.\n     * @param {boolean} settings.company.activeFlag defines if the synchronization is active, or not.\n     * @param {string} settings.company.nextSynchronization date (ISO 8601 format) which defines when the next synchronization will be performed.\n     * @param {string} settings.company.search_rule filters to use when requesting the ldap server.\n     * @description\n     *      This API allows create configuration for the connector. </BR>\n     *      A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     *      Users with superadmin, support role can create the connectors configuration from any company. </BR>\n     *      Users with bp_admin or bp_finance role can only create the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     *      Users with admin role can only create the connectors configuration in companies they can manage. That is to say: </BR>\n     *      * an organization_admin can create the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId)\n     *      * a company_admin can only create the connectors configuration in his company.\n     *\n     * @return {Promise<any>} return -\n     * </BR>\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Config Object. |\n     * | id  | string | Config unique identifier. |\n     * | type | string | Config type |\n     * | companyId | string | Allows to specify for which company the connectors configuration is done.. |\n     * | settings | Object | config settings |\n     * | massproFromLdap | Object | list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. |\n     * | headerName | string | headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. |\n     * | company | Object | specific settings for the company. Each key represent a setting. |\n     * | login | string | login for the ldap server. |\n     * | password | string | password for the ldap server. |\n     * | synchronizationTimeInterval | Number | time interval between synchronization in hours. |\n     * | url | string | url of the ldap server. |\n     * | baseDN | string | base DN for the ldap server. |\n     * | activeFlag | Boolean | defines if the synchronization is active, or not. |\n     * | nextSynchronization | Date-Time | date (ISO 8601 format) which defines when the next synchronization will be performed. |\n     * | enrollmentEmailEnable | Boolean | defines if an enrollment email is sent to new users |\n     * | synchronisationDiffMode | Boolean | defines if synching only users changed since last sync date |\n     * | search_rule | string | filters to use when requesting the ldap server. |\n     * | lastSynchronization | Date-Time | date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). |\n     * | softwareVersion | string | software Version of the ldap connector (filled by the ldap connector). |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9020,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "createConfigurationForLdapConnector",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the company.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "name of this configuration.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "config settings.",
        "name": "settings"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"ldap_config\"",
        "description": "specify for which type of synchronisation this config is . Allowed types are: \"ldap_config\" for user synchronisation, \"ldap_config_directories\" for contcats synchronisation. Default value : ldap_config",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal.",
        "name": "settings.massproFromLdap"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap (only when a ldap field exists for this headerName, should never be empty).",
        "name": "settings.massproFromLdap.headerName"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "specific settings for the company. Each key represent a setting.",
        "name": "settings.company"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "login for the ldap server.",
        "name": "settings.company.login"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "password for the ldap server.",
        "name": "settings.company.password"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "time interval between synchronization in hours.",
        "name": "settings.company.synchronizationTimeInterval"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "url of the ldap server.",
        "name": "settings.company.url"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "domain of the ldap server.",
        "name": "settings.company.domain"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "base DN for the ldap server.",
        "name": "settings.company.baseDN"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "defines if the synchronization is active, or not.",
        "name": "settings.company.activeFlag"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "date (ISO 8601 format) which defines when the next synchronization will be performed.",
        "name": "settings.company.nextSynchronization"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "filters to use when requesting the ldap server.",
        "name": "settings.company.search_rule"
      }
    ],
    "description": "This API allows create configuration for the connector. </BR>\n     A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     Users with superadmin, support role can create the connectors configuration from any company. </BR>\n     Users with bp_admin or bp_finance role can only create the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     Users with admin role can only create the connectors configuration in companies they can manage. That is to say: </BR>\n     * an organization_admin can create the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId)\n     * a company_admin can only create the connectors configuration in his company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "return -\n</BR>\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Config Object. |\n| id  | string | Config unique identifier. |\n| type | string | Config type |\n| companyId | string | Allows to specify for which company the connectors configuration is done.. |\n| settings | Object | config settings |\n| massproFromLdap | Object | list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. |\n| headerName | string | headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. |\n| company | Object | specific settings for the company. Each key represent a setting. |\n| login | string | login for the ldap server. |\n| password | string | password for the ldap server. |\n| synchronizationTimeInterval | Number | time interval between synchronization in hours. |\n| url | string | url of the ldap server. |\n| baseDN | string | base DN for the ldap server. |\n| activeFlag | Boolean | defines if the synchronization is active, or not. |\n| nextSynchronization | Date-Time | date (ISO 8601 format) which defines when the next synchronization will be performed. |\n| enrollmentEmailEnable | Boolean | defines if an enrollment email is sent to new users |\n| synchronisationDiffMode | Boolean | defines if synching only users changed since last sync date |\n| search_rule | string | filters to use when requesting the ldap server. |\n| lastSynchronization | Date-Time | date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). |\n| softwareVersion | string | software Version of the ldap connector (filled by the ldap connector). |"
      }
    ],
    "longname": "module:AdminService#createConfigurationForLdapConnector",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createConfigurationForLdapConnector",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method createCSVReportByCommandId\n     * @since 2.15.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @description\n     *      This API allows to create a report for a commandId in case no other API is called (no action to be performed, error, ...). </BR>\n     *           </BR>\n     *      return { </BR>\n     *           status : string, // status of the check csv. Possible values : success, failure, pending  </BR>\n     *          report : Object,  // check results summary </BR>\n     *              details : string details for for report </BR>\n     *        } </BR>\n     *\n     *      return an {Object}  of synchronization data. </BR>\n     * @return {Promise<any>}\n     * @param {string} commandId commandId used in the import csv request which came from connector on behalf of admin command.\n     * @param {Object} data The body of the request : {\n     *     status : string, // status for the execution of the command Possible values : success, failure\n     *     details : string, // details that can be provided about the command execution\n     * }\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8567,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "createCSVReportByCommandId",
    "since": "2.15.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "description": "This API allows to create a report for a commandId in case no other API is called (no action to be performed, error, ...). </BR>\n          </BR>\n     return { </BR>\n          status : string, // status of the check csv. Possible values : success, failure, pending  </BR>\n         report : Object,  // check results summary </BR>\n             details : string details for for report </BR>\n       } </BR>\n\n     return an {Object}  of synchronization data. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "commandId used in the import csv request which came from connector on behalf of admin command.",
        "name": "commandId"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "The body of the request : {\n    status : string, // status for the execution of the command Possible values : success, failure\n    details : string, // details that can be provided about the command execution\n}",
        "name": "data"
      }
    ],
    "longname": "module:AdminService#createCSVReportByCommandId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createCSVReportByCommandId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createCustomisationTemplate\n     * @instance\n     * @description\n     *      This API allows an administrator to create an application customisation template for the given company.\n     *\n     *      - The name of the template must be unique among all of its belonging to the company.\n     *      - The template is always private. So it has automatically private visibility.\n     *      - It can include following items. When some of them are missing, the default value enabled is used. So the body can include only items to set with the statedisabled.\n     * @async\n     * @category Customisation Template\n     * @return {Promise<any>}\n     * @fulfil {Object} - Json object containing the result of the method\n     * @category async\n     * @param {string} name Template name.\n     * @param {string} ownedByCompany Identifier of the company owning the template.\n     * @param {string} visibleBy When visibility is private, list of companyIds that can access the template (other than the 'ownedByCompany' one).\n     * @param {string} instantMessagesCustomisation Activate/Deactivate the capability for a user to use instant messages.</BR>\n     * Define if one or all users of a company has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.</BR>\n     * </BR>\n     * instantMessagesCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use instant messages.</BR>\n     * - disabled: No user of the company can use instant messages.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} useGifCustomisation Activate/Deactivate the ability for a user to Use GIFs in conversations.</BR>\n     * Define if one or all users of a company has the is allowed to send animated GIFs in conversations</BR>\n     * </BR>\n     * useGifCustomisation can be:</BR>\n     *\n     * - enabled: The user can send animated GIFs in conversations.</BR>\n     * - disabled: The user can't send animated GIFs in conversations.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} fileSharingCustomisation Activate/Deactivate file sharing capability per company</BR>\n     * Define if one or all users of a company can use the file sharing service then, allowed to download and share file.</BR>\n     * </BR>\n     * fileSharingCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.</BR>\n     * - disabled: Each user of the company can't use the file sharing service, except when his own capability is set to 'enabled'.</BR>\n     * </BR>\n     * Default value : enabled</BR>\n     * @param {string} fileStorageCustomisation Activate/Deactivate the capability for a user to access to Rainbow file storage.</BR>\n     * Define if one or all users of a company has the right to upload/download/copy or share documents.</BR>\n     * </BR>\n     * fileStorageCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can manage and share files.</BR>\n     * - disabled: No user of the company can manage and share files.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} phoneMeetingCustomisation Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).</BR>\n     * Define if one or all users of a company has the right to join phone meetings.</BR>\n     * </BR>\n     * phoneMeetingCustomisation can be:</BR>\n     *\n     * -  enabled: Each user of the company can join phone meetings.</BR>\n     * - disabled: No user of the company can join phone meetings.</BR>\n     *</BR>\n     *  Default value : enabled\n     * @param {string} useDialOutCustomisation Activate/Deactivate the capability for a user to use dial out in phone meetings.</BR>\n     * Define if one or all users of a company is allowed to be called by the Rainbow conference bridge.</BR>\n     * </BR>\n     * useDialOutCustomisation can be:</BR>\n     *\n     * - enabled: The user can be called by the Rainbow conference bridge.</BR>\n     * - disabled: The user can't be called by the Rainbow conference bridge.</BR>\n     *</BR>\n     *  Default value : enabled\n     * @param {string} useChannelCustomisation Activate/Deactivate the capability for a user to use a channel.</BR>\n     * Define if one or all users of a company has the right to create channels or be a member of channels.</BR>\n     * </BR>\n     * useChannelCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use some channels.</BR>\n     * - disabled: No user of the company can use some channel.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} useRoomCustomisation Activate/Deactivate the capability for a user to use bubbles.</BR>\n     * Define if one or all users of a company can create bubbles or participate in bubbles (chat and web conference).</BR>\n     * </BR>\n     * useRoomCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use bubbles.</BR>\n     * - disabled: No user of the company can use bubbles.</BR>\n     *</BR>\n     *  Default value : enabled\n     * @param {string} useScreenSharingCustomisation Activate/Deactivate the capability for a user to share a screen.</BR>\n     * Define if a user has the right to share his screen.</BR>\n     * </BR>\n     * useScreenSharingCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can share his screen.</BR>\n     * - disabled: No user of the company can share his screen.</BR>\n     * </BR>\n     * @param {string} useWebRTCAudioCustomisation Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.</BR>\n     * Define if one or all users of a company has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).</BR>\n     * </BR>\n     * useWebRTCVideoCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can switch to a Web RTC audio conversation.</BR>\n     * - disabled: No user of the company can switch to a Web RTC audio conversation.</BR>\n     *</BR>\n     * Default value : enabled\n     * @param {string} useWebRTCVideoCustomisation Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.</BR>\n     * Define if one or all users of a company has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).</BR>\n     * </BR>\n     * useWebRTCVideoCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can switch to a Web RTC video conversation.</BR>\n     * - disabled: No user of the company can switch to a Web RTC video conversation.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.</BR>\n     * Define if one or all users of a company has the right to record a conversation (for P2P and multi-party calls).</BR>\n     * </BR>\n     * recordingConversationCustomisation can be:</BR>\n     *\n     * - enabled: The user can record a peer to peer or a multi-party call.</BR>\n     * - disabled: The user can't record a peer to peer or a multi-party call.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} overridePresenceCustomisation Activate/Deactivate the capability for a user to change manually his presence.</BR>\n     * Define if one or all users of a company has the right to change his presence manually or only use automatic states.</BR>\n     * </BR>\n     * overridePresenceCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can change his presence.</BR>\n     * - disabled: No user of the company can change his presence.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} userProfileCustomisation Activate/Deactivate the capability for a user to modify his profile.</BR>\n     * Define if one or all users of a company has the right to modify the globality of his profile and not only (title, firstName, lastName).</BR>\n     * </BR>\n     * userProfileCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can modify his profile.</BR>\n     * - disabled: No user of the company can modify his profile.</BR>\n     *</BR>\n     * Default value : enabled\n     * @param {string} userTitleNameCustomisation Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company</BR>\n     * Define if one or all users of a company is allowed to change some profile data.</BR>\n     * </BR>\n     * userTitleNameCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.</BR>\n     * - disabled: Each user of the company can't change some profile data, except when his own capability is set to 'enabled'.</BR>\n     *</BR>\n     * Default value : enabled\n     * @param {string} changeTelephonyCustomisation Activate/Deactivate the ability for a user to modify telephony settings.</BR>\n     * Define if one or all users of a company has the right to modify telephony settings like forward activation ....</BR>\n     * </BR>\n     * changeTelephonyCustomisation can be:</BR>\n     *\n     * - enabled: The user can modify telephony settings.</BR>\n     * - disabled: The user can't modify telephony settings.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} changeSettingsCustomisation Activate/Deactivate the ability for a user to change all client general settings.</BR>\n     * Define if one or all users of a company has the right to change his client general settings.</BR>\n     * </BR>\n     * changeSettingsCustomisation can be:</BR>\n     *\n     * - enabled: The user can change all client general settings.</BR>\n     * - disabled: The user can't change any client general setting.</BR>\n     * </BR>\n     * Default value : enabled</BR>\n     * @param {string} fileCopyCustomisation Activate/Deactivate the capability for a user to copy files</BR>\n     * Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.</BR>\n     * </BR>\n     * fileCopyCustomisation can be:</BR>\n     *\n     * - enabled: The user can make a copy of a file to his personal cloud space.</BR>\n     * - disabled: The user can't make a copy of a file to his personal cloud space.</BR>\n     * </BR>\n     * default value : enabled\n     * @param {string} fileTransferCustomisation Activate/Deactivate the ability for a user to transfer files.</BR>\n     * Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.</BR>\n     * </BR>\n     * fileTransferCustomisation can be:</BR>\n     *\n     * - enabled: The user can transfer a file doesn't belong to him.</BR>\n     * - disabled: The user can't transfer a file doesn't belong to him.</BR>\n     * </BR>\n     * Default value : enabled</BR>\n     * @param {string} forbidFileOwnerChangeCustomisation Activate/Deactivate the ability for a user to loose the ownership on one file.</BR>\n     * Define if one or all users can drop the ownership of a file to another Rainbow user of the same company</BR>\n     * </BR>\n     * forbidFileOwnerChangeCustomisation can be:</BR>\n     *\n     * - enabled: The user can't give the ownership of his file.</BR>\n     * - disabled: The user can give the ownership of his file.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} readReceiptsCustomisation Activate/Deactivate the ability for a user to allow a sender to check if a chat message is read.</BR>\n     * Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.</BR>\n     * </BR>\n     * readReceiptsCustomisation can be:</BR>\n     *\n     * - enabled: The user allow the sender to check if an IM is read.</BR>\n     * - disabled: The user doesn't allow the sender to check if an IM is read.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} useSpeakingTimeStatistics Activate/Deactivate the ability for a user to see speaking time statistics.</BR>\n     * Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.</BR>\n     * </BR>\n     * useSpeakingTimeStatistics can be:</BR>\n     *\n     * - enabled: The user can use meeting speaking time statistics.</BR>\n     * - disabled: The user can't can use meeting speaking time statistics.</BR>\n     * </BR>\n     * Default value : enabled\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6002,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customisation Template",
        "value": "Customisation Template"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing the result of the method",
        "value": "{Object} - Json object containing the result of the method"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "createCustomisationTemplate",
    "scope": "instance",
    "description": "This API allows an administrator to create an application customisation template for the given company.\n\n     - The name of the template must be unique among all of its belonging to the company.\n     - The template is always private. So it has automatically private visibility.\n     - It can include following items. When some of them are missing, the default value enabled is used. So the body can include only items to set with the statedisabled.",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Template name.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Identifier of the company owning the template.",
        "name": "ownedByCompany"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "When visibility is private, list of companyIds that can access the template (other than the 'ownedByCompany' one).",
        "name": "visibleBy"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to use instant messages.</BR>\nDefine if one or all users of a company has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.</BR>\n</BR>\ninstantMessagesCustomisation can be:</BR>\n\n- enabled: Each user of the company can use instant messages.</BR>\n- disabled: No user of the company can use instant messages.</BR>\n</BR>\nDefault value : enabled",
        "name": "instantMessagesCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the ability for a user to Use GIFs in conversations.</BR>\nDefine if one or all users of a company has the is allowed to send animated GIFs in conversations</BR>\n</BR>\nuseGifCustomisation can be:</BR>\n\n- enabled: The user can send animated GIFs in conversations.</BR>\n- disabled: The user can't send animated GIFs in conversations.</BR>\n</BR>\nDefault value : enabled",
        "name": "useGifCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate file sharing capability per company</BR>\nDefine if one or all users of a company can use the file sharing service then, allowed to download and share file.</BR>\n</BR>\nfileSharingCustomisation can be:</BR>\n\n- enabled: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.</BR>\n- disabled: Each user of the company can't use the file sharing service, except when his own capability is set to 'enabled'.</BR>\n</BR>\nDefault value : enabled</BR>",
        "name": "fileSharingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to access to Rainbow file storage.</BR>\nDefine if one or all users of a company has the right to upload/download/copy or share documents.</BR>\n</BR>\nfileStorageCustomisation can be:</BR>\n\n- enabled: Each user of the company can manage and share files.</BR>\n- disabled: No user of the company can manage and share files.</BR>\n</BR>\nDefault value : enabled",
        "name": "fileStorageCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).</BR>\nDefine if one or all users of a company has the right to join phone meetings.</BR>\n</BR>\nphoneMeetingCustomisation can be:</BR>\n\n-  enabled: Each user of the company can join phone meetings.</BR>\n- disabled: No user of the company can join phone meetings.</BR>\n</BR>\n Default value : enabled",
        "name": "phoneMeetingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to use dial out in phone meetings.</BR>\nDefine if one or all users of a company is allowed to be called by the Rainbow conference bridge.</BR>\n</BR>\nuseDialOutCustomisation can be:</BR>\n\n- enabled: The user can be called by the Rainbow conference bridge.</BR>\n- disabled: The user can't be called by the Rainbow conference bridge.</BR>\n</BR>\n Default value : enabled",
        "name": "useDialOutCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to use a channel.</BR>\nDefine if one or all users of a company has the right to create channels or be a member of channels.</BR>\n</BR>\nuseChannelCustomisation can be:</BR>\n\n- enabled: Each user of the company can use some channels.</BR>\n- disabled: No user of the company can use some channel.</BR>\n</BR>\nDefault value : enabled",
        "name": "useChannelCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to use bubbles.</BR>\nDefine if one or all users of a company can create bubbles or participate in bubbles (chat and web conference).</BR>\n</BR>\nuseRoomCustomisation can be:</BR>\n\n- enabled: Each user of the company can use bubbles.</BR>\n- disabled: No user of the company can use bubbles.</BR>\n</BR>\n Default value : enabled",
        "name": "useRoomCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to share a screen.</BR>\nDefine if a user has the right to share his screen.</BR>\n</BR>\nuseScreenSharingCustomisation can be:</BR>\n\n- enabled: Each user of the company can share his screen.</BR>\n- disabled: No user of the company can share his screen.</BR>\n</BR>",
        "name": "useScreenSharingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.</BR>\nDefine if one or all users of a company has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).</BR>\n</BR>\nuseWebRTCVideoCustomisation can be:</BR>\n\n- enabled: Each user of the company can switch to a Web RTC audio conversation.</BR>\n- disabled: No user of the company can switch to a Web RTC audio conversation.</BR>\n</BR>\nDefault value : enabled",
        "name": "useWebRTCAudioCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.</BR>\nDefine if one or all users of a company has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).</BR>\n</BR>\nuseWebRTCVideoCustomisation can be:</BR>\n\n- enabled: Each user of the company can switch to a Web RTC video conversation.</BR>\n- disabled: No user of the company can switch to a Web RTC video conversation.</BR>\n</BR>\nDefault value : enabled",
        "name": "useWebRTCVideoCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to record a conversation.</BR>\nDefine if one or all users of a company has the right to record a conversation (for P2P and multi-party calls).</BR>\n</BR>\nrecordingConversationCustomisation can be:</BR>\n\n- enabled: The user can record a peer to peer or a multi-party call.</BR>\n- disabled: The user can't record a peer to peer or a multi-party call.</BR>\n</BR>\nDefault value : enabled",
        "name": "recordingConversationCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to change manually his presence.</BR>\nDefine if one or all users of a company has the right to change his presence manually or only use automatic states.</BR>\n</BR>\noverridePresenceCustomisation can be:</BR>\n\n- enabled: Each user of the company can change his presence.</BR>\n- disabled: No user of the company can change his presence.</BR>\n</BR>\nDefault value : enabled",
        "name": "overridePresenceCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to modify his profile.</BR>\nDefine if one or all users of a company has the right to modify the globality of his profile and not only (title, firstName, lastName).</BR>\n</BR>\nuserProfileCustomisation can be:</BR>\n\n- enabled: Each user of the company can modify his profile.</BR>\n- disabled: No user of the company can modify his profile.</BR>\n</BR>\nDefault value : enabled",
        "name": "userProfileCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company</BR>\nDefine if one or all users of a company is allowed to change some profile data.</BR>\n</BR>\nuserTitleNameCustomisation can be:</BR>\n\n- enabled: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.</BR>\n- disabled: Each user of the company can't change some profile data, except when his own capability is set to 'enabled'.</BR>\n</BR>\nDefault value : enabled",
        "name": "userTitleNameCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the ability for a user to modify telephony settings.</BR>\nDefine if one or all users of a company has the right to modify telephony settings like forward activation ....</BR>\n</BR>\nchangeTelephonyCustomisation can be:</BR>\n\n- enabled: The user can modify telephony settings.</BR>\n- disabled: The user can't modify telephony settings.</BR>\n</BR>\nDefault value : enabled",
        "name": "changeTelephonyCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the ability for a user to change all client general settings.</BR>\nDefine if one or all users of a company has the right to change his client general settings.</BR>\n</BR>\nchangeSettingsCustomisation can be:</BR>\n\n- enabled: The user can change all client general settings.</BR>\n- disabled: The user can't change any client general setting.</BR>\n</BR>\nDefault value : enabled</BR>",
        "name": "changeSettingsCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to copy files</BR>\nDefine if one or all users of a company is allowed to copy any file he receives in his personal cloud space.</BR>\n</BR>\nfileCopyCustomisation can be:</BR>\n\n- enabled: The user can make a copy of a file to his personal cloud space.</BR>\n- disabled: The user can't make a copy of a file to his personal cloud space.</BR>\n</BR>\ndefault value : enabled",
        "name": "fileCopyCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the ability for a user to transfer files.</BR>\nDefine if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.</BR>\n</BR>\nfileTransferCustomisation can be:</BR>\n\n- enabled: The user can transfer a file doesn't belong to him.</BR>\n- disabled: The user can't transfer a file doesn't belong to him.</BR>\n</BR>\nDefault value : enabled</BR>",
        "name": "fileTransferCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the ability for a user to loose the ownership on one file.</BR>\nDefine if one or all users can drop the ownership of a file to another Rainbow user of the same company</BR>\n</BR>\nforbidFileOwnerChangeCustomisation can be:</BR>\n\n- enabled: The user can't give the ownership of his file.</BR>\n- disabled: The user can give the ownership of his file.</BR>\n</BR>\nDefault value : enabled",
        "name": "forbidFileOwnerChangeCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the ability for a user to allow a sender to check if a chat message is read.</BR>\nDefines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.</BR>\n</BR>\nreadReceiptsCustomisation can be:</BR>\n\n- enabled: The user allow the sender to check if an IM is read.</BR>\n- disabled: The user doesn't allow the sender to check if an IM is read.</BR>\n</BR>\nDefault value : enabled",
        "name": "readReceiptsCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the ability for a user to see speaking time statistics.</BR>\nDefines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.</BR>\n</BR>\nuseSpeakingTimeStatistics can be:</BR>\n\n- enabled: The user can use meeting speaking time statistics.</BR>\n- disabled: The user can't can use meeting speaking time statistics.</BR>\n</BR>\nDefault value : enabled",
        "name": "useSpeakingTimeStatistics"
      }
    ],
    "longname": "module:AdminService#createCustomisationTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createCustomisationTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createDirectoryEntry\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} companyId Id of the company the directory is linked to.\n     * @param {string} firstName Contact first Name\n     * @param {string} lastName Contact last Name\n     * @param {string} companyName Company Name of the contact\n     * @param {string} department Contact address: Department\n     * @param {string} street Contact address: Street\n     * @param {string} city Contact address: City\n     * @param {string} state When country is 'USA' or 'CAN', a state should be defined. Else it is not managed. Allowed values: \"AK\", \"AL\", \"....\", \"NY\", \"WY\"\n     * @param {string} postalCode Contact address: postal code / ZIP\n     * @param {string} country Contact address: country (ISO 3166-1 alpha3 format)\n     * @param {Array<string>} workPhoneNumbers Work phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)\n     * @param {Array<string>} mobilePhoneNumbers Mobile phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)\n     * @param {Array<string>} otherPhoneNumbers Other phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)\n     * @param {string} jobTitle Contact Job title\n     * @param {string} eMail Contact Email address\n     * @param {Array<string>} tags An Array of free tags </BR>\n     * A maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. </BR>\n     * The tags can be used to search the directory entries of type user or company using multi-criterion search (search query parameter of the API GET /api/rainbow/directory/v1.0/entries). The multi-criterion search using the tags can only be done on directories belonging to the company of the logged in user (and to the companies belonging to the organisation of the logged in user if that is the case). </BR>\n     * @param {string} custom1 Custom field 1\n     * @param {string} custom2 Custom field 2\n     * @description\n     *      This API allows administrators to Create a directory entry.  </BR>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12674,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "createDirectoryEntry",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company the directory is linked to.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact first Name",
        "name": "firstName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact last Name",
        "name": "lastName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company Name of the contact",
        "name": "companyName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: Department",
        "name": "department"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: Street",
        "name": "street"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: City",
        "name": "city"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "When country is 'USA' or 'CAN', a state should be defined. Else it is not managed. Allowed values: \"AK\", \"AL\", \"....\", \"NY\", \"WY\"",
        "name": "state"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: postal code / ZIP",
        "name": "postalCode"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: country (ISO 3166-1 alpha3 format)",
        "name": "country"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Work phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)",
        "name": "workPhoneNumbers"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Mobile phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)",
        "name": "mobilePhoneNumbers"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Other phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)",
        "name": "otherPhoneNumbers"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact Job title",
        "name": "jobTitle"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact Email address",
        "name": "eMail"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "An Array of free tags </BR>\nA maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. </BR>\nThe tags can be used to search the directory entries of type user or company using multi-criterion search (search query parameter of the API GET /api/rainbow/directory/v1.0/entries). The multi-criterion search using the tags can only be done on directories belonging to the company of the logged in user (and to the companies belonging to the organisation of the logged in user if that is the case). </BR>",
        "name": "tags"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Custom field 1",
        "name": "custom1"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Custom field 2",
        "name": "custom2"
      }
    ],
    "description": "This API allows administrators to Create a directory entry.  </BR>",
    "longname": "module:AdminService#createDirectoryEntry",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createDirectoryEntry",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createGuestUser\n     * @instance\n     * @description\n     *      Create a new guest user in the same company as the requester admin </BR>\n     * @param {string} firstname The user firstname\n     * @param {string} lastname  The user lastname\n     * @param {string} language=\"en-US\" The language of the user. Default is `en-US`. Can be fr-FR, de-DE...\n     * @param {number} timeToLive Allow to provide a duration in second to wait before starting a user deletion from the creation date\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Created guest user in company or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1614,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Created guest user in company or an error object depending on the result",
        "value": "{Object} - Created guest user in company or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "createGuestUser",
    "scope": "instance",
    "description": "Create a new guest user in the same company as the requester admin </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The user firstname",
        "name": "firstname"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The user lastname",
        "name": "lastname"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"en-US\"",
        "description": "The language of the user. Default is `en-US`. Can be fr-FR, de-DE...",
        "name": "language"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to provide a duration in second to wait before starting a user deletion from the creation date",
        "name": "timeToLive"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createGuestUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createGuestUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method createListOfEventsForConnector\n     * @since 2.14.0\n     * @instance\n     * @async\n     * @category Connectors\n     * @param {any} events The list of events for a connector :\n     * { </BR>\n     * events : [{ </BR>\n     *  eventId : string The identifier of an event  </BR>\n     *  level : string The level of an event. Possibles values : `ERROR`, `WARN`, `INFO`  </BR>\n     *  category : string The category of an event  </BR>\n     *  operation : string The operation of an event  </BR>\n     *  description : string The description of an event  </BR>\n     *  date : string The date an event  </BR>\n     * }]</BR>\n     * }</BR>\n     *\n     * @description\n     *     This API allows the different connectors to store a list of events </BR>\n     *      </BR>\n     *      Each given events is stored in Rainbow database. If an event, identified by its eventId, already exists for a connector in database, it isn't duplicated. An event is created with a deleted field value as false. </BR>\n     *      It's associated eityher with a companyId or a systemId, according to the type of its connector. </BR>\n     *      It's stored during 30 days. After that, it's automatically removed from database. </BR>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | List of connector event stored. |\n     * | id  | string | Event unique identifier. |\n     * | userId | string | User associated to the connector unique identifier. |\n     * | eventId | string | Event identifier in the connector scope |\n     * | level | string | Event level<br><br>Possibles values : `ERROR`, `WARN`, `INFO` |\n     * | category | string | Event category |\n     * | operation | string | Event operation |\n     * | description | string | Event description |\n     * | deleted | Boolean | Indicate if the event is considered as deleted |\n     * | date | Date-Time | Date of event |\n     * | companyId optionnel | string | Company linked to the connector. |\n     * | systemId optionnel | string | System linked to the connector. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9617,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "createListOfEventsForConnector",
    "since": "2.14.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Connectors",
        "value": "Connectors"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "The list of events for a connector :\n{ </BR>\nevents : [{ </BR>\n eventId : string The identifier of an event  </BR>\n level : string The level of an event. Possibles values : `ERROR`, `WARN`, `INFO`  </BR>\n category : string The category of an event  </BR>\n operation : string The operation of an event  </BR>\n description : string The description of an event  </BR>\n date : string The date an event  </BR>\n}]</BR>\n}</BR>",
        "name": "events"
      }
    ],
    "description": "This API allows the different connectors to store a list of events </BR>\n     </BR>\n     Each given events is stored in Rainbow database. If an event, identified by its eventId, already exists for a connector in database, it isn't duplicated. An event is created with a deleted field value as false. </BR>\n     It's associated eityher with a companyId or a systemId, according to the type of its connector. </BR>\n     It's stored during 30 days. After that, it's automatically removed from database. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | List of connector event stored. |\n| id  | string | Event unique identifier. |\n| userId | string | User associated to the connector unique identifier. |\n| eventId | string | Event identifier in the connector scope |\n| level | string | Event level<br><br>Possibles values : `ERROR`, `WARN`, `INFO` |\n| category | string | Event category |\n| operation | string | Event operation |\n| description | string | Event description |\n| deleted | Boolean | Indicate if the event is considered as deleted |\n| date | Date-Time | Date of event |\n| companyId optionnel | string | Company linked to the connector. |\n| systemId optionnel | string | System linked to the connector. |"
      }
    ],
    "longname": "module:AdminService#createListOfEventsForConnector",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createListOfEventsForConnector",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createRainbowMultifactorAuthenticationServerConfiguration\n     * @instance\n     * @since 2.29.0\n     * @description\n     *      This API allows to create a Rainbow multifactor authentication configuration for a given company.\n     * </br>\n     * </br> Users with `superadmin` role can create a Rainbow multifactor authentication configuration of any company.\n     * </br> `bp_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> `organization_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> `company_admin` users can only create a Rainbow multifactor authentication configuration of their own company.\n     *\n     * @async\n     * @param {string} companyId Company unique identifier\n     * @param {Boolean} enabledForAllCompanyUsers Enable or disable the use of these Rainbow multifactor authentication settings for all members of the company. Default value : false\n     * @param {string} mfaName Name of Rainbow multifactor authentication configuration\n     * @param {string} mfaType type of Rainbow multifactor authentication. Possibles values : none, totp\n     * @param {string} mfaPolicy=\"never\" Policy of Rainbow multifactor authentication. Default value : never. Possibles values : never, untrusted_only, always\n     * @param {number} rememberDaysApplication Number of days when application and browsers are trusted\n     * @param {Boolean} mfaCanBeDisabled let the user disable the multifactor authentication\n     * @category Company Rainbow Multifactor Authentication Server\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | mfaId | string | unique identifier of Rainbow multifactor authentication |\n     * | mfaType | string | Authentication multifactor type<br><br>Possibles values : `none`, `totp` |\n     * | enabledForAllCompanyUsers | Boolean | Enable or disable the use of these Rainbow multifactor authentication settings for all members of comapny  <br>When several Rainbow multifactor or SSO authentication types are configured for a company, the SSO authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set or equal to `DEFAULT`). |\n     * | mfaName | string | Name of Rainbow multifactor authentication |\n     * | mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n     * | rememberDaysApplication | Number | Number of days when application and browsers are trusted |\n     * | mfaCanBeDisabled | Boolean | let the user disable the multifactor authentication |\n     *\n     * </br>example of result :\n     * ```json\n     *   {\n     *         \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n     *         \"mfaType\": \"totp\",\n     *         \"mfaPolicy\" : \"untrusted_only\",\n     *         \"enabledForAllCompanyUsers\": false,\n     *         \"mfaName\": \"totp example\",\n     *         \"rememberDaysApplication\": 60\n     *     }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 278,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company Rainbow Multifactor Authentication Server",
        "value": "Company Rainbow Multifactor Authentication Server"
      }
    ],
    "kind": "function",
    "name": "createRainbowMultifactorAuthenticationServerConfiguration",
    "scope": "instance",
    "since": "2.29.0",
    "description": "This API allows to create a Rainbow multifactor authentication configuration for a given company.\n</br>\n</br> Users with `superadmin` role can create a Rainbow multifactor authentication configuration of any company.\n</br> `bp_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> `organization_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. company linked to organization_admin's organization).\n</br> `company_admin` users can only create a Rainbow multifactor authentication configuration of their own company.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "Boolean"
          ]
        },
        "description": "Enable or disable the use of these Rainbow multifactor authentication settings for all members of the company. Default value : false",
        "name": "enabledForAllCompanyUsers"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Name of Rainbow multifactor authentication configuration",
        "name": "mfaName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "type of Rainbow multifactor authentication. Possibles values : none, totp",
        "name": "mfaType"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"never\"",
        "description": "Policy of Rainbow multifactor authentication. Default value : never. Possibles values : never, untrusted_only, always",
        "name": "mfaPolicy"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Number of days when application and browsers are trusted",
        "name": "rememberDaysApplication"
      },
      {
        "type": {
          "names": [
            "Boolean"
          ]
        },
        "description": "let the user disable the multifactor authentication",
        "name": "mfaCanBeDisabled"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| mfaId | string | unique identifier of Rainbow multifactor authentication |\n| mfaType | string | Authentication multifactor type<br><br>Possibles values : `none`, `totp` |\n| enabledForAllCompanyUsers | Boolean | Enable or disable the use of these Rainbow multifactor authentication settings for all members of comapny  <br>When several Rainbow multifactor or SSO authentication types are configured for a company, the SSO authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set or equal to `DEFAULT`). |\n| mfaName | string | Name of Rainbow multifactor authentication |\n| mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n| rememberDaysApplication | Number | Number of days when application and browsers are trusted |\n| mfaCanBeDisabled | Boolean | let the user disable the multifactor authentication |\n\n</br>example of result :\n```json\n  {\n        \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n        \"mfaType\": \"totp\",\n        \"mfaPolicy\" : \"untrusted_only\",\n        \"enabledForAllCompanyUsers\": false,\n        \"mfaName\": \"totp example\",\n        \"rememberDaysApplication\": 60\n    }\n```"
      }
    ],
    "longname": "module:AdminService#createRainbowMultifactorAuthenticationServerConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createRainbowMultifactorAuthenticationServerConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createSystem\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @param {string} name System name/description\n     * @param {string} pbxId CCA (Call Control Agent) hosted by a System needs an account to XMPP. This is the login to access to XMPP server. It should be given during system creation or automatically generated.\n     * @param {string} pbxLdapId custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId.\n     * @param {string} siteId Site from which the system is linked with.\n     * @param {string} type CCA type. Possibles values : oxo, oxe, third_party, undefined\n     * @param {string} country System country (ISO 3166-1 alpha3 format).\n     * @param {string} version CCA software version\n     * @param {number} serverPingTimeout CCA config data. Default value : 120\n     * @param {Array<string>} pbxMainBundlePrefix CCA config data: array of string\n     * @param {boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG\n     * @param {Array<Object>} pbxNumberingTranslator List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use [] </BR>\n     * {string} regexpMatch A valid regular expression used to select a translator action. \\d is not supported! Use (0..9) instead. </BR>\n     * {string} regexpReplace A valid dialable number. </BR>\n     * {string} description A short description of the rule. </BR>\n     * @param {string} pbxNationalPrefix National prefix\n     * @param {string} pbxInternationalPrefix International prefix\n     * @param {Array<string>} searchResultOrder List of directory types to order search results: </BR>\n     * - RAINBOW: phone numbers defined in Rainbow users </BR>\n     * - LDAP: phone numbers defined in directories according to the following priority order: </BR>\n     * * personal directory of the user </BR>\n     * * company directory (of the company(ies) to which the PBX is linked) </BR>\n     * * office365 directory (of the company(ies) to which the PBX is linked) </BR>\n     * - PBX: phone numbers defined in the phone book of the PBX </BR>\n     * </BR>\n     * Possibles values : RAINBOW, LDAP, PBX </BR>\n     * @param {string} activationCode Currently, the activation code is a random 4 digits value (between 1000 and 9999) generated by the admin portal. With activationCode field, it's possible to set a custom value. In the Http success response the value is available in the 'jid_pbxagent_password' field. activationCode is only taken in account during a system creation.\n     * @param {boolean} isCentrex Indicates if the system is one tenant or multi-tenant (OXE - OTEC-S or third_party). isCentrex flag can't be set to true if isShared flag is true (these settings are exclusives). Default value : false\n     * @param {boolean} isShared Indicates if the system is multi-company (shared across multiple companies). </BR>\n     * </BR>\n     * * isShared flag can't be set to true if isCentrex flag is true (these settings are exclusives). </BR>\n     * * Shared systems can be linked to several sites from different companies. </BR>\n     * * Several shared PBX can be attached to a same Rainbow company, as well as \"standard\" systems (i.e. systems without isShared flag, and so being linked only to this company). </BR>\n     * * Companies being linked to shared PBX can't be attached to centrex systems. </BR>\n     * * It is understood that this approach exposes all users of the shared PBX to all companies that have users on this PBX (for association, for dial by name). Anyway it seats on a PBX infra where all PBX users can directly dial (by short num and DBN) any other users of the network from their deskphones. </BR>\n     * * In cases the underlying infra is an homogeneous network of PBX, PBX grouping has to be managed. </BR>\n     * </BR>\n     * Default value : false </BR>\n     * @param {string} bpId Link the system to the corresponding Business partner company. bpId must correspond to a valid company having isBP equal to true. Only directly settable by superadmin. If the system is created by a bp_admin, bpId is automatically set to bp_admin's system id.\n     * @param {boolean} isOxoManaged Indicates if the system is an OXO managed. Only settable if type is set to oxo. This setting can only be set at system creation, then it can't be modified. Only one OXO Managed PBX is allowed for a company.\n     * @description\n     *  This API allows administrator to create a system. </BR>\n     *  A system hosts the CCA (Call Control Agent) configuration. </BR>\n     *  </BR>\n     *  superadmin can create systems linked to all sites existing in Rainbow. </BR>\n     *  bp_admin can only create systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n     *  organization_admin can only create systems linked to sites of companies under their organisation. </BR>\n     *  company_admin can only create systems linked to sites of their company. </BR>\n     *  site_admin can only create the systems linked to the site they administrate. </BR>\n     *  </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | System unique identifier |\n     * | name optionnel | string | System name/description |\n     * | pbxId | string | Call Control Agent (CCA) login. |\n     * | pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n     * | siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n     * | type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n     * | country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n     * | version | string | CCA software version |\n     * | jid_pbxagent optionnel | string | CCA Jabber Id |\n     * | jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n     * | jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n     * | jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n     * | status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n     * | serverPingTimeout optionnel | Number | CCA config data |\n     * | pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n     * | pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n     * | regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n     * | regexpReplace optionnel | string | A valid dialable number. |\n     * | description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n     * | pbxNationalPrefix optionnel | string | National prefix |\n     * | pbxInternationalPrefix optionnel | string | International prefix |\n     * | creationDate | Date-Time | System creation date (Read only) |\n     * | statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n     * | searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n     * | hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n     * | isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n     * | isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n     * | isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n     * | bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n     * | connectionHistory | Object\\[\\] | history of connections. |\n     * | eventType | string | Type of connection |\n     * | eventDate | Date-Time | Date of connection |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11591,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "createSystem",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System name/description",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CCA (Call Control Agent) hosted by a System needs an account to XMPP. This is the login to access to XMPP server. It should be given during system creation or automatically generated.",
        "name": "pbxId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId.",
        "name": "pbxLdapId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site from which the system is linked with.",
        "name": "siteId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CCA type. Possibles values : oxo, oxe, third_party, undefined",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System country (ISO 3166-1 alpha3 format).",
        "name": "country"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CCA software version",
        "name": "version"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "CCA config data. Default value : 120",
        "name": "serverPingTimeout"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "CCA config data: array of string",
        "name": "pbxMainBundlePrefix"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Whether or not pbxMainBundlePrefix is used by PCG",
        "name": "usePbxMainBundlePrefix"
      },
      {
        "type": {
          "names": [
            "Array.<Object>"
          ]
        },
        "description": "List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use [] </BR>\n{string} regexpMatch A valid regular expression used to select a translator action. \\d is not supported! Use (0..9) instead. </BR>\n{string} regexpReplace A valid dialable number. </BR>\n{string} description A short description of the rule. </BR>",
        "name": "pbxNumberingTranslator"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "National prefix",
        "name": "pbxNationalPrefix"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "International prefix",
        "name": "pbxInternationalPrefix"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "List of directory types to order search results: </BR>\n- RAINBOW: phone numbers defined in Rainbow users </BR>\n- LDAP: phone numbers defined in directories according to the following priority order: </BR>\n* personal directory of the user </BR>\n* company directory (of the company(ies) to which the PBX is linked) </BR>\n* office365 directory (of the company(ies) to which the PBX is linked) </BR>\n- PBX: phone numbers defined in the phone book of the PBX </BR>\n</BR>\nPossibles values : RAINBOW, LDAP, PBX </BR>",
        "name": "searchResultOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Currently, the activation code is a random 4 digits value (between 1000 and 9999) generated by the admin portal. With activationCode field, it's possible to set a custom value. In the Http success response the value is available in the 'jid_pbxagent_password' field. activationCode is only taken in account during a system creation.",
        "name": "activationCode"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if the system is one tenant or multi-tenant (OXE - OTEC-S or third_party). isCentrex flag can't be set to true if isShared flag is true (these settings are exclusives). Default value : false",
        "name": "isCentrex"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if the system is multi-company (shared across multiple companies). </BR>\n</BR>\n* isShared flag can't be set to true if isCentrex flag is true (these settings are exclusives). </BR>\n* Shared systems can be linked to several sites from different companies. </BR>\n* Several shared PBX can be attached to a same Rainbow company, as well as \"standard\" systems (i.e. systems without isShared flag, and so being linked only to this company). </BR>\n* Companies being linked to shared PBX can't be attached to centrex systems. </BR>\n* It is understood that this approach exposes all users of the shared PBX to all companies that have users on this PBX (for association, for dial by name). Anyway it seats on a PBX infra where all PBX users can directly dial (by short num and DBN) any other users of the network from their deskphones. </BR>\n* In cases the underlying infra is an homogeneous network of PBX, PBX grouping has to be managed. </BR>\n</BR>\nDefault value : false </BR>",
        "name": "isShared"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Link the system to the corresponding Business partner company. bpId must correspond to a valid company having isBP equal to true. Only directly settable by superadmin. If the system is created by a bp_admin, bpId is automatically set to bp_admin's system id.",
        "name": "bpId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if the system is an OXO managed. Only settable if type is set to oxo. This setting can only be set at system creation, then it can't be modified. Only one OXO Managed PBX is allowed for a company.",
        "name": "isOxoManaged"
      }
    ],
    "description": "This API allows administrator to create a system. </BR>\n A system hosts the CCA (Call Control Agent) configuration. </BR>\n </BR>\n superadmin can create systems linked to all sites existing in Rainbow. </BR>\n bp_admin can only create systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n organization_admin can only create systems linked to sites of companies under their organisation. </BR>\n company_admin can only create systems linked to sites of their company. </BR>\n site_admin can only create the systems linked to the site they administrate. </BR>\n </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | System unique identifier |\n| name optionnel | string | System name/description |\n| pbxId | string | Call Control Agent (CCA) login. |\n| pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n| siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n| type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n| country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n| version | string | CCA software version |\n| jid_pbxagent optionnel | string | CCA Jabber Id |\n| jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n| jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n| jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n| status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n| serverPingTimeout optionnel | Number | CCA config data |\n| pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n| pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n| regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n| regexpReplace optionnel | string | A valid dialable number. |\n| description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n| pbxNationalPrefix optionnel | string | National prefix |\n| pbxInternationalPrefix optionnel | string | International prefix |\n| creationDate | Date-Time | System creation date (Read only) |\n| statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n| searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n| hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n| isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n| isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n| isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n| bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n| connectionHistory | Object\\[\\] | history of connections. |\n| eventType | string | Type of connection |\n| eventDate | Date-Time | Date of connection |"
      }
    ],
    "longname": "module:AdminService#createSystem",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createSystem",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createUserInCompany\n     * @instance\n     * @description\n     *      Create a new user in a given company </BR>\n     * @param {string} email The email of the user to create\n     * @param {string} password The associated password\n     * @param {string} firstname The user firstname\n     * @param {string} lastname  The user lastname\n     * @param {string} companyId=`user company id` The Id of the company where to create the user or the connected user company if null\n     * @param {string} language=\"en-US\" The language of the user. Default is `en-US`. Can be fr-FR, de-DE...\n     * @param {boolean} isCompanyAdmin=false True to create the user with the right to manage the company (`companyAdmin`). False by default.\n     * @param {Array<string>} roles=[\"user\"] The roles the created user. Default value : [\"user\"].\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Contact, ErrorManager>}\n     * @fulfil {Contact} - Created contact in company or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1277,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Contact} - Created contact in company or an error object depending on the result",
        "value": "{Contact} - Created contact in company or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "createUserInCompany",
    "scope": "instance",
    "description": "Create a new user in a given company </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The email of the user to create",
        "name": "email"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The associated password",
        "name": "password"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The user firstname",
        "name": "firstname"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The user lastname",
        "name": "lastname"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "`user",
        "description": "company id` The Id of the company where to create the user or the connected user company if null",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"en-US\"",
        "description": "The language of the user. Default is `en-US`. Can be fr-FR, de-DE...",
        "name": "language"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": false,
        "description": "True to create the user with the right to manage the company (`companyAdmin`). False by default.",
        "name": "isCompanyAdmin"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "defaultvalue": "[\"user\"",
        "description": "The roles the created user. Default value : [\"user\"].",
        "name": "roles"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Contact, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#createUserInCompany",
    "memberof": "module:AdminService",
    "$longname": "AdminService#createUserInCompany",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deactivateEmailTemplate\n     * @since 2.28.3\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. For the entire list of allowed template names, use GET /api/rainbow/admin/v1.0/companies/customizations/emails?format=small\n     * <div style=\"text-align : left\">\n     * </br>   Possibles values : admin_cancel_invite_user_join_company, admin_invite_user_join_company,\n     * </br>   admin_invite_user_join_company_as_admin, admin_invite_user_register_and_join_company,\n     * </br>   admin_invite_user_register_and_join_company_as_admin, admin_request_company_visibility,\n     * </br>   bp_admin_invite_ec_admin_link_his_company_to_bp, ec_admin_request_bp_admin_link_his_company_to_bp,\n     * </br>   bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir, ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir,\n     * </br>   enduser_account_creation_completed, enduser_account_terminated, enduser_account_terminated_by_himself,\n     * </br>   enduser_conversation_download, enduser_invite_somebody, enduser_chat_room_invite_guest, enduser_conference_invite_somebody,\n     * </br>   enduser_scheduled_conference_cancel_invite, enduser_scheduled_conference_invite_somebody, enduser_scheduled_conference_ical,\n     * </br>   enduser_scheduled_conference_cancel_ical, enduser_request_join_company, enduser_request_user_visibility,\n     * </br>   enduser_temporary_token_reset_password, enduser_temporary_token_self_register, enduser_offline_im_invite,\n     * </br>   enduser_guest_account_time_to_live, enduser_oauth_authentication_notification\n     * </div>\n     * @description\n     * This API allows to desactivate an email template for a given company. An error occurs when the template name is not yet allowed or when it is not found for this company.\n     * As tested flag is a prerequisite to be allowed to activate the template, an error detail 409012 can be raised.\n     * Users with superadmin role can manage all available email templates of any company.\n     * Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * Users with company_admin users can only handle all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | operation status message. |\n     *\n     *  </br>example of result :\n     *  ```json\n     * {\n     *  \"data\": {\n     *    \"companyId\": \"598857f360c749e5890ff2f9\",\n     *    \"templateName\": \"enduser_conversation_download\",\n     *    \"isActive\": true,\n     *    \"mjmlFormat\": \"<mjml>\\n  <mj-body>\\n    <mj-section>\\n      <mj-column>\\n        <mj-text font-size=\\\"20px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          {{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n          <br/><br/> {{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}  \\n        </mj-text>\\n        <mj-text font-size=\\\"10px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          Copyright © 2018 Alcatel-Lucent Enterprise\\n        </mj-text>\\n      </mj-column>\\n    </mj-section>\\n  </mj-body>\\n</mjml>\",\n     *    \"subject\": \"{{ __({phrase: \\\"Conversation with {{userOrRoomDisplayName}}\\\", locale: locale}, {userOrRoomDisplayName: userOrRoomDisplayName}) | safe }}\",\n     *    \"textFormat\": \"{{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n\\n{{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}:\\n{{ publicWebsiteURL }}\\n\\nCopyright © 2018 Alcatel-Lucent Enterprise\",\n     *    \"tested\": true\n     *  }\n     * }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5843,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deactivateEmailTemplate",
    "since": "2.28.3",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. For the entire list of allowed template names, use GET /api/rainbow/admin/v1.0/companies/customizations/emails?format=small\n<div style=\"text-align : left\">\n</br>   Possibles values : admin_cancel_invite_user_join_company, admin_invite_user_join_company,\n</br>   admin_invite_user_join_company_as_admin, admin_invite_user_register_and_join_company,\n</br>   admin_invite_user_register_and_join_company_as_admin, admin_request_company_visibility,\n</br>   bp_admin_invite_ec_admin_link_his_company_to_bp, ec_admin_request_bp_admin_link_his_company_to_bp,\n</br>   bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir, ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir,\n</br>   enduser_account_creation_completed, enduser_account_terminated, enduser_account_terminated_by_himself,\n</br>   enduser_conversation_download, enduser_invite_somebody, enduser_chat_room_invite_guest, enduser_conference_invite_somebody,\n</br>   enduser_scheduled_conference_cancel_invite, enduser_scheduled_conference_invite_somebody, enduser_scheduled_conference_ical,\n</br>   enduser_scheduled_conference_cancel_ical, enduser_request_join_company, enduser_request_user_visibility,\n</br>   enduser_temporary_token_reset_password, enduser_temporary_token_self_register, enduser_offline_im_invite,\n</br>   enduser_guest_account_time_to_live, enduser_oauth_authentication_notification\n</div>",
        "name": "templateName"
      }
    ],
    "description": "This API allows to desactivate an email template for a given company. An error occurs when the template name is not yet allowed or when it is not found for this company.\nAs tested flag is a prerequisite to be allowed to activate the template, an error detail 409012 can be raised.\nUsers with superadmin role can manage all available email templates of any company.\nUsers with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\nUsers with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\nUsers with company_admin users can only handle all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | operation status message. |\n\n </br>example of result :\n ```json\n{\n \"data\": {\n   \"companyId\": \"598857f360c749e5890ff2f9\",\n   \"templateName\": \"enduser_conversation_download\",\n   \"isActive\": true,\n   \"mjmlFormat\": \"<mjml>\\n  <mj-body>\\n    <mj-section>\\n      <mj-column>\\n        <mj-text font-size=\\\"20px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          {{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n          <br/><br/> {{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}  \\n        </mj-text>\\n        <mj-text font-size=\\\"10px\\\" align=\\\"left\\\" color=\\\"#000\\\">\\n          Copyright © 2018 Alcatel-Lucent Enterprise\\n        </mj-text>\\n      </mj-column>\\n    </mj-section>\\n  </mj-body>\\n</mjml>\",\n   \"subject\": \"{{ __({phrase: \\\"Conversation with {{userOrRoomDisplayName}}\\\", locale: locale}, {userOrRoomDisplayName: userOrRoomDisplayName}) | safe }}\",\n   \"textFormat\": \"{{ __({phrase: \\\"Please find attached messages exchanged in your conversation.\\\", locale: locale}) }}\\n\\n{{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}:\\n{{ publicWebsiteURL }}\\n\\nCopyright © 2018 Alcatel-Lucent Enterprise\",\n   \"tested\": true\n }\n}\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#deactivateEmailTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deactivateEmailTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method declineApplicationDeployment\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to decline an application deployment.\n     *\n     * </br> Users with `superadmin` role can decline an application deployment.\n     * </br> Users with `admin` role can decline an application deployment.\n     * </br> Users with `app_admin` role can decline an application deployment.\n     * </br> Users with `app_superadmin` role can decline an application deployment.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @param {string} reason Reason why the application deployment is declined\n     * @category Applications\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id | string | Application unique identifier |\n     * | name | string | Application name |\n     * | platform | string | Application platform |\n     * | ownerId | string | Application owner unique identifier |\n     * | ownerEmail | string | Application owner email |\n     * | creationDate | string | Application creation date |\n     * | isPublished | boolean | Is application published |\n     * | appKeyOnly | boolean | Application uses only an application key for authentication |\n     * | appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n     * | appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n     * | appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n     * | appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n     * | appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n     * | appSecret | string | Application secret |\n     * | appKey | string | Application key |\n     * | jwtSecret | string | JWT secret |\n     * | redirectUris | array | Array of redirect URIs |\n     * | status | string | Application status |\n     * | type | string | Application type |\n     * | origin | string | Application origin |\n     * | blocked | boolean | Is application blocked |\n     * | blockedDate | string | Application blocked date |\n     * | blockedReason | string | Application blocked reason |\n     * | blockedBy | string | Application blocked by |\n     * | blockedByEmail | string | Application blocked by email |\n     * | lastLoginDate | string | Application last login date |\n     * | lastLoginIp | string | Application last login IP |\n     * | rateLimitPerSecond | number | Application rate limit per second |\n     * | rateLimitPerDay | number | Application rate limit per day |\n     * | rateLimitPerMonth | number | Application rate limit per month |\n     * | requestsCount | number | Application requests count |\n     * | requestsCountToday | number | Application requests count today |\n     * | requestsCountThisMonth | number | Application requests count this month |\n     * | requestsCountHistory | array | Application requests count history |\n     *\n     * </br>example of result :\n     * ```json\n     * {\n     *     \"id\": \"5c9be7d7da30af091cf57b43\",\n     *     \"name\": \"My Application\",\n     *     \"platform\": \"web\",\n     *     \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n     *     \"ownerEmail\": \"john.doe@example.com\",\n     *     \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"isPublished\": true,\n     *     \"appKeyOnly\": true,\n     *     \"appKeyAndSecret\": false,\n     *     \"appKeyAndSecretAndJwt\": false,\n     *     \"appKeyAndJwtSecret\": false,\n     *     \"appKeyAndJwtAndSecret\": false,\n     *     \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n     *     \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"redirectUris\": [\n     *         \"https://example.com/callback\"\n     *     ],\n     *     \"status\": \"active\",\n     *     \"type\": \"web\",\n     *     \"origin\": \"user\",\n     *     \"blocked\": false,\n     *     \"blockedDate\": null,\n     *     \"blockedReason\": null,\n     *     \"blockedBy\": null,\n     *     \"blockedByEmail\": null,\n     *     \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"lastLoginIp\": \"192.168.1.1\",\n     *     \"rateLimitPerSecond\": 10,\n     *     \"rateLimitPerDay\": 1000,\n     *     \"rateLimitPerMonth\": 30000,\n     *     \"requestsCount\": 100,\n     *     \"requestsCountToday\": 10,\n     *     \"requestsCountThisMonth\": 100,\n     *     \"requestsCountHistory\": [\n     *         {\n     *             \"date\": \"2019-03-27T15:00:00.000Z\",\n     *             \"count\": 10\n     *         }\n     *     ]\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16780,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "declineApplicationDeployment",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to decline an application deployment.\n\n</br> Users with `superadmin` role can decline an application deployment.\n</br> Users with `admin` role can decline an application deployment.\n</br> Users with `app_admin` role can decline an application deployment.\n</br> Users with `app_superadmin` role can decline an application deployment.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Reason why the application deployment is declined",
        "name": "reason"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id | string | Application unique identifier |\n| name | string | Application name |\n| platform | string | Application platform |\n| ownerId | string | Application owner unique identifier |\n| ownerEmail | string | Application owner email |\n| creationDate | string | Application creation date |\n| isPublished | boolean | Is application published |\n| appKeyOnly | boolean | Application uses only an application key for authentication |\n| appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n| appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n| appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n| appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n| appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n| appSecret | string | Application secret |\n| appKey | string | Application key |\n| jwtSecret | string | JWT secret |\n| redirectUris | array | Array of redirect URIs |\n| status | string | Application status |\n| type | string | Application type |\n| origin | string | Application origin |\n| blocked | boolean | Is application blocked |\n| blockedDate | string | Application blocked date |\n| blockedReason | string | Application blocked reason |\n| blockedBy | string | Application blocked by |\n| blockedByEmail | string | Application blocked by email |\n| lastLoginDate | string | Application last login date |\n| lastLoginIp | string | Application last login IP |\n| rateLimitPerSecond | number | Application rate limit per second |\n| rateLimitPerDay | number | Application rate limit per day |\n| rateLimitPerMonth | number | Application rate limit per month |\n| requestsCount | number | Application requests count |\n| requestsCountToday | number | Application requests count today |\n| requestsCountThisMonth | number | Application requests count this month |\n| requestsCountHistory | array | Application requests count history |\n\n</br>example of result :\n```json\n{\n    \"id\": \"5c9be7d7da30af091cf57b43\",\n    \"name\": \"My Application\",\n    \"platform\": \"web\",\n    \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n    \"ownerEmail\": \"john.doe@example.com\",\n    \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n    \"isPublished\": true,\n    \"appKeyOnly\": true,\n    \"appKeyAndSecret\": false,\n    \"appKeyAndSecretAndJwt\": false,\n    \"appKeyAndJwtSecret\": false,\n    \"appKeyAndJwtAndSecret\": false,\n    \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n    \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"redirectUris\": [\n        \"https://example.com/callback\"\n    ],\n    \"status\": \"active\",\n    \"type\": \"web\",\n    \"origin\": \"user\",\n    \"blocked\": false,\n    \"blockedDate\": null,\n    \"blockedReason\": null,\n    \"blockedBy\": null,\n    \"blockedByEmail\": null,\n    \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n    \"lastLoginIp\": \"192.168.1.1\",\n    \"rateLimitPerSecond\": 10,\n    \"rateLimitPerDay\": 1000,\n    \"rateLimitPerMonth\": 30000,\n    \"requestsCount\": 100,\n    \"requestsCountToday\": 10,\n    \"requestsCountThisMonth\": 100,\n    \"requestsCountHistory\": [\n        {\n            \"date\": \"2019-03-27T15:00:00.000Z\",\n            \"count\": 10\n        }\n    ]\n}\n```"
      }
    ],
    "longname": "module:AdminService#declineApplicationDeployment",
    "memberof": "module:AdminService",
    "$longname": "AdminService#declineApplicationDeployment",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method declineJoinCompanyInvitation\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company invitations\n     * @param {string} invitationId Join company invitation unique identifier.\n     * @async\n     * @description\n     *       This API allows to decline a join company invitation received by the user (invitation sent by admin ). <br>\n     *       Invitation must be pending (otherwise error 409 is returned). <br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company invitation unique Id |\n     * | companyId | string | Id of the company for which the join company invitation is |\n     * | companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n     * | invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n     * | invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n     * | invitingAdminId | string | Inviting company admin unique Rainbow Id |\n     * | invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n     * | invitationDate | Date-Time | Date the join company invitation was created |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n     * | status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n     * | acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n     * | declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4543,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company invitations",
        "value": "Company - Join company invitations"
      }
    ],
    "kind": "function",
    "name": "declineJoinCompanyInvitation",
    "scope": "instance",
    "since": "2.21.0",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company invitation unique identifier.",
        "name": "invitationId"
      }
    ],
    "async": true,
    "description": "This API allows to decline a join company invitation received by the user (invitation sent by admin ). <br>\n      Invitation must be pending (otherwise error 409 is returned). <br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company invitation unique Id |\n| companyId | string | Id of the company for which the join company invitation is |\n| companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n| invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n| invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n| invitingAdminId | string | Inviting company admin unique Rainbow Id |\n| invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n| invitationDate | Date-Time | Date the join company invitation was created |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n| status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n| acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n| declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |"
      }
    ],
    "longname": "module:AdminService#declineJoinCompanyInvitation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#declineJoinCompanyInvitation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteAClientVersion\n     * @since 2.5.0\n     * @instance\n     * @param {string} clientId Application unique identifier to which the client version refer\n     * @async\n     * @category Clients Versions\n     * @description\n     *      This API can be used to delete the minimal required version defined for a given client application.</BR>\n     *      When no minimal required version is defined for a client application, this application will allow to log users in Rainbow whatever their version.</BR>\n     *      Users with superadmin role can delete the minimal required version for any client applications.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13450,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Clients Versions",
        "value": "Clients Versions"
      }
    ],
    "kind": "function",
    "name": "deleteAClientVersion",
    "since": "2.5.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier to which the client version refer",
        "name": "clientId"
      }
    ],
    "async": true,
    "description": "This API can be used to delete the minimal required version defined for a given client application.</BR>\n     When no minimal required version is defined for a client application, this application will allow to log users in Rainbow whatever their version.</BR>\n     Users with superadmin role can delete the minimal required version for any client applications.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteAClientVersion",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteAClientVersion",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteAJoinCompanyLink\n     * @instance\n     * @description\n     *      This API can be used by company `admin` users to delete a join company link by id </BR>\n     *      Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>\n     *      Join company links can't be deleted if they have been used by users to register in the related company (in that case they can only be disabled, by updating `isEnabled` value to false). </BR>\n     * @async\n     * @param {string} companyId Company unique identifier. Default value is the current logued in user's company.</br>\n     * @param {string} joinCompanyLinkId Join company link unique identifier.\n     * @category Company join companies links\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Join company link Object |\n     * | status | string | Deletion status |\n     * | id  | string | Join company link unique Id |\n     * | companyId | string | Company related to the join company link |\n     * | creationDate | Date-Time | Creation date of the join company link |\n     * | createdByAdminId | string | Unique Id of the admin who created the join company link |\n     * | description optionnel | string | Join company link description |\n     * | isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n     * | expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n     * | maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n     * | nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 592,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company join companies links",
        "value": "Company join companies links"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "deleteAJoinCompanyLink",
    "scope": "instance",
    "description": "This API can be used by company `admin` users to delete a join company link by id </BR>\n     Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>\n     Join company links can't be deleted if they have been used by users to register in the related company (in that case they can only be disabled, by updating `isEnabled` value to false). </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier. Default value is the current logued in user's company.</br>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company link unique identifier.",
        "name": "joinCompanyLinkId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Join company link Object |\n| status | string | Deletion status |\n| id  | string | Join company link unique Id |\n| companyId | string | Company related to the join company link |\n| creationDate | Date-Time | Creation date of the join company link |\n| createdByAdminId | string | Unique Id of the admin who created the join company link |\n| description optionnel | string | Join company link description |\n| isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n| expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n| maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n| nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |"
      }
    ],
    "longname": "module:AdminService#deleteAJoinCompanyLink",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteAJoinCompanyLink",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteAllTrustedApplications\n     * @since 2.22.4\n     * @instance\n     * @async\n     * @category Multifactor Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users to delete all trusted applications. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Trusted applications delete status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13685,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Multifactor Rainbow Authentication",
        "value": "Multifactor Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "deleteAllTrustedApplications",
    "since": "2.22.4",
    "scope": "instance",
    "async": true,
    "description": "This API allows Rainbow users to delete all trusted applications. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Trusted applications delete status message. |"
      }
    ],
    "longname": "module:AdminService#deleteAllTrustedApplications",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteAllTrustedApplications",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteAnAtriumTicketInformation\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users ticket\n     * @param {string} userId User or Rainbow room unique identifier.\n     * @param {string} ticketId ticketId Ticket unique identifier\n     * @description\n     *     This API allows to delete an existing context in database from a submitted ticket to Zendesk. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * example of result :\n     * ```json\n     * {\n     * \"externalRef\": \"xxxxxxx\",\n     * \"internalRef\": \"xxxxxxx\",\n     * \"subject\": \"ringing problem\",\n     * \"description\": \"Hello Houston, we've got a problem.\",\n     * \"additionalDescription\": \"my phone neither\",\n     * \"resource\": \"web\\_win\\_xxxxx\",\n     * \"logs\": []\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15565,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteAnAtriumTicketInformation",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users ticket",
        "value": "Customer Care - Users ticket"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ticketId Ticket unique identifier",
        "name": "ticketId"
      }
    ],
    "description": "This API allows to delete an existing context in database from a submitted ticket to Zendesk. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\nexample of result :\n```json\n{\n\"externalRef\": \"xxxxxxx\",\n\"internalRef\": \"xxxxxxx\",\n\"subject\": \"ringing problem\",\n\"description\": \"Hello Houston, we've got a problem.\",\n\"additionalDescription\": \"my phone neither\",\n\"resource\": \"web\\_win\\_xxxxx\",\n\"logs\": []\n}\n```"
      }
    ],
    "longname": "module:AdminService#deleteAnAtriumTicketInformation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteAnAtriumTicketInformation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteAnImportStatusReport\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} reqId the import request id\n     * @description\n     *     This API allows to delete the report of an import identified by its reqId. </BR>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | * delete status |\n     * | reqId | string | * deleted reqId |\n     * | status | string | * delete status |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7490,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteAnImportStatusReport",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the import request id",
        "name": "reqId"
      }
    ],
    "description": "This API allows to delete the report of an import identified by its reqId. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | * delete status |\n| reqId | string | * deleted reqId |\n| status | string | * delete status |"
      }
    ],
    "longname": "module:AdminService#deleteAnImportStatusReport",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteAnImportStatusReport",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteApiKey\n     * @since 2.36.0\n     * @instance\n     * @async\n     * @param {string} apiKeyId API_KEY unique identifier\n     * @category Apikeys Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users to delete an Api Key. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field | Type | Description |\n     * | --- | --- | --- |\n     * | status | String | Deletion status |\n     * | data | Object | Response Object. |\n     * | id  | String | The identifier of the API_KEY |\n     * | scope | String\\[\\] | The scope of the API_KEY |\n     * | description | String | The description of the API_KEY |\n     * | isActive | Boolean | Indicate if the API_KEY is active |\n     * | userId | String | The identifier of the API_KEY owner |\n     * | loginEmail | String | The Email of the API_KEY owner |\n     * | expirationDate optional | Date-Time | The expiration date of the API_KEY |\n     * | creationDate | Date-Time | The creation date of the API_KEY |\n     * | lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n     * | createdBy | Object | The object containing some information about the creator of the API_KEY |\n     * | userId | String | The identifier the creator of the API_KEY |\n     * | loginEmail | String | The Email the creator of the API_KEY |\n     * | appId | String | The identifier of the application associated to the creator of the API_KEY |\n     * | appName | String | The name of the application associated to the creator of the API_KEY |\n     * | clientMetadata | Object | The metadata of the client |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13922,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Apikeys Rainbow Authentication",
        "value": "Apikeys Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "deleteApiKey",
    "since": "2.36.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "API_KEY unique identifier",
        "name": "apiKeyId"
      }
    ],
    "description": "This API allows Rainbow users to delete an Api Key. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field | Type | Description |\n| --- | --- | --- |\n| status | String | Deletion status |\n| data | Object | Response Object. |\n| id  | String | The identifier of the API_KEY |\n| scope | String\\[\\] | The scope of the API_KEY |\n| description | String | The description of the API_KEY |\n| isActive | Boolean | Indicate if the API_KEY is active |\n| userId | String | The identifier of the API_KEY owner |\n| loginEmail | String | The Email of the API_KEY owner |\n| expirationDate optional | Date-Time | The expiration date of the API_KEY |\n| creationDate | Date-Time | The creation date of the API_KEY |\n| lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n| createdBy | Object | The object containing some information about the creator of the API_KEY |\n| userId | String | The identifier the creator of the API_KEY |\n| loginEmail | String | The Email the creator of the API_KEY |\n| appId | String | The identifier of the application associated to the creator of the API_KEY |\n| appName | String | The name of the application associated to the creator of the API_KEY |\n| clientMetadata | Object | The metadata of the client |"
      }
    ],
    "longname": "module:AdminService#deleteApiKey",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteApiKey",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to delete an application.\n     *\n     * </br> Users with `superadmin` role can delete an application.\n     * </br> Users with `admin` role can delete an application.\n     * </br> Users with `app_admin` role can delete an application.\n     * </br> Users with `app_superadmin` role can delete an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Deletion status |\n     *\n     * </br>example of result :\n     * ```json\n     * {\n     *     \"status\": \"Application successfully deleted\"\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16890,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "deleteApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to delete an application.\n\n</br> Users with `superadmin` role can delete an application.\n</br> Users with `admin` role can delete an application.\n</br> Users with `app_admin` role can delete an application.\n</br> Users with `app_superadmin` role can delete an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Deletion status |\n\n</br>example of result :\n```json\n{\n    \"status\": \"Application successfully deleted\"\n}\n```"
      }
    ],
    "longname": "module:AdminService#deleteApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteAvailableEmailTemplatesBycompanyId\n     * @since 2.28.3\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation(format=small)**\n     *\n     * * `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n     *\n     * Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`,\n     * </br> `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`,\n     * </br> `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`,\n     * </br> `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`,\n     * </br> `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`,\n     * </br> `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`,\n     * </br> `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`\n     * @description\n     *  This API allows to delete all available email templates for a given company.\n     *\n     * </br> Users with superadmin role can delete all available email templates of any company.\n     * </br> Users with bp_admin role can only delete email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> Users with organization_admin role can only delete email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> Users with company_admin users can only delete all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Delete operation status message. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *   \"status\":\"Email Templates of company 5734a186070f38215854b61f successfully deleted\",\n     *   \"data\":[]\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5579,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteAvailableEmailTemplatesBycompanyId",
    "since": "2.28.3",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation(format=small)**\n\n* `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n\nPossibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`,\n</br> `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`,\n</br> `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`,\n</br> `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`,\n</br> `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`,\n</br> `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`,\n</br> `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`",
        "name": "templateName"
      }
    ],
    "description": "This API allows to delete all available email templates for a given company.\n\n</br> Users with superadmin role can delete all available email templates of any company.\n</br> Users with bp_admin role can only delete email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> Users with organization_admin role can only delete email templates for a company they manage (i.e. company linked to organization_admin's organization).\n</br> Users with company_admin users can only delete all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Delete operation status message. |\n\n </br>example of result :\n ```json\n {\n  \"status\":\"Email Templates of company 5734a186070f38215854b61f successfully deleted\",\n  \"data\":[]\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#deleteAvailableEmailTemplatesBycompanyId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteAvailableEmailTemplatesBycompanyId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteCloudPBX\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @description\n     *      This API allows to delete a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9775,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "deleteCloudPBX",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "description": "This API allows to delete a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteCloudPBX",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteCloudPBX",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteCloudPBXDDINumber\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers\n     * @description\n     *      This API allows to delete a DDI number for a CloudPBX. </BR>\n     *      Note : Default DDI can be deleted only if it is the last DDI of the CloudPBX. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11107,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers"
      }
    ],
    "kind": "function",
    "name": "deleteCloudPBXDDINumber",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier",
        "name": "phoneNumberId"
      }
    ],
    "async": true,
    "description": "This API allows to delete a DDI number for a CloudPBX. </BR>\n     Note : Default DDI can be deleted only if it is the last DDI of the CloudPBX. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteCloudPBXDDINumber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteCloudPBXDDINumber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteCloudPBXGroup\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId company id unique identifier. Default value is the connected user's company.\n     * @param {string} groupId Unique identifier of the Cloud PBX group to delete.\n     * @description\n     *      This API allows to delete a cloud PBX Group.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * </br> example of result :\n     * ```json\n     *  {\n     *     \"status\": \"Cloud PBX group 56c5c19f94141765119f896c successfully deleted\",\n     *     \"data\":[]\n     *  }\n     *  ```\n     * </br>\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15880,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteCloudPBXGroup",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "company id unique identifier. Default value is the connected user's company.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the Cloud PBX group to delete.",
        "name": "groupId"
      }
    ],
    "description": "This API allows to delete a cloud PBX Group.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n</br> example of result :\n```json\n {\n    \"status\": \"Cloud PBX group 56c5c19f94141765119f896c successfully deleted\",\n    \"data\":[]\n }\n ```\n</br>"
      }
    ],
    "longname": "module:AdminService#deleteCloudPBXGroup",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteCloudPBXGroup",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteCloudPBXSIPDevice\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} deviceId Unique identifier of the SIP device to delete\n     * @description\n     *      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.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10238,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "deleteCloudPBXSIPDevice",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device to delete",
        "name": "deviceId"
      }
    ],
    "description": "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.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteCloudPBXSIPDevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteCloudPBXSIPDevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteCloudPBXSubscriber\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id).\n     * @description\n     *      This API allows to delete a CloudPBX Subscriber. All its associated SIP devices become free for other subscribers.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10603,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "deleteCloudPBXSubscriber",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id).",
        "name": "phoneNumberId"
      }
    ],
    "description": "This API allows to delete a CloudPBX Subscriber. All its associated SIP devices become free for other subscribers.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteCloudPBXSubscriber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteCloudPBXSubscriber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteCompanyDirectoryAllEntry\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} companyId Id of the company.\n     * @description\n     *      This API allows administrators  to delete all the entries in the directory of a company they administrate.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12730,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "deleteCompanyDirectoryAllEntry",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company.",
        "name": "companyId"
      }
    ],
    "description": "This API allows administrators  to delete all the entries in the directory of a company they administrate.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteCompanyDirectoryAllEntry",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteCompanyDirectoryAllEntry",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteCustomisationTemplate\n     * @instance\n     * @description\n     *      This API allows an administrator to delete an application customisation template.\n     *\n     *      Users with superadmin role can delete any private template.\n     *\n     *      Users with bp_admin or admin role can only delete template they owned.\n     *      The template to delete may have been applied to one or several companies. So, before the template deletion, we have to go back to the application of this template. A default template is applyed instead (Full)\n     *      This is done automitically and it could be necessary to advice the administrator before deleting the template.\n     *      You can find on which companies the template has been applied by using the API getAllCompanies using the parameter selectedAppCustomisationTemplate=:templateId\n     * @async\n     * @category Customisation Template\n     * @return {Promise<any>}\n     * @fulfil {Object} - Json object containing the result of the method\n     * @category async\n     * @param {string} templateId Template id.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6241,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customisation Template",
        "value": "Customisation Template"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing the result of the method",
        "value": "{Object} - Json object containing the result of the method"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "deleteCustomisationTemplate",
    "scope": "instance",
    "description": "This API allows an administrator to delete an application customisation template.\n\n     Users with superadmin role can delete any private template.\n\n     Users with bp_admin or admin role can only delete template they owned.\n     The template to delete may have been applied to one or several companies. So, before the template deletion, we have to go back to the application of this template. A default template is applyed instead (Full)\n     This is done automitically and it could be necessary to advice the administrator before deleting the template.\n     You can find on which companies the template has been applied by using the API getAllCompanies using the parameter selectedAppCustomisationTemplate=:templateId",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Template id.",
        "name": "templateId"
      }
    ],
    "longname": "module:AdminService#deleteCustomisationTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteCustomisationTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteDirectoryEntry\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} entryId Id of the entry.\n     * @description\n     *      This API allows administrators  to delete an entry from the directory of a company they administrate.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12768,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "deleteDirectoryEntry",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the entry.",
        "name": "entryId"
      }
    ],
    "description": "This API allows administrators  to delete an entry from the directory of a company they administrate.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteDirectoryEntry",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteDirectoryEntry",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteEmailTemplate\n     * @since 2.28.3\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation(format=small)**\n     *\n     * * `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n     *\n     * Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`,\n     * </br> `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`,\n     * </br> `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`,\n     * </br> `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`,\n     * </br> `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`,\n     * </br> `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`,\n     * </br> `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`\n     * @description\n     *  This API allows to delete an email template for a given company. An error occurs when the template name is not yet allowed or when it is not found for this company.\n     *\n     * </br> Users with superadmin role can delete all available email templates of any company.\n     * </br> Users with bp_admin role can only delete email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> Users with organization_admin role can only delete email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> Users with company_admin users can only delete all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Delete operation status message. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *   \"status\":\"Email Template enduser_invite_somebody of company 5734a186070f38215854b61f successfully deleted\",\n     *   \"data\":[]\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5509,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteEmailTemplate",
    "since": "2.28.3",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation(format=small)**\n\n* `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n\nPossibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`,\n</br> `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`,\n</br> `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`,\n</br> `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`,\n</br> `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`,\n</br> `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`,\n</br> `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`",
        "name": "templateName"
      }
    ],
    "description": "This API allows to delete an email template for a given company. An error occurs when the template name is not yet allowed or when it is not found for this company.\n\n</br> Users with superadmin role can delete all available email templates of any company.\n</br> Users with bp_admin role can only delete email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> Users with organization_admin role can only delete email templates for a company they manage (i.e. company linked to organization_admin's organization).\n</br> Users with company_admin users can only delete all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Delete operation status message. |\n\n </br>example of result :\n ```json\n {\n  \"status\":\"Email Template enduser_invite_somebody of company 5734a186070f38215854b61f successfully deleted\",\n  \"data\":[]\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#deleteEmailTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteEmailTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteLdapAvatar\n     * @since 2.25.2-lts.3\n     * @instance\n     * @param {string} ldapId user unique identifier in ldap\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @description\n     *      This API can be used to delete avatar image for logged in user. </BR>\n     *      When an avatar is deleted, the field lastAvatarUpdateDate of the user is set to null. </BR>\n     *      User vCard is also updated: the PHOTO element is removed and the LASTAVATARUPDATE element is set to empty.   </BR>\n     * @return {Promise<any>} -\n     * </BR>\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Avatar upload status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9576,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteLdapAvatar",
    "since": "2.25.2-lts.3",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "user unique identifier in ldap",
        "name": "ldapId"
      }
    ],
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "description": "This API can be used to delete avatar image for logged in user. </BR>\n     When an avatar is deleted, the field lastAvatarUpdateDate of the user is set to null. </BR>\n     User vCard is also updated: the PHOTO element is removed and the LASTAVATARUPDATE element is set to empty.   </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "-\n</BR>\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Avatar upload status message. |"
      }
    ],
    "longname": "module:AdminService#deleteLdapAvatar",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteLdapAvatar",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteLdapConnector\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} ldapId the Id of the ldap connector to delete.\n     * @description\n     *      This API is to delete the connector </BR>\n     *     **BP Admin** and **BP Finance** users can only delete users being in a company linked to their BP company.</BR>\n     *     **Admin** users can only delete users being in their own company. (superadmin, organization\\_admin, company\\_admin)\n     *      return { </BR>\n     *          status {string} Delete operation status message. </BR>\n     *          } </BR>\n     * @return {Promise<{ status : string}>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8698,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteLdapConnector",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the Id of the ldap connector to delete.",
        "name": "ldapId"
      }
    ],
    "description": "This API is to delete the connector </BR>\n    **BP Admin** and **BP Finance** users can only delete users being in a company linked to their BP company.</BR>\n    **Admin** users can only delete users being in their own company. (superadmin, organization\\_admin, company\\_admin)\n     return { </BR>\n         status {string} Delete operation status message. </BR>\n         } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<{status: string}>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteLdapConnector",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteLdapConnector",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method deleteLdapConnectorConfig\n     * @since 2.9.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} ldapConfigId the Id of the ldap connector to delete.\n     * @description\n     *      This API can be used to delete a ldap connector config. </BR>\n     *      </BR>\n     *      **BP Admin** and **BP Finance** users can only delete a ldap config being in a company linked to their BP company. </BR>\n     *      **Admin** users can only delete ldap config being in their own company. (superadmin, organization_admin, company_admin)  </BR>\n     * @return {Promise<{ status : string}>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9102,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "deleteLdapConnectorConfig",
    "since": "2.9.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the Id of the ldap connector to delete.",
        "name": "ldapConfigId"
      }
    ],
    "description": "This API can be used to delete a ldap connector config. </BR>\n     </BR>\n     **BP Admin** and **BP Finance** users can only delete a ldap config being in a company linked to their BP company. </BR>\n     **Admin** users can only delete ldap config being in their own company. (superadmin, organization_admin, company_admin)  </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<{status: string}>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteLdapConnectorConfig",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteLdapConnectorConfig",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteRainbowMultifactorConfiguration\n     * @since 2.29.0\n     * @instance\n     * @description\n     * This API allows to delete a Rainbow mfa policy server configuration for a given company.\n     *\n     * </br> Users with `superadmin` role can delete an Rainbow Mfa policy server configuration of any company.\n     * </br> `bp_admin` users can only delete an Rainbow Mfa policy server configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> `organization_admin` users can only delete an Rainbow Mfa policy server configuration for a company they manage\n     * </br> `company_admin` users can only delete an Rainbow Mfa policy server configuration of their own company.\n     *\n     * @async\n     * @param {string} companyId Company unique identifier\n     * @param {string} mfaId Rainbow policy unique identifier\n     * @category Company Rainbow Multifactor Authentication Server\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | deletion status |\n     *\n     * </br>example of result :\n     * ```json\n     *  {\n     *      \"status\": \"TOTP factor settings 'xyz' successfully deleted\"\n     *  }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 331,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company Rainbow Multifactor Authentication Server",
        "value": "Company Rainbow Multifactor Authentication Server"
      }
    ],
    "kind": "function",
    "name": "deleteRainbowMultifactorConfiguration",
    "since": "2.29.0",
    "scope": "instance",
    "description": "This API allows to delete a Rainbow mfa policy server configuration for a given company.\n\n</br> Users with `superadmin` role can delete an Rainbow Mfa policy server configuration of any company.\n</br> `bp_admin` users can only delete an Rainbow Mfa policy server configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> `organization_admin` users can only delete an Rainbow Mfa policy server configuration for a company they manage\n</br> `company_admin` users can only delete an Rainbow Mfa policy server configuration of their own company.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Rainbow policy unique identifier",
        "name": "mfaId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | deletion status |\n\n</br>example of result :\n```json\n {\n     \"status\": \"TOTP factor settings 'xyz' successfully deleted\"\n }\n```"
      }
    ],
    "longname": "module:AdminService#deleteRainbowMultifactorConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteRainbowMultifactorConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteSite\n     * @since 2.1.1\n     * @instance\n     * @async\n     * @category sites\n     * @param {string} siteId Site id. </BR>\n     * @description\n     *      This API allows administrators to delete a site by id they administrate.  </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11425,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "sites",
        "value": "sites"
      }
    ],
    "kind": "function",
    "name": "deleteSite",
    "since": "2.1.1",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site id. </BR>",
        "name": "siteId"
      }
    ],
    "description": "This API allows administrators to delete a site by id they administrate.  </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteSite",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteSite",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteSystem\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @param {string} systemId System unique identifier\n     * @description\n     * This API allows administrator to delete a given system. </BR>\n     * </BR>\n     * superadmin can delete systems linked to all sites existing in Rainbow. </BR>\n     * bp_admin can only delete systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n     * organization_admin can only delete systems linked to sites of companies under their organisation. </BR>\n     * company_admin can only delete systems linked to sites of their company. </BR>\n     * site_admin can only delete the systems linked to the site they administrate. </BR>\n     * </BR>\n     * Warning: all configuration data and phoneNumbers associated to this system will be deleted, and if these phoneNumbers were associated to a Rainbow user, it won't be anymore. </BR>\n     * jid_pbxagent and jid_pbxpcg XMPP accounts will also be deleted from XMPP. </BR>\n     * </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Delete operation status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11713,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "deleteSystem",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System unique identifier",
        "name": "systemId"
      }
    ],
    "description": "This API allows administrator to delete a given system. </BR>\n</BR>\nsuperadmin can delete systems linked to all sites existing in Rainbow. </BR>\nbp_admin can only delete systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\norganization_admin can only delete systems linked to sites of companies under their organisation. </BR>\ncompany_admin can only delete systems linked to sites of their company. </BR>\nsite_admin can only delete the systems linked to the site they administrate. </BR>\n</BR>\nWarning: all configuration data and phoneNumbers associated to this system will be deleted, and if these phoneNumbers were associated to a Rainbow user, it won't be anymore. </BR>\njid_pbxagent and jid_pbxpcg XMPP accounts will also be deleted from XMPP. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Delete operation status message. |"
      }
    ],
    "longname": "module:AdminService#deleteSystem",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteSystem",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteTrustedApplication\n     * @since 2.22.4\n     * @instance\n     * @async\n     * @category Multifactor Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users to delete a trusted application. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | trusted app delete status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13646,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Multifactor Rainbow Authentication",
        "value": "Multifactor Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "deleteTrustedApplication",
    "since": "2.22.4",
    "scope": "instance",
    "async": true,
    "description": "This API allows Rainbow users to delete a trusted application. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | trusted app delete status message. |"
      }
    ],
    "longname": "module:AdminService#deleteTrustedApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteTrustedApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteUser\n     * @instance\n     * @description\n     *      Delete an existing user </BR>\n     * @param {string} userId The id of the user\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Deleted user or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1841,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Deleted user or an error object depending on the result",
        "value": "{Object} - Deleted user or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "deleteUser",
    "scope": "instance",
    "description": "Delete an existing user </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The id of the user",
        "name": "userId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#deleteUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deleteUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deployApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to deploy an application.\n     *\n     * </br> Users with `superadmin` role can deploy an application.\n     * </br> Users with `admin` role can deploy an application.\n     * </br> Users with `app_admin` role can deploy an application.\n     * </br> Users with `app_superadmin` role can deploy an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id | string | Application unique identifier |\n     * | name | string | Application name |\n     * | platform | string | Application platform |\n     * | ownerId | string | Application owner unique identifier |\n     * | ownerEmail | string | Application owner email |\n     * | creationDate | string | Application creation date |\n     * | isPublished | boolean | Is application published |\n     * | appKeyOnly | boolean | Application uses only an application key for authentication |\n     * | appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n     * | appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n     * | appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n     * | appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n     * | appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n     * | appSecret | string | Application secret |\n     * | appKey | string | Application key |\n     * | jwtSecret | string | JWT secret |\n     * | redirectUris | array | Array of redirect URIs |\n     * | status | string | Application status |\n     * | type | string | Application type |\n     * | origin | string | Application origin |\n     * | blocked | boolean | Is application blocked |\n     * | blockedDate | string | Application blocked date |\n     * | blockedReason | string | Application blocked reason |\n     * | blockedBy | string | Application blocked by |\n     * | blockedByEmail | string | Application blocked by email |\n     * | lastLoginDate | string | Application last login date |\n     * | lastLoginIp | string | Application last login IP |\n     * | rateLimitPerSecond | number | Application rate limit per second |\n     * | rateLimitPerDay | number | Application rate limit per day |\n     * | rateLimitPerMonth | number | Application rate limit per month |\n     * | requestsCount | number | Application requests count |\n     * | requestsCountToday | number | Application requests count today |\n     * | requestsCountThisMonth | number | Application requests count this month |\n     * | requestsCountHistory | array | Application requests count history |\n     *\n     * </br>example of result :\n     * ```json\n     * {\n     *     \"id\": \"5c9be7d7da30af091cf57b43\",\n     *     \"name\": \"My Application\",\n     *     \"platform\": \"web\",\n     *     \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n     *     \"ownerEmail\": \"john.doe@example.com\",\n     *     \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"isPublished\": true,\n     *     \"appKeyOnly\": true,\n     *     \"appKeyAndSecret\": false,\n     *     \"appKeyAndSecretAndJwt\": false,\n     *     \"appKeyAndJwtSecret\": false,\n     *     \"appKeyAndJwtAndSecret\": false,\n     *     \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n     *     \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *     \"redirectUris\": [\n     *         \"https://example.com/callback\"\n     *     ],\n     *     \"status\": \"active\",\n     *     \"type\": \"web\",\n     *     \"origin\": \"user\",\n     *     \"blocked\": false,\n     *     \"blockedDate\": null,\n     *     \"blockedReason\": null,\n     *     \"blockedBy\": null,\n     *     \"blockedByEmail\": null,\n     *     \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n     *     \"lastLoginIp\": \"192.168.1.1\",\n     *     \"rateLimitPerSecond\": 10,\n     *     \"rateLimitPerDay\": 1000,\n     *     \"rateLimitPerMonth\": 30000,\n     *     \"requestsCount\": 100,\n     *     \"requestsCountToday\": 10,\n     *     \"requestsCountThisMonth\": 100,\n     *     \"requestsCountHistory\": [\n     *         {\n     *             \"date\": \"2019-03-27T15:00:00.000Z\",\n     *             \"count\": 10\n     *         }\n     *     ]\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16926,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "deployApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to deploy an application.\n\n</br> Users with `superadmin` role can deploy an application.\n</br> Users with `admin` role can deploy an application.\n</br> Users with `app_admin` role can deploy an application.\n</br> Users with `app_superadmin` role can deploy an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id | string | Application unique identifier |\n| name | string | Application name |\n| platform | string | Application platform |\n| ownerId | string | Application owner unique identifier |\n| ownerEmail | string | Application owner email |\n| creationDate | string | Application creation date |\n| isPublished | boolean | Is application published |\n| appKeyOnly | boolean | Application uses only an application key for authentication |\n| appKeyAndSecret | boolean | Application uses an application key and a secret for authentication |\n| appKeyAndSecretAndJwt | boolean | Application uses an application key, a secret and a JWT for authentication |\n| appKeyAndJwtSecret | boolean | Application uses an application key and a JWT secret for authentication |\n| appKeyAndJwtAndSecret | boolean | Application uses an application key, a JWT and a secret for authentication |\n| appKeyAndJwtAndSecretAndRedirectUri | boolean | Application uses an application key, a JWT, a secret and a redirect URI for authentication |\n| appSecret | string | Application secret |\n| appKey | string | Application key |\n| jwtSecret | string | JWT secret |\n| redirectUris | array | Array of redirect URIs |\n| status | string | Application status |\n| type | string | Application type |\n| origin | string | Application origin |\n| blocked | boolean | Is application blocked |\n| blockedDate | string | Application blocked date |\n| blockedReason | string | Application blocked reason |\n| blockedBy | string | Application blocked by |\n| blockedByEmail | string | Application blocked by email |\n| lastLoginDate | string | Application last login date |\n| lastLoginIp | string | Application last login IP |\n| rateLimitPerSecond | number | Application rate limit per second |\n| rateLimitPerDay | number | Application rate limit per day |\n| rateLimitPerMonth | number | Application rate limit per month |\n| requestsCount | number | Application requests count |\n| requestsCountToday | number | Application requests count today |\n| requestsCountThisMonth | number | Application requests count this month |\n| requestsCountHistory | array | Application requests count history |\n\n</br>example of result :\n```json\n{\n    \"id\": \"5c9be7d7da30af091cf57b43\",\n    \"name\": \"My Application\",\n    \"platform\": \"web\",\n    \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n    \"ownerEmail\": \"john.doe@example.com\",\n    \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n    \"isPublished\": true,\n    \"appKeyOnly\": true,\n    \"appKeyAndSecret\": false,\n    \"appKeyAndSecretAndJwt\": false,\n    \"appKeyAndJwtSecret\": false,\n    \"appKeyAndJwtAndSecret\": false,\n    \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n    \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n    \"redirectUris\": [\n        \"https://example.com/callback\"\n    ],\n    \"status\": \"active\",\n    \"type\": \"web\",\n    \"origin\": \"user\",\n    \"blocked\": false,\n    \"blockedDate\": null,\n    \"blockedReason\": null,\n    \"blockedBy\": null,\n    \"blockedByEmail\": null,\n    \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n    \"lastLoginIp\": \"192.168.1.1\",\n    \"rateLimitPerSecond\": 10,\n    \"rateLimitPerDay\": 1000,\n    \"rateLimitPerMonth\": 30000,\n    \"requestsCount\": 100,\n    \"requestsCountToday\": 10,\n    \"requestsCountThisMonth\": 100,\n    \"requestsCountHistory\": [\n        {\n            \"date\": \"2019-03-27T15:00:00.000Z\",\n            \"count\": 10\n        }\n    ]\n}\n```"
      }
    ],
    "longname": "module:AdminService#deployApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#deployApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method disableMultifactorAuthentication\n     * @since 2.22.4\n     * @instance\n     * @async\n     * @category Multifactor Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users to disable multifactor authentication. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13724,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Multifactor Rainbow Authentication",
        "value": "Multifactor Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "disableMultifactorAuthentication",
    "since": "2.22.4",
    "scope": "instance",
    "async": true,
    "description": "This API allows Rainbow users to disable multifactor authentication. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | status message. |"
      }
    ],
    "longname": "module:AdminService#disableMultifactorAuthentication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#disableMultifactorAuthentication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method disassociateCloudPBXDDINumber\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier.\n     * @param {string} userId Rainbow user unique identifier.\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers\n     * @description\n     *      This API allows to disassociate a DDI number from a Rainbow user. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11202,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers"
      }
    ],
    "kind": "function",
    "name": "disassociateCloudPBXDDINumber",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier.",
        "name": "phoneNumberId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Rainbow user unique identifier.",
        "name": "userId"
      }
    ],
    "async": true,
    "description": "This API allows to disassociate a DDI number from a Rainbow user. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#disassociateCloudPBXDDINumber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#disassociateCloudPBXDDINumber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method enableMultifactorAuthentication\n     * @since 2.22.4\n     * @instance\n     * @async\n     * @category Multifactor Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users to enable Multifactor Authentication in order to finalize activation process. </BR>\n     * @return {Promise<any>} - result\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13763,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Multifactor Rainbow Authentication",
        "value": "Multifactor Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "enableMultifactorAuthentication",
    "since": "2.22.4",
    "scope": "instance",
    "async": true,
    "description": "This API allows Rainbow users to enable Multifactor Authentication in order to finalize activation process. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#enableMultifactorAuthentication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#enableMultifactorAuthentication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method exportDirectoryCsvFile\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} companyId The company id of the directory to export.</BR>\n     * @param {string} filePath The folder where the directory will be exported.\n     * @description\n     *      This API allows administrators to export the directory in a CSV file.</BR>\n     * @return {Promise<any>} If it succeed then it returns the file full path of the exported data. If it failed then it return the error.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13171,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "exportDirectoryCsvFile",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The company id of the directory to export.</BR>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The folder where the directory will be exported.",
        "name": "filePath"
      }
    ],
    "description": "This API allows administrators to export the directory in a CSV file.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "If it succeed then it returns the file full path of the exported data. If it failed then it return the error."
      }
    ],
    "longname": "module:AdminService#exportDirectoryCsvFile",
    "memberof": "module:AdminService",
    "$longname": "AdminService#exportDirectoryCsvFile",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method factoryResetCloudPBXSIPDevice\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} deviceId Unique identifier of the SIP device to be reset\n     * @description\n     *      This API allows to reset a SIP deskphone device to its factory settings.</BR>\n     *      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). </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10155,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "factoryResetCloudPBXSIPDevice",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device to be reset",
        "name": "deviceId"
      }
    ],
    "description": "This API allows to reset a SIP deskphone device to its factory settings.</BR>\n     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). </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#factoryResetCloudPBXSIPDevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#factoryResetCloudPBXSIPDevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method generateApiKey\n     * @since 2.36.0\n     * @instance\n     * @async\n     * @param {Array<string>} scope=[\"all\"] The scope of the API_KEY. Allowed values: all\n     * @param {string} description=\"\" The description of the API_KEY\n     * @param {boolean} isActive=true Indicate if the API_KEY is active\n     * @param {string} expirationDate The expiration date of the API_KEY. If expirationDate is null or not set, the API_KEY never expire\n     * @category Apikeys Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users create an API_KEY for authentication. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field | Type | Description |\n     * | --- | --- | --- |\n     * | id  | String | The identifier of the API_KEY |\n     * | apiKey | String | The value of the API_KEY |\n     * | scope | String\\[\\] | The scope of the API_KEY |\n     * | description | String | The description of the API_KEY |\n     * | isActive | Boolean | Indicate if the API_KEY is active |\n     * | userId | String | The identifier of the API_KEY owner |\n     * | loginEmail | String | The Email of the API_KEY owner |\n     * | expirationDate optional | Date-Time | The expiration date of the API_KEY |\n     * | creationDate | Date-Time | The creation date of the API_KEY |\n     * | lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n     * | createdBy | Object | The object containing some information about the creator of the API_KEY |\n     * | userId | String | The identifier the creator of the API_KEY |\n     * | loginEmail | String | The Email the creator of the API_KEY |\n     * | appId | String | The identifier of the application associated to the creator of the API_KEY |\n     * | appName | String | The name of the application associated to the creator of the API_KEY |\n     * | clientMetadata | Object | The metadata of the client |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13978,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Apikeys Rainbow Authentication",
        "value": "Apikeys Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "generateApiKey",
    "since": "2.36.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "defaultvalue": "[\"all\"",
        "description": "The scope of the API_KEY. Allowed values: all",
        "name": "scope"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"\"",
        "description": "The description of the API_KEY",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Indicate if the API_KEY is active",
        "name": "isActive"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The expiration date of the API_KEY. If expirationDate is null or not set, the API_KEY never expire",
        "name": "expirationDate"
      }
    ],
    "description": "This API allows Rainbow users create an API_KEY for authentication. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field | Type | Description |\n| --- | --- | --- |\n| id  | String | The identifier of the API_KEY |\n| apiKey | String | The value of the API_KEY |\n| scope | String\\[\\] | The scope of the API_KEY |\n| description | String | The description of the API_KEY |\n| isActive | Boolean | Indicate if the API_KEY is active |\n| userId | String | The identifier of the API_KEY owner |\n| loginEmail | String | The Email of the API_KEY owner |\n| expirationDate optional | Date-Time | The expiration date of the API_KEY |\n| creationDate | Date-Time | The creation date of the API_KEY |\n| lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n| createdBy | Object | The object containing some information about the creator of the API_KEY |\n| userId | String | The identifier the creator of the API_KEY |\n| loginEmail | String | The Email the creator of the API_KEY |\n| appId | String | The identifier of the application associated to the creator of the API_KEY |\n| appName | String | The name of the application associated to the creator of the API_KEY |\n| clientMetadata | Object | The metadata of the client |"
      }
    ],
    "longname": "module:AdminService#generateApiKey",
    "memberof": "module:AdminService",
    "$longname": "AdminService#generateApiKey",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getABotServiceData\n     * @instance\n     * @param {string} botId Bot Service unique identifier\n     * @nodered true\n     * @description\n     *      This API can be used to get a bot service data. </BR>\n     * @async\n     * @category Bots\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Bot service unique identifier. |\n     * | name | string | Bot title, like 'Emily'. |\n     * | jid | string | Bot service's jid, should be like 'emily.rainbow.com'. |\n     * | isRainbowSupportBot | Boolean | Indicates if the bot service corresponds to Rainbow support bot (Emily). |\n     * | capabilities | string\\[\\] | List of capabilities tags |\n     * | createdByUserId | string | Unique identifier of the bot service owner. |\n     * | avatarId | string | Identifier of the Bot service's avatar.<br> |\n     * | lastAvatarUpdateDate | Date-Time | Date of last bot avatar update.<br><br>* `null` value indicates that no avatar is set for this bot.<br>* Bot avatar can be customized by company (users from the company see the custom avatar instead of the default one set for the bot).<br>    * if the bot has an avatar and this one is not customized for the company, `lastAvatarUpdateDate` corresponds to the date when the bot's owner set an avatar to the bot.<br>    * otherwise if the bot has a customized avatar for the company, `lastAvatarUpdateDate` corresponds to the date when the administrator has set the customized avatar for this company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 171,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getABotServiceData",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Bot Service unique identifier",
        "name": "botId"
      }
    ],
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Bots",
        "value": "Bots"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "description": "This API can be used to get a bot service data. </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Bot service unique identifier. |\n| name | string | Bot title, like 'Emily'. |\n| jid | string | Bot service's jid, should be like 'emily.rainbow.com'. |\n| isRainbowSupportBot | Boolean | Indicates if the bot service corresponds to Rainbow support bot (Emily). |\n| capabilities | string\\[\\] | List of capabilities tags |\n| createdByUserId | string | Unique identifier of the bot service owner. |\n| avatarId | string | Identifier of the Bot service's avatar.<br> |\n| lastAvatarUpdateDate | Date-Time | Date of last bot avatar update.<br><br>* `null` value indicates that no avatar is set for this bot.<br>* Bot avatar can be customized by company (users from the company see the custom avatar instead of the default one set for the bot).<br>    * if the bot has an avatar and this one is not customized for the company, `lastAvatarUpdateDate` corresponds to the date when the bot's owner set an avatar to the bot.<br>    * otherwise if the bot has a customized avatar for the company, `lastAvatarUpdateDate` corresponds to the date when the administrator has set the customized avatar for this company. |"
      }
    ],
    "longname": "module:AdminService#getABotServiceData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getABotServiceData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAClientVersionData\n     * @since 2.5.0\n     * @instance\n     * @param {string} clientId Application unique identifier to which the client version refer\n     * @async\n     * @category Clients Versions\n     * @description\n     *     This API can be used to get the minimal required version defined for a given client application (if any, otherwise a 404 http error is returned).</BR>\n     *     Users with superadmin role can retrieve the minimal required version for all client applications.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13486,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Clients Versions",
        "value": "Clients Versions"
      }
    ],
    "kind": "function",
    "name": "getAClientVersionData",
    "since": "2.5.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier to which the client version refer",
        "name": "clientId"
      }
    ],
    "async": true,
    "description": "This API can be used to get the minimal required version defined for a given client application (if any, otherwise a 404 http error is returned).</BR>\n    Users with superadmin role can retrieve the minimal required version for all client applications.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAClientVersionData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAClientVersionData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAJoinCompanyLink\n     * @instance\n     * @description\n     *      This API can be used by company admin users to get a join company link by id. </BR>\n     *      Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>\n     * @async\n     * @param {string} companyId Company unique identifier. Default value is the current logued in user's company.</br>\n     * @param {string} joinCompanyLinkId Join company link unique identifier.\n     * @category Company join companies links\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Join company link Object |\n     * | id  | string | Join company link unique Id |\n     * | companyId | string | Company related to the join company link |\n     * | creationDate | Date-Time | Creation date of the join company link |\n     * | createdByAdminId | string | Unique Id of the admin who created the join company link |\n     * | description optionnel | string | Join company link description |\n     * | isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n     * | expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n     * | maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n     * | nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 651,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company join companies links",
        "value": "Company join companies links"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAJoinCompanyLink",
    "scope": "instance",
    "description": "This API can be used by company admin users to get a join company link by id. </BR>\n     Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier. Default value is the current logued in user's company.</br>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company link unique identifier.",
        "name": "joinCompanyLinkId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Join company link Object |\n| id  | string | Join company link unique Id |\n| companyId | string | Company related to the join company link |\n| creationDate | Date-Time | Creation date of the join company link |\n| createdByAdminId | string | Unique Id of the admin who created the join company link |\n| description optionnel | string | Join company link description |\n| isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n| expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n| maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n| nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |"
      }
    ],
    "longname": "module:AdminService#getAJoinCompanyLink",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAJoinCompanyLink",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllApiKey\n     * @since 2.36.0\n     * @instance\n     * @async\n     * @param {boolean} isActive Allows to filter API_KEYs list on the isActive value provided in this option.\n     * @param {string} fromCreationDate Allows to filter API_KEYs list on the fromCreationDate value provided in this option.\n     * @param {string} toCreationDate Allows to filter API_KEYs list on the toCreationDate value provided in this option.\n     * @param {string} limit=100 Allow to specify the number of API_KEYs to retrieve. Default value: 100\n     * @param {string} offset=0 Allow to specify the position of first API_KEY to retrieve (first API_KEY if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"creationDate\" Sort API_KEYs list based on the given field. Default value: creationDate\n     * @param {string} sortOrder=-1 Specify order when sorting API_KEYs list. Default value: -1. Allowed values: -1, 1\n     * @param {string} format=\"small\" Allows to retrieve more or less details in response.</br>\n     * - small: id, description </br>\n     * - medium: id, description scope isActive expirationDate</br>\n     * - full: all of fields, except apiKey value</br>\n     * </br>\n     * Allowed values: small, medium, full\n     * @param {string} userId Allows an administrator to retrieve API_KEYs of a specific user.</br>\n     *     userId is not taken into account if the logged in user has not administration role(s)</br>\n     *     if userId parameter is not set, the API_KEYs of the logged in user are listed</br>\n     *     if userId parameter is set, the logged in user must be administrator of this user's company</br>\n     * @category Apikeys Rainbow Authentication\n     * @description\n     *     This API Allow a user to get all his API_KEYs, or an administrator to get all API_KEYs of a user that he's responsible. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | Response Object. |\n     * | id  | String | The identifier of the API_KEY |\n     * | scope | String\\[\\] | The scope of the API_KEY |\n     * | description | String | The description of the API_KEY |\n     * | isActive | Boolean | Indicate if the API_KEY is active |\n     * | userId | String | The identifier of the API_KEY owner |\n     * | loginEmail | String | The Email of the API_KEY owner |\n     * | expirationDate optional | Date-Time | The expiration date of the API_KEY |\n     * | creationDate | Date-Time | The creation date of the API_KEY |\n     * | lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n     * | createdBy | Object | The object containing some information about the creator of the API_KEY |\n     * | userId | String | The identifier the creator of the API_KEY |\n     * | loginEmail | String | The Email the creator of the API_KEY |\n     * | appId | String | The identifier of the application associated to the creator of the API_KEY |\n     * | appName | String | The name of the application associated to the creator of the API_KEY |\n     * | clientMetadata | Object | The metadata of the client |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14036,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Apikeys Rainbow Authentication",
        "value": "Apikeys Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "getAllApiKey",
    "since": "2.36.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter API_KEYs list on the isActive value provided in this option.",
        "name": "isActive"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter API_KEYs list on the fromCreationDate value provided in this option.",
        "name": "fromCreationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter API_KEYs list on the toCreationDate value provided in this option.",
        "name": "toCreationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of API_KEYs to retrieve. Default value: 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first API_KEY to retrieve (first API_KEY if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"creationDate\"",
        "description": "Sort API_KEYs list based on the given field. Default value: creationDate",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": -1,
        "description": "Specify order when sorting API_KEYs list. Default value: -1. Allowed values: -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less details in response.</br>\n- small: id, description </br>\n- medium: id, description scope isActive expirationDate</br>\n- full: all of fields, except apiKey value</br>\n</br>\nAllowed values: small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows an administrator to retrieve API_KEYs of a specific user.</br>\n    userId is not taken into account if the logged in user has not administration role(s)</br>\n    if userId parameter is not set, the API_KEYs of the logged in user are listed</br>\n    if userId parameter is set, the logged in user must be administrator of this user's company</br>",
        "name": "userId"
      }
    ],
    "description": "This API Allow a user to get all his API_KEYs, or an administrator to get all API_KEYs of a user that he's responsible. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | Response Object. |\n| id  | String | The identifier of the API_KEY |\n| scope | String\\[\\] | The scope of the API_KEY |\n| description | String | The description of the API_KEY |\n| isActive | Boolean | Indicate if the API_KEY is active |\n| userId | String | The identifier of the API_KEY owner |\n| loginEmail | String | The Email of the API_KEY owner |\n| expirationDate optional | Date-Time | The expiration date of the API_KEY |\n| creationDate | Date-Time | The creation date of the API_KEY |\n| lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n| createdBy | Object | The object containing some information about the creator of the API_KEY |\n| userId | String | The identifier the creator of the API_KEY |\n| loginEmail | String | The Email the creator of the API_KEY |\n| appId | String | The identifier of the application associated to the creator of the API_KEY |\n| appName | String | The name of the application associated to the creator of the API_KEY |\n| clientMetadata | Object | The metadata of the client |"
      }
    ],
    "longname": "module:AdminService#getAllApiKey",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllApiKey",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllApplicationsCreatedByUser\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to get all applications created by a user.\n     *\n     * </br> Users with `superadmin` role can get all applications created by any user.\n     * </br> Users with `admin` role can get all applications created by any user.\n     * </br> Users with `app_admin` role can get all applications created by any user.\n     * </br> Users with `app_superadmin` role can get all applications created by any user.\n     * </br> Other users can only get their own applications.\n     *\n     * @async\n     * @param {string} userId User unique identifier (if not provided, the current user's ID will be used)\n     * @category Applications\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | array | Array of applications |\n     * | limit | number | Limit of applications returned |\n     * | offset | number | Offset of applications returned |\n     * | total | number | Total number of applications |\n     *\n     * </br>example of result :\n     * ```json\n     * {\n     *     \"data\": [\n     *         {\n     *             \"id\": \"5c9be7d7da30af091cf57b43\",\n     *             \"name\": \"My Application\",\n     *             \"platform\": \"web\",\n     *             \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n     *             \"ownerEmail\": \"john.doe@example.com\",\n     *             \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n     *             \"isPublished\": true,\n     *             \"appKeyOnly\": true,\n     *             \"appKeyAndSecret\": false,\n     *             \"appKeyAndSecretAndJwt\": false,\n     *             \"appKeyAndJwtSecret\": false,\n     *             \"appKeyAndJwtAndSecret\": false,\n     *             \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n     *             \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *             \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *             \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n     *             \"redirectUris\": [\n     *                 \"https://example.com/callback\"\n     *             ],\n     *             \"status\": \"active\",\n     *             \"type\": \"web\",\n     *             \"origin\": \"user\",\n     *             \"blocked\": false,\n     *             \"blockedDate\": null,\n     *             \"blockedReason\": null,\n     *             \"blockedBy\": null,\n     *             \"blockedByEmail\": null,\n     *             \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n     *             \"lastLoginIp\": \"192.168.1.1\",\n     *             \"rateLimitPerSecond\": 10,\n     *             \"rateLimitPerDay\": 1000,\n     *             \"rateLimitPerMonth\": 30000,\n     *             \"requestsCount\": 100,\n     *             \"requestsCountToday\": 10,\n     *             \"requestsCountThisMonth\": 100,\n     *             \"requestsCountHistory\": [\n     *                 {\n     *                     \"date\": \"2019-03-27T15:00:00.000Z\",\n     *                     \"count\": 10\n     *                 }\n     *             ]\n     *         }\n     *     ],\n     *     \"limit\": 100,\n     *     \"offset\": 0,\n     *     \"total\": 1\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17035,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "getAllApplicationsCreatedByUser",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to get all applications created by a user.\n\n</br> Users with `superadmin` role can get all applications created by any user.\n</br> Users with `admin` role can get all applications created by any user.\n</br> Users with `app_admin` role can get all applications created by any user.\n</br> Users with `app_superadmin` role can get all applications created by any user.\n</br> Other users can only get their own applications.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User unique identifier (if not provided, the current user's ID will be used)",
        "name": "userId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | array | Array of applications |\n| limit | number | Limit of applications returned |\n| offset | number | Offset of applications returned |\n| total | number | Total number of applications |\n\n</br>example of result :\n```json\n{\n    \"data\": [\n        {\n            \"id\": \"5c9be7d7da30af091cf57b43\",\n            \"name\": \"My Application\",\n            \"platform\": \"web\",\n            \"ownerId\": \"5c9be7d7da30af091cf57b42\",\n            \"ownerEmail\": \"john.doe@example.com\",\n            \"creationDate\": \"2019-03-27T15:00:00.000Z\",\n            \"isPublished\": true,\n            \"appKeyOnly\": true,\n            \"appKeyAndSecret\": false,\n            \"appKeyAndSecretAndJwt\": false,\n            \"appKeyAndJwtSecret\": false,\n            \"appKeyAndJwtAndSecret\": false,\n            \"appKeyAndJwtAndSecretAndRedirectUri\": false,\n            \"appSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n            \"appKey\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n            \"jwtSecret\": \"UzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\n            \"redirectUris\": [\n                \"https://example.com/callback\"\n            ],\n            \"status\": \"active\",\n            \"type\": \"web\",\n            \"origin\": \"user\",\n            \"blocked\": false,\n            \"blockedDate\": null,\n            \"blockedReason\": null,\n            \"blockedBy\": null,\n            \"blockedByEmail\": null,\n            \"lastLoginDate\": \"2019-03-27T15:00:00.000Z\",\n            \"lastLoginIp\": \"192.168.1.1\",\n            \"rateLimitPerSecond\": 10,\n            \"rateLimitPerDay\": 1000,\n            \"rateLimitPerMonth\": 30000,\n            \"requestsCount\": 100,\n            \"requestsCountToday\": 10,\n            \"requestsCountThisMonth\": 100,\n            \"requestsCountHistory\": [\n                {\n                    \"date\": \"2019-03-27T15:00:00.000Z\",\n                    \"count\": 10\n                }\n            ]\n        }\n    ],\n    \"limit\": 100,\n    \"offset\": 0,\n    \"total\": 1\n}\n```"
      }
    ],
    "longname": "module:AdminService#getAllApplicationsCreatedByUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllApplicationsCreatedByUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllAvailableCustomisationTemplates\n     * @instance\n     * @description\n     *      This API allows administrator to retrieve application customisation templates supported by a given company.\n     *\n     *      superadmin and support can get templates available for any company (the requested company has to be specified in companyId query parameter. bp_admin and company_admin get templates for its own company (no need to specify companyId parameter).\n     * @async\n     * @category Customisation Template\n     * @return {Promise<any>}\n     * @fulfil {Object} - Json object containing the result of the method\n     * @category async\n     * @param {string} companyId Select a company other than the one the user belongs to (must be an admin of the company)\n     * @param {string} format=\"small\" Allows to retrieve more or less templates details in response.</BR>\n     * - small: id, name, visibility</BR>\n     * - medium: id, name, visibility, visibleBy, type, createdBy, creationDate, ownedByCompany</BR>\n     * - full: all fields</BR>\n     * </BR>\n     * Default value : small</BR>\n     * Possible values : small, medium, full\n     * @param {number} limit=100 Allow to specify the number of templates to retrieve. Default value : 100\n     * @param {number} offset=0 Allow to specify the position of first templates to retrieve (first template if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=1 Sort templates list based on the given field. Default value : name\n     * @param {number} sortOrder=\"name\" Specify order when sorting templates list. Default value : 1. Possible values : -1, 1\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6284,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customisation Template",
        "value": "Customisation Template"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing the result of the method",
        "value": "{Object} - Json object containing the result of the method"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAllAvailableCustomisationTemplates",
    "scope": "instance",
    "description": "This API allows administrator to retrieve application customisation templates supported by a given company.\n\n     superadmin and support can get templates available for any company (the requested company has to be specified in companyId query parameter. bp_admin and company_admin get templates for its own company (no need to specify companyId parameter).",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Select a company other than the one the user belongs to (must be an admin of the company)",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less templates details in response.</BR>\n- small: id, name, visibility</BR>\n- medium: id, name, visibility, visibleBy, type, createdBy, creationDate, ownedByCompany</BR>\n- full: all fields</BR>\n</BR>\nDefault value : small</BR>\nPossible values : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of templates to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first templates to retrieve (first template if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": 1,
        "description": "Sort templates list based on the given field. Default value : name",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Specify order when sorting templates list. Default value : 1. Possible values : -1, 1",
        "name": "sortOrder"
      }
    ],
    "longname": "module:AdminService#getAllAvailableCustomisationTemplates",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllAvailableCustomisationTemplates",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllAvailableCustomisationTemplates\n     * @instance\n     * @description\n     *      This API allows administrator to retrieve the requested application customisation template\n     *\n     * @async\n     * @category Customisation Template\n     * @return {Promise<any>}\n     * @fulfil {Object} - Json object containing the result of the method\n     * @category async\n     * @param {string} templateId Template id.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6333,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customisation Template",
        "value": "Customisation Template"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing the result of the method",
        "value": "{Object} - Json object containing the result of the method"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAllAvailableCustomisationTemplates",
    "scope": "instance",
    "description": "This API allows administrator to retrieve the requested application customisation template",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Template id.",
        "name": "templateId"
      }
    ],
    "longname": "module:AdminService#getAllAvailableCustomisationTemplates",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllAvailableCustomisationTemplates",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getAllBotServices\n     * @nodered true\n     * @instance\n     * @description\n     *      This API can be used to retrieve the list of bot services. </BR>\n     * @async\n     * @param {string} format=\"small\" Allows to retrieve more or less bot services details in response. </br>\n     * - small: id, name, jid, capabilities\n     * - medium: id, name, jid, isRainbowSupportBot, capabilities\n     * - full: id, name, jid, isRainbowSupportBot, capabilities, createdByUserId, avatarId, lastAvatarUpdateDate\n     * Default value : small. Possibles values : small, medium, full\n     * @param {number} limit=100 Allow to specify the number of bot services to retrieve. Default value : 100\n     * @param {number} offset=0 Allow to specify the position of first bot to retrieve (first bot if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"name\" Sort bots list based on the given field. Default value : name\n     * @param {number} sortOrder=1 Specify order when sorting bots list. Default value : 1. Possibles values -1, 1\n     * @category Bots\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Bot service unique identifier. |\n     * | name | string | Bot title, like 'Emily'. |\n     * | jid | string | Bot service's jid, should be like 'emily.rainbow.com'. |\n     * | isRainbowSupportBot | Boolean | Indicates if the bot service corresponds to Rainbow support bot (Emily). |\n     * | capabilities | string\\[\\] | List of capabilities tags |\n     * | createdByUserId | string | Unique identifier of the bot service owner. |\n     * | avatarId | string | Identifier of the Bot service's avatar.<br> |\n     * | lastAvatarUpdateDate | Date-Time | Date of last bot avatar update.<br><br>* `null` value indicates that no avatar is set for this bot.<br>* Bot avatar can be customized by company (users from the company see the custom avatar instead of the default one set for the bot).<br>    * if the bot has an avatar and this one is not customized for the company, `lastAvatarUpdateDate` corresponds to the date when the bot's owner set an avatar to the bot.<br>    * otherwise if the bot has a customized avatar for the company, `lastAvatarUpdateDate` corresponds to the date when the administrator has set the customized avatar for this company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 219,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getAllBotServices",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Bots",
        "value": "Bots"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "scope": "instance",
    "description": "This API can be used to retrieve the list of bot services. </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less bot services details in response. </br>\n- small: id, name, jid, capabilities\n- medium: id, name, jid, isRainbowSupportBot, capabilities\n- full: id, name, jid, isRainbowSupportBot, capabilities, createdByUserId, avatarId, lastAvatarUpdateDate\nDefault value : small. Possibles values : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of bot services to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first bot to retrieve (first bot if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Sort bots list based on the given field. Default value : name",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting bots list. Default value : 1. Possibles values -1, 1",
        "name": "sortOrder"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Bot service unique identifier. |\n| name | string | Bot title, like 'Emily'. |\n| jid | string | Bot service's jid, should be like 'emily.rainbow.com'. |\n| isRainbowSupportBot | Boolean | Indicates if the bot service corresponds to Rainbow support bot (Emily). |\n| capabilities | string\\[\\] | List of capabilities tags |\n| createdByUserId | string | Unique identifier of the bot service owner. |\n| avatarId | string | Identifier of the Bot service's avatar.<br> |\n| lastAvatarUpdateDate | Date-Time | Date of last bot avatar update.<br><br>* `null` value indicates that no avatar is set for this bot.<br>* Bot avatar can be customized by company (users from the company see the custom avatar instead of the default one set for the bot).<br>    * if the bot has an avatar and this one is not customized for the company, `lastAvatarUpdateDate` corresponds to the date when the bot's owner set an avatar to the bot.<br>    * otherwise if the bot has a customized avatar for the company, `lastAvatarUpdateDate` corresponds to the date when the administrator has set the customized avatar for this company. |"
      }
    ],
    "longname": "module:AdminService#getAllBotServices",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllBotServices",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllClientsVersions\n     * @since 2.5.0\n     * @instance\n     * @async\n     * @category Clients Versions\n     * @param {string} name Allows to filter clients versions list on field name.\n     * @param {string} typeClient Allows to filter clients versions list on field type.\n     * @param {number} limit=100 Allow to specify the number of clients versions to retrieve. Default value : 100.\n     * @param {number} offset=0 Allow to specify the position of first client version to retrieve (first client version if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"name\" Sort clients versions list based on the given field. Default value : \"name\"\n     * @param {number} sortOrder=1 Specify order when sorting clients versions list. Default value : 1. Authorized values : -1, 1.\n     * @description\n     *      This API can be used to get the minimal required versions defined for the client applications.</BR>\n     *      Users with superadmin role can retrieve the minimal required version for all client applications.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13521,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Clients Versions",
        "value": "Clients Versions"
      }
    ],
    "kind": "function",
    "name": "getAllClientsVersions",
    "since": "2.5.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter clients versions list on field name.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter clients versions list on field type.",
        "name": "typeClient"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of clients versions to retrieve. Default value : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first client version to retrieve (first client version if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Sort clients versions list based on the given field. Default value : \"name\"",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting clients versions list. Default value : 1. Authorized values : -1, 1.",
        "name": "sortOrder"
      }
    ],
    "description": "This API can be used to get the minimal required versions defined for the client applications.</BR>\n     Users with superadmin role can retrieve the minimal required version for all client applications.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllClientsVersions",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllClientsVersions",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getAllCloudPBXGroups\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId Company unique identifier (like 569ce8c8f9336c471b98eda1).\n     * @param {string} sortField=name - Sort items list based on the given field.\n     * @param {string} name - Filter groups whose name contains the given filter.\n     * @param {string} shortNumber - Filter groups whose short phone number contains the given filter.\n     * @param {string} externalNumber - Filter groups whose external number contains the given filter.\n     * @param {string} memberId - Filter groups containing the given member.\n     * @param {string} type - Filter groups according to its type.\n     *                                   Can be one of the following values: call_queue, hunting_group, manager_assistant,\n     *                                   or a comma-separated list of these values.\n     * @param {number} limit Allow to specify the number of items to retrieve. Default value : 100.\n     * @param {number} offset Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0 .\n     * @param {number} sortOrder Specify order when sorting items list. Default value : 1. Possibles values : -1, 1  .\n     * @description\n     *      This API allows to get all the groups of a Cloud PBX for a given company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field                                      | Type                                             | Description                                                               |\n     * |--------------------------------------------|--------------------------------------------------|---------------------------------------------------------------------------|\n     *      | data                           | Object[]                                                  | List of groups                                                                                   |\n     *      | data.id                        | string                                                    | Hunting group unique identifier                                                                  |\n     *      | data.name                      | string                                                    | Hunting group name - displayed on the caller phone set                                           |\n     *      | data.type                      | HuntingGroupType             | Group type. DEPRECATED manager_assistant - see subType 'manager_assistant'                        |\n     *      | data.subType                   | HuntingGroupSubType         | Hunting group sub type                                                                           |\n     *      | data.policy                    | HuntingGroupPolicy                       | Hunting group policy                                                                             |\n     *      | data.shortNumber               | string                                                    | Hunting group short phone number                                                                 |\n     *      | data.externalNumber            | string                                                    | Hunting group public phone number                                                                |\n     *      | data.nbMembers                 | string                                                    | Number of members in the hunting group                                                          |\n     *      | data.isRecordingActivated     | Boolean                                                   | Indicates if the recording activated in the hunting group                                       |\n     *      | data.recordingProfile          | HuntingGroupProfiles          | Recording profile of the hunting group                                                           |\n     *      | data.isEmergencyGroup         | Boolean                                                   | Indicates if this hunting group is the emergency group for the associated Cloud PBX              |\n     *      | data.isEmptyAllowed           | Boolean                                                   | Indicates if the last active member can leave the hunting group or not                           |\n     *      | data.isDDIUpdateByManagerAllowed | Boolean                                                  | Indicates if changing the DDI of this hunting group by a manager is allowed or not               |\n     *      | data.phoneNumberId            | string                                                    | Hunting group phone number unique identifier                                                     |\n     *      | data.analyticSettings         | Object                                                    | Hunting group analytic settings                                                                  |\n     *      | data.analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean                                        | Are group managers allowed to see members analytics                                              |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *     \"data\": [\n     *         {\n     *             \"id\": \"5cd545b3a07de465fbc3fcda\",\n     *             \"name\": \"Group_1\",\n     *             \"type\": \"hunting_group\",\n     *             \"subType\": \"hg_attendant\",\n     *             \"policy\": \"serial\",\n     *             \"shortNumber\": 81002,\n     *             \"externalNumber\": \"+33298564112\",\n     *             \"isRecordingActivated\": false,\n     *             \"recordingProfile\": \"none\",\n     *             \"isEmergencyGroup\": false,\n     *             \"isEmptyAllowed\": false,\n     *             \"isDDIUpdateByManagerAllowed\": true\n     *        },\n     *        {\n     *             \"type\": \"hunting_group\",\n     *             \"subType\": \"manager_assistant\",\n     *             \"isEmergencyGroup\": false,\n     *             \"isRecordingActivated\": false,\n     *             \"recordingProfile\": \"none\",\n     *             \"isEmptyAllowed\": true,\n     *             \"isDDIUpdateByManagerAllowed\": true,\n     *             \"name\": \"POL_GP6_HG\",\n     *             \"policy\": \"serial\",\n     *             \"phoneNumberId\": \"6311b6e9fec56c1edc7f6086\",\n     *             \"roomId\": \"6311babcfec56c1edc7f608a\",\n     *             \"id\": \"6311b808fec56c1edc7f6089\",\n     *             \"shortNumber\": \"90026\",\n     *             \"externalNumber\": null,\n     *             \"nbMembers\": 3\n     *        },\n     *        {\n     *             \"type\": \"manager_assistant\",\n     *             \"isEmergencyGroup\": false,\n     *             \"isRecordingActivated\": false,\n     *             \"recordingProfile\": \"none\",\n     *             \"isEmptyAllowed\": true,\n     *             \"name\": \"POL_MA1\",\n     *             \"id\": \"631200038bbd9b06452167c1\",\n     *             \"nbMembers\": 2\n     *        }\n     *    ],\n     *    \"limit\": 100,\n     *    \"offset\": 0,\n     *    \"total\": 3\n     *  }\n     *  ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16037,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getAllCloudPBXGroups",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier (like 569ce8c8f9336c471b98eda1).",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "name",
        "description": "Sort items list based on the given field.",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filter groups whose name contains the given filter.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filter groups whose short phone number contains the given filter.",
        "name": "shortNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filter groups whose external number contains the given filter.",
        "name": "externalNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filter groups containing the given member.",
        "name": "memberId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filter groups according to its type.\n                                  Can be one of the following values: call_queue, hunting_group, manager_assistant,\n                                  or a comma-separated list of these values.",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the number of items to retrieve. Default value : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0 .",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Specify order when sorting items list. Default value : 1. Possibles values : -1, 1  .",
        "name": "sortOrder"
      }
    ],
    "description": "This API allows to get all the groups of a Cloud PBX for a given company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field                                      | Type                                             | Description                                                               |\n|--------------------------------------------|--------------------------------------------------|---------------------------------------------------------------------------|\n     | data                           | Object[]                                                  | List of groups                                                                                   |\n     | data.id                        | string                                                    | Hunting group unique identifier                                                                  |\n     | data.name                      | string                                                    | Hunting group name - displayed on the caller phone set                                           |\n     | data.type                      | HuntingGroupType             | Group type. DEPRECATED manager_assistant - see subType 'manager_assistant'                        |\n     | data.subType                   | HuntingGroupSubType         | Hunting group sub type                                                                           |\n     | data.policy                    | HuntingGroupPolicy                       | Hunting group policy                                                                             |\n     | data.shortNumber               | string                                                    | Hunting group short phone number                                                                 |\n     | data.externalNumber            | string                                                    | Hunting group public phone number                                                                |\n     | data.nbMembers                 | string                                                    | Number of members in the hunting group                                                          |\n     | data.isRecordingActivated     | Boolean                                                   | Indicates if the recording activated in the hunting group                                       |\n     | data.recordingProfile          | HuntingGroupProfiles          | Recording profile of the hunting group                                                           |\n     | data.isEmergencyGroup         | Boolean                                                   | Indicates if this hunting group is the emergency group for the associated Cloud PBX              |\n     | data.isEmptyAllowed           | Boolean                                                   | Indicates if the last active member can leave the hunting group or not                           |\n     | data.isDDIUpdateByManagerAllowed | Boolean                                                  | Indicates if changing the DDI of this hunting group by a manager is allowed or not               |\n     | data.phoneNumberId            | string                                                    | Hunting group phone number unique identifier                                                     |\n     | data.analyticSettings         | Object                                                    | Hunting group analytic settings                                                                  |\n     | data.analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean                                        | Are group managers allowed to see members analytics                                              |\n\n </br>example of result :\n ```json\n {\n    \"data\": [\n        {\n            \"id\": \"5cd545b3a07de465fbc3fcda\",\n            \"name\": \"Group_1\",\n            \"type\": \"hunting_group\",\n            \"subType\": \"hg_attendant\",\n            \"policy\": \"serial\",\n            \"shortNumber\": 81002,\n            \"externalNumber\": \"+33298564112\",\n            \"isRecordingActivated\": false,\n            \"recordingProfile\": \"none\",\n            \"isEmergencyGroup\": false,\n            \"isEmptyAllowed\": false,\n            \"isDDIUpdateByManagerAllowed\": true\n       },\n       {\n            \"type\": \"hunting_group\",\n            \"subType\": \"manager_assistant\",\n            \"isEmergencyGroup\": false,\n            \"isRecordingActivated\": false,\n            \"recordingProfile\": \"none\",\n            \"isEmptyAllowed\": true,\n            \"isDDIUpdateByManagerAllowed\": true,\n            \"name\": \"POL_GP6_HG\",\n            \"policy\": \"serial\",\n            \"phoneNumberId\": \"6311b6e9fec56c1edc7f6086\",\n            \"roomId\": \"6311babcfec56c1edc7f608a\",\n            \"id\": \"6311b808fec56c1edc7f6089\",\n            \"shortNumber\": \"90026\",\n            \"externalNumber\": null,\n            \"nbMembers\": 3\n       },\n       {\n            \"type\": \"manager_assistant\",\n            \"isEmergencyGroup\": false,\n            \"isRecordingActivated\": false,\n            \"recordingProfile\": \"none\",\n            \"isEmptyAllowed\": true,\n            \"name\": \"POL_MA1\",\n            \"id\": \"631200038bbd9b06452167c1\",\n            \"nbMembers\": 2\n       }\n   ],\n   \"limit\": 100,\n   \"offset\": 0,\n   \"total\": 3\n }\n ```\n</br>"
      }
    ],
    "longname": "module:AdminService#getAllCloudPBXGroups",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllCloudPBXGroups",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllCloudPBXSIPDevice\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {number} limit=100 Allow to specify the number of SIP Devices to retrieve.\n     * @param {number} offset Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField Sort SIP Devices list based on the given field.\n     * @param {number} sortOrder=1 Specify order when sorting SIP Devices list. Valid values are -1, 1.\n     * @param {boolean} assigned Allows to filter devices according their assignment to a subscriber\n     *      false, allows to obtain all devices not yet assigned to a subscriber.\n     *      true, allows to obtain all devices already assigned to a subscriber.\n     *      if undefined ; all devices whatever their assignment status are returned\n     * @param {string} phoneNumberId Allows to filter devices according their phoneNumberId (i.e. subscriber id)\n     *      This parameter can be a list of phoneNumberId separated by a space (space has to be encoded)\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @description\n     *      This API allows  to retrieve all SIP devices assigned into a CloudPBX.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10325,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "getAllCloudPBXSIPDevice",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of SIP Devices to retrieve.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Sort SIP Devices list based on the given field.",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting SIP Devices list. Valid values are -1, 1.",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter devices according their assignment to a subscriber\n     false, allows to obtain all devices not yet assigned to a subscriber.\n     true, allows to obtain all devices already assigned to a subscriber.\n     if undefined ; all devices whatever their assignment status are returned",
        "name": "assigned"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter devices according their phoneNumberId (i.e. subscriber id)\n     This parameter can be a list of phoneNumberId separated by a space (space has to be encoded)",
        "name": "phoneNumberId"
      }
    ],
    "async": true,
    "description": "This API allows  to retrieve all SIP devices assigned into a CloudPBX.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllCloudPBXSIPDevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllCloudPBXSIPDevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllCompanies\n     * @param {string} format=\"small\" Allows to retrieve more or less company details in response. </BR>\n     * - small: _id, name </BR>\n     * - medium: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape, visibility </BR>\n     * - full for superadmin, support, business_admin, bp_admin and bp_finance: All fields </BR>\n     * - full for admin: All fields except BP fields (bpType, bpBusinessModel, bpApplicantNumber, bpCRDid, bpHasRightToSell, bpHasRightToConnect, bpIsContractAccepted, bpContractAcceptationInfo) </BR>\n     *  </BR>\n     * Default value : small </BR>\n     * Possible values : small, medium, full </BR>\n     * @param {string} sortField=\"name\" Sort items list based on the given field. Default value : name\n     * @param {string} bpId Allows to filter companies list on bpId field. </BR>\n     * This filter allow to get all the End Customer companies associated to a given Business Partner company. </BR>\n     * </BR>\n     *  Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter. </BR>\n     *  Users with role bp_admin or bp_finance can use this filter on their own company.\n     * @param {string} catalogId Allows to filter companies list on catalogId field. </BR>\n     *     This filter allow to get all the companies linked to a given catalogId. </BR>\n     *         </BR>\n     *             Only users with role superadmin, support or business_admin can use this filter.\n     * @param {string} offerId Allows to filter companies list on companies having subscribed to the provided offerId.\n     * @param {boolean} offerCanBeSold Allows to filter companies list on companies having subscribed to offers with canBeSold=true. </BR>\n     *     This filter can only be used with the value true (false is not relevant, as all companies have a subscription to Essential which has canBeSold=false, so all companies would match offerCanBeSold=false).\n     * @param {string} externalReference Allows to filter companies list on externalReference field. </BR>\n     *     The search is done on externalReference starting with the input characters, case sensitive (ex: ABC will match companies with externalReference ABC, ABCD, ABC12... ; but externalReference abc, AABC, 1ABC, ... will not match). </BR>\n     *          </BR>\n     *     Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter.\n     * @param {string} externalReference2 Allows to filter companies list on externalReference2 field. </BR>\n     *     The search is done on externalReference2 starting with the input characters, case sensitive (ex: ABC will match companies with externalReference2 ABC, ABCD, ABC12... ; but externalReference2 abc, AABC, 1ABC, ... will not match). </BR>\n     *         </BR>\n     *     Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter.\n     * @param {string} salesforceAccountId Allows to filter companies list on salesforceAccountId field. </BR>\n     * The search is done on the whole salesforceAccountId, case sensitive (no partial search). </BR>\n     *  </BR>\n     * Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter.\n     * @param {string} selectedAppCustomisationTemplate Allows to filter companies list on application customisation template applied for the company. </BR>\n     *     This filter allows to get a list of companies for which we have applied the same application customisation template. </BR>\n     *         </BR>\n     *     Only users with role superadmin, support, bp_admin, admin can use this filter.\n     * @param {boolean} selectedThemeObj Allows to return selectedTheme attribute as an object: </BR>\n     * - true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }), </BR>\n     * - false return selectedTheme as a string.\n     * @param {string} offerGroupName Allows to filter companies list on companies having subscribed to offers with provided groupName(s). </BR>\n     *    Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter. </BR>\n     *    groupName can be retrieved from API GET /api/rainbow/subscription/v1.0/companies/:companyId/offers </BR>\n     *    The search is done on the whole groupName(s), case sensitive (no partial search). </BR>\n     *    Several groupName can be provided, seperated by a space.\n     * @param {number} limit=100 Allow to specify the number of items to retrieve. </BR>\n     *     Default value : 100\n     * @param {number} offset=0 Allow to specify the position of first item to retrieve (first item if not specified). </BR>\n     *     Warning: if offset > total, no results are returned.\n     * @param {number} sortOrder=1 Specify order when sorting items list. </BR>\n     *     Default value : 1 </BR>\n     *     Possible values : -1, 1\n     * @param {string} name Allows to filter companies list on the given keyword(s) on field name. </BR>\n     *      </BR>\n     *     The filtering is case insensitive and on partial name match: all companies containing the provided name value will be returned (whatever the position of the match). </BR>\n     *     Ex: if filtering is done on comp, companies with the following names are match the filter 'My company', 'Company', 'A comp 1', 'Comp of comps', ...\n     * @param {string} status Allows to filter companies list on the provided status(es) </BR>\n     *      </BR>\n     *      Possible values : initializing, active, alerting, hold, terminated\n     * @param {string} visibility Allows to filter companies list on the provided visibility(ies) </BR>\n     *      </BR>\n     *      Possible values : public, private, organization, closed, isolated\n     * @param {string} organisationId Allows to filter companies list on the organisationIds provided in this option. </BR>\n     *      </BR>\n     *      This filter can only be used if user has role(s) superadmin, support, bp_admin or admin\n     * @param {boolean} isBP Allows to filter companies list on isBP field: </BR>\n     *      </BR>\n     *      true returns only Business Partner companies, </BR>\n     *      false return only companies which are not Business Partner. </BR>\n     *      </BR>\n     *      This filter can only be used if user has role(s) superadmin, business_admin, support, bp_admin or admin.\n     * @param {boolean} hasBP Allows to filter companies list on companies being linked or not to a BP: </BR>\n     *      </BR>\n     *      true returns only companies linked to a BP (BP IR companies are also returned), </BR>\n     *      false return only companies which are not linked to a BP.\n     *      </BR>\n     *      This filter can only be used if user has role(s) superadmin, business_admin, support or bp_admin. </BR>\n     *      </BR>\n     *      Users with role bp_admin can only use this filter with value false.\n     * @param {string} bpType Allows to filter companies list on bpType field. </BR>\n     *      </BR>\n     *      This filter allow to get all the Business Partner companies from a given bpType. </BR>\n     *      </BR>\n     *      Only users with role superadmin, business_admin, support or bp_admin can use this filter.\n     * @instance\n     * @description\n     *      Get all companies for a given admin following request filters.</BR>\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Json object containing with all companies (companyId and companyName) or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 2158,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing with all companies (companyId and companyName) or an error object depending on the result",
        "value": "{Object} - Json object containing with all companies (companyId and companyName) or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAllCompanies",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less company details in response. </BR>\n- small: _id, name </BR>\n- medium: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape, visibility </BR>\n- full for superadmin, support, business_admin, bp_admin and bp_finance: All fields </BR>\n- full for admin: All fields except BP fields (bpType, bpBusinessModel, bpApplicantNumber, bpCRDid, bpHasRightToSell, bpHasRightToConnect, bpIsContractAccepted, bpContractAcceptationInfo) </BR>\n </BR>\nDefault value : small </BR>\nPossible values : small, medium, full </BR>",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Sort items list based on the given field. Default value : name",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on bpId field. </BR>\nThis filter allow to get all the End Customer companies associated to a given Business Partner company. </BR>\n</BR>\n Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter. </BR>\n Users with role bp_admin or bp_finance can use this filter on their own company.",
        "name": "bpId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on catalogId field. </BR>\n    This filter allow to get all the companies linked to a given catalogId. </BR>\n        </BR>\n            Only users with role superadmin, support or business_admin can use this filter.",
        "name": "catalogId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on companies having subscribed to the provided offerId.",
        "name": "offerId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter companies list on companies having subscribed to offers with canBeSold=true. </BR>\n    This filter can only be used with the value true (false is not relevant, as all companies have a subscription to Essential which has canBeSold=false, so all companies would match offerCanBeSold=false).",
        "name": "offerCanBeSold"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on externalReference field. </BR>\n    The search is done on externalReference starting with the input characters, case sensitive (ex: ABC will match companies with externalReference ABC, ABCD, ABC12... ; but externalReference abc, AABC, 1ABC, ... will not match). </BR>\n         </BR>\n    Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter.",
        "name": "externalReference"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on externalReference2 field. </BR>\n    The search is done on externalReference2 starting with the input characters, case sensitive (ex: ABC will match companies with externalReference2 ABC, ABCD, ABC12... ; but externalReference2 abc, AABC, 1ABC, ... will not match). </BR>\n        </BR>\n    Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter.",
        "name": "externalReference2"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on salesforceAccountId field. </BR>\nThe search is done on the whole salesforceAccountId, case sensitive (no partial search). </BR>\n </BR>\nOnly users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter.",
        "name": "salesforceAccountId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on application customisation template applied for the company. </BR>\n    This filter allows to get a list of companies for which we have applied the same application customisation template. </BR>\n        </BR>\n    Only users with role superadmin, support, bp_admin, admin can use this filter.",
        "name": "selectedAppCustomisationTemplate"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to return selectedTheme attribute as an object: </BR>\n- true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }), </BR>\n- false return selectedTheme as a string.",
        "name": "selectedThemeObj"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on companies having subscribed to offers with provided groupName(s). </BR>\n   Only users with role superadmin, support, business_admin, bp_admin or bp_finance can use this filter. </BR>\n   groupName can be retrieved from API GET /api/rainbow/subscription/v1.0/companies/:companyId/offers </BR>\n   The search is done on the whole groupName(s), case sensitive (no partial search). </BR>\n   Several groupName can be provided, seperated by a space.",
        "name": "offerGroupName"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of items to retrieve. </BR>\n    Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). </BR>\n    Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting items list. </BR>\n    Default value : 1 </BR>\n    Possible values : -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the given keyword(s) on field name. </BR>\n     </BR>\n    The filtering is case insensitive and on partial name match: all companies containing the provided name value will be returned (whatever the position of the match). </BR>\n    Ex: if filtering is done on comp, companies with the following names are match the filter 'My company', 'Company', 'A comp 1', 'Comp of comps', ...",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the provided status(es) </BR>\n     </BR>\n     Possible values : initializing, active, alerting, hold, terminated",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the provided visibility(ies) </BR>\n     </BR>\n     Possible values : public, private, organization, closed, isolated",
        "name": "visibility"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the organisationIds provided in this option. </BR>\n     </BR>\n     This filter can only be used if user has role(s) superadmin, support, bp_admin or admin",
        "name": "organisationId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter companies list on isBP field: </BR>\n     </BR>\n     true returns only Business Partner companies, </BR>\n     false return only companies which are not Business Partner. </BR>\n     </BR>\n     This filter can only be used if user has role(s) superadmin, business_admin, support, bp_admin or admin.",
        "name": "isBP"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter companies list on companies being linked or not to a BP: </BR>\n     </BR>\n     true returns only companies linked to a BP (BP IR companies are also returned), </BR>\n     false return only companies which are not linked to a BP.\n     </BR>\n     This filter can only be used if user has role(s) superadmin, business_admin, support or bp_admin. </BR>\n     </BR>\n     Users with role bp_admin can only use this filter with value false.",
        "name": "hasBP"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on bpType field. </BR>\n     </BR>\n     This filter allow to get all the Business Partner companies from a given bpType. </BR>\n     </BR>\n     Only users with role superadmin, business_admin, support or bp_admin can use this filter.",
        "name": "bpType"
      }
    ],
    "scope": "instance",
    "description": "Get all companies for a given admin following request filters.</BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllCompanies",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllCompanies",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllCompaniesVisibleByUser\n     * @instance\n     * @nodered true\n     * @description\n     *   This API allows users to get all companies. </BR>\n     *   Users with user role can only retrieve their own company and companies they can see (companies with visibility=public, companies having user's companyId in visibleBy field, companies being in user's company organization and having visibility=organization, BP company of user's company). </BR>\n     *   Users with analytics can retrieve all companies, but only the following fields are returned: id, creationDate, status, statusUpdatedDate, visibility, visibleBy, organisationId </BR>\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | List of company Objects. |\n     * | limit | Number | Number of requested items |\n     * | offset | Number | Requested position of the first item to retrieve |\n     * | total | Number | Total number of items |\n     *\n     * @fulfil {Object} - the result\n     * @category async\n     * @param {string} format=\"small\" Allows to retrieve more or less company details in response. </BR>\n     * * small: id, name </BR>\n     * * medium: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\n     * * full: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\n     * Default value : small. Possibles values : small, medium, full\n     * @param {string} sortField=\"name\" Sort items list based on the given field. Default value : name\n     * @param {number} limit=100 Allow to specify the number of items to retrieve. Default value : 100.\n     * @param {number} offset=0 Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0\n     * @param {number} sortOrder=1 Specify order when sorting items list. Default value : 1. Possibles values -1, 1\n     * @param {string} name Allows to filter companies list on the given keyword(s) on field name. </BR>\n     * The filtering is case insensitive and on partial name match: all companies containing the provided name value will be returned (whatever the position of the match).\n     * Ex: if filtering is done on comp, companies with the following names are match the filter 'My company', 'Company', 'A comp 1', 'Comp of comps', ...\n     * @param {string} status Allows to filter companies list on the provided status(es). Possibles values initializing, active, alerting, hold, terminated\n     * @param {string} visibility Allows to filter companies list on the provided visibility(ies). Possibles values public, private, organization, closed, isolated\n     * @param {string} organisationId Allows to filter companies list on the organisationIds provided in this option. This filter can only be used if user has role(s) superadmin, support, bp_admin or admin\n     * @param {boolean} isBP Allows to filter companies list on isBP field: </BR>\n     * * true returns only Business Partner companies, </BR>\n     * * false return only companies which are not Business Partner. </BR>\n     * This filter can only be used if user has role(s) superadmin, business_admin,customer_success_admin, support, bp_admin or admin. </BR>\n     * @param {boolean} hasBP Allows to filter companies list on companies being linked or not to a BP: </BR>\n     * * true returns only companies linked to a BP (BP IR companies are also returned), </BR>\n     * * false return only companies which are not linked to a BP. </BR>\n     * This filter can only be used if user has role(s) superadmin, business_admin,customer_success_admin, support or bp_admin. </BR>\n     * Users with role bp_admin can only use this filter with value false.\n     * @param {string} bpType Allows to filter companies list on bpType field. </BR>\n     * This filter allow to get all the Business Partner companies from a given bpType. </BR>\n     * Only users with role superadmin, business_admin,customer_success_admin, support or bp_admin can use this filter.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1017,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - the result",
        "value": "{Object} - the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAllCompaniesVisibleByUser",
    "scope": "instance",
    "description": "This API allows users to get all companies. </BR>\n  Users with user role can only retrieve their own company and companies they can see (companies with visibility=public, companies having user's companyId in visibleBy field, companies being in user's company organization and having visibility=organization, BP company of user's company). </BR>\n  Users with analytics can retrieve all companies, but only the following fields are returned: id, creationDate, status, statusUpdatedDate, visibility, visibleBy, organisationId </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | List of company Objects. |\n| limit | Number | Number of requested items |\n| offset | Number | Requested position of the first item to retrieve |\n| total | Number | Total number of items |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less company details in response. </BR>\n* small: id, name </BR>\n* medium: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\n* full: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\nDefault value : small. Possibles values : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Sort items list based on the given field. Default value : name",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of items to retrieve. Default value : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting items list. Default value : 1. Possibles values -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the given keyword(s) on field name. </BR>\nThe filtering is case insensitive and on partial name match: all companies containing the provided name value will be returned (whatever the position of the match).\nEx: if filtering is done on comp, companies with the following names are match the filter 'My company', 'Company', 'A comp 1', 'Comp of comps', ...",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the provided status(es). Possibles values initializing, active, alerting, hold, terminated",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the provided visibility(ies). Possibles values public, private, organization, closed, isolated",
        "name": "visibility"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the organisationIds provided in this option. This filter can only be used if user has role(s) superadmin, support, bp_admin or admin",
        "name": "organisationId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter companies list on isBP field: </BR>\n* true returns only Business Partner companies, </BR>\n* false return only companies which are not Business Partner. </BR>\nThis filter can only be used if user has role(s) superadmin, business_admin,customer_success_admin, support, bp_admin or admin. </BR>",
        "name": "isBP"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter companies list on companies being linked or not to a BP: </BR>\n* true returns only companies linked to a BP (BP IR companies are also returned), </BR>\n* false return only companies which are not linked to a BP. </BR>\nThis filter can only be used if user has role(s) superadmin, business_admin,customer_success_admin, support or bp_admin. </BR>\nUsers with role bp_admin can only use this filter with value false.",
        "name": "hasBP"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on bpType field. </BR>\nThis filter allow to get all the Business Partner companies from a given bpType. </BR>\nOnly users with role superadmin, business_admin,customer_success_admin, support or bp_admin can use this filter.",
        "name": "bpType"
      }
    ],
    "longname": "module:AdminService#getAllCompaniesVisibleByUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllCompaniesVisibleByUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllJoinCompanyInvitations\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company invitations\n     * @async\n     * @description\n     *       This API allows to list all join company invitations received by the user (invitation sent by admin ). <br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | List of join company invitation Objects. |\n     * | limit | Number | Number of requested items |\n     * | offset | Number | Requested position of the first item to retrieve |\n     * | total | Number | Total number of items |\n     * | id  | string | Join company invitation unique Id |\n     * | companyId | string | Id of the company for which the join company invitation is |\n     * | companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n     * | invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n     * | invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n     * | invitingAdminId | string | Inviting company admin unique Rainbow Id |\n     * | invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n     * | invitationDate | Date-Time | Date the join company invitation was created |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n     * | status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n     * | acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n     * | declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |\n     *\n     * @param {string} sortField=\"lastNotificationDate\" Sort items list based on the given field. Default value : `lastNotificationDate`\n     * @param {string} status List all join company invitations having the provided status(es). Possibles values : `=pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed`\n     * @param {string} format=\"small\" Allows to retrieve more or less invitation details in response.\n     * - `small`: id, companyId, invitedUserId, invitedUserLoginEmail, invitingAdminId, status\n     * - `medium`: id, companyId, companyName, invitedUserId, invitedUserLoginEmail, invitingAdminId, invitingAdminLoginEmail, status, lastNotificationDate, invitingDate, acceptationDate, declinationDate\n     * - `full`: all join company invitation fields\n     * Default value : `small`. Possibles values : `small`, `medium`, `full`\n     * @param {number} limit=100 Allow to specify the number of items to retrieve. Default value : `100`\n     * @param {number} offset=0 Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : `0`\n     * @param {number} sortOrder=1 Specify order when sorting items list. Default value : `1`. Possibles values : `-1`, `1`\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4640,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company invitations",
        "value": "Company - Join company invitations"
      }
    ],
    "kind": "function",
    "name": "getAllJoinCompanyInvitations",
    "scope": "instance",
    "since": "2.21.0",
    "async": true,
    "description": "This API allows to list all join company invitations received by the user (invitation sent by admin ). <br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | List of join company invitation Objects. |\n| limit | Number | Number of requested items |\n| offset | Number | Requested position of the first item to retrieve |\n| total | Number | Total number of items |\n| id  | string | Join company invitation unique Id |\n| companyId | string | Id of the company for which the join company invitation is |\n| companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n| invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n| invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n| invitingAdminId | string | Inviting company admin unique Rainbow Id |\n| invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n| invitationDate | Date-Time | Date the join company invitation was created |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n| status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n| acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n| declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"lastNotificationDate\"",
        "description": "Sort items list based on the given field. Default value : `lastNotificationDate`",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List all join company invitations having the provided status(es). Possibles values : `=pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed`",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less invitation details in response.\n- `small`: id, companyId, invitedUserId, invitedUserLoginEmail, invitingAdminId, status\n- `medium`: id, companyId, companyName, invitedUserId, invitedUserLoginEmail, invitingAdminId, invitingAdminLoginEmail, status, lastNotificationDate, invitingDate, acceptationDate, declinationDate\n- `full`: all join company invitation fields\nDefault value : `small`. Possibles values : `small`, `medium`, `full`",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of items to retrieve. Default value : `100`",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : `0`",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting items list. Default value : `1`. Possibles values : `-1`, `1`",
        "name": "sortOrder"
      }
    ],
    "longname": "module:AdminService#getAllJoinCompanyInvitations",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllJoinCompanyInvitations",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getAllJoinCompanyLinks\n     * @nodered true\n     * @instance\n     * @description\n     *      This API can be used by company admin users to list existing join company links for his company. </BR>\n     *      Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>\n     * @async\n     * @param {string} companyId Company unique identifier. Default value is the current logued in user's company.</br>\n     * @param {string} format=\"small\" Allows to retrieve more or less join company links details in response.\n     * </br> * `small`: id, companyId, isEnabled\n     * </br> * `medium`: id, companyId, isEnabled, expirationDate, maxNumberUsers\n     * </br> * `full`: all join company links fields\n     * Default value : `small`. Possibles values : `small`, `medium`, `full`.\n     * @param {string} createdByAdminId List join company links created by the specified administrator id(s).\n     * @param {boolean} isEnabled List join company links with the specified isEnabled value (true/false).\n     * @param {string} fromExpirationDate List join company links expiring after the given date.\n     * @param {string} toExpirationDate List join company links expiring before the given date.\n     * @param {string} fromNbUsersRegistered List join company links that have been used by at least the given number (nbUsersRegistered greater than or equal to the requested toNbUsersRegistered number).\n     * @param {string} toNbUsersRegistered List join company links that have been used by at less than the given number (nbUsersRegistered lower than or equal to the requested toNbUsersRegistered number).\n     * @param {number} limit=100 Allow to specify the number of items to retrieve. Default value : 100.\n     * @param {number} offset=0 Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0.\n     * @param {string} sortField Sort items list based on the given field.\n     * @param {number} sortOrder=1 Specify order when sorting items list. Default value : 1. Possibles values : -1, 1 .\n     * @category Company join companies links\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Join company link Object |\n     * | limit | Number | Number of requested items |\n     * | offset | Number | Requested position of the first item to retrieve |\n     * | total | Number | Total number of items |\n     * | id  | string | Join company link unique Id |\n     * | companyId | string | Company related to the join company link |\n     * | creationDate | Date-Time | Creation date of the join company link |\n     * | createdByAdminId | string | Unique Id of the admin who created the join company link |\n     * | description optionnel | string | Join company link description |\n     * | isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n     * | expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n     * | maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n     * | nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 708,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getAllJoinCompanyLinks",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company join companies links",
        "value": "Company join companies links"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "scope": "instance",
    "description": "This API can be used by company admin users to list existing join company links for his company. </BR>\n     Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier. Default value is the current logued in user's company.</br>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less join company links details in response.\n</br> * `small`: id, companyId, isEnabled\n</br> * `medium`: id, companyId, isEnabled, expirationDate, maxNumberUsers\n</br> * `full`: all join company links fields\nDefault value : `small`. Possibles values : `small`, `medium`, `full`.",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List join company links created by the specified administrator id(s).",
        "name": "createdByAdminId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "List join company links with the specified isEnabled value (true/false).",
        "name": "isEnabled"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List join company links expiring after the given date.",
        "name": "fromExpirationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List join company links expiring before the given date.",
        "name": "toExpirationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List join company links that have been used by at least the given number (nbUsersRegistered greater than or equal to the requested toNbUsersRegistered number).",
        "name": "fromNbUsersRegistered"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List join company links that have been used by at less than the given number (nbUsersRegistered lower than or equal to the requested toNbUsersRegistered number).",
        "name": "toNbUsersRegistered"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of items to retrieve. Default value : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Sort items list based on the given field.",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting items list. Default value : 1. Possibles values : -1, 1 .",
        "name": "sortOrder"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Join company link Object |\n| limit | Number | Number of requested items |\n| offset | Number | Requested position of the first item to retrieve |\n| total | Number | Total number of items |\n| id  | string | Join company link unique Id |\n| companyId | string | Company related to the join company link |\n| creationDate | Date-Time | Creation date of the join company link |\n| createdByAdminId | string | Unique Id of the admin who created the join company link |\n| description optionnel | string | Join company link description |\n| isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n| expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n| maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n| nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |"
      }
    ],
    "longname": "module:AdminService#getAllJoinCompanyLinks",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllJoinCompanyLinks",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllJoinCompanyRequests\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company requests\n     * @async\n     * @description\n     *       This API allows to list all join company requests sent by the user. </br>\n     *       This API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL). </br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company request unique Id |\n     * | requestingUserId | string | Requesting user unique Rainbow Id |\n     * | requestingUserLoginEmail | string | Requesting user email |\n     * | requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n     * | requestedCompanyName | string | Name of the company the requesting user wants to join |\n     * | status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n     * | requestingDate | Date-Time | Date the request was created |\n     * | requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n     * | data | Object\\[\\] | List of join company request Objects. |\n     * | limit | Number | Number of requested items |\n     * | offset | Number | Requested position of the first item to retrieve |\n     * | total | Number | Total number of items |\n     * | companyAdminId | string |     |\n     * | requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n     * | companyAdminLoginEmail | string |     |\n     *\n     * @param {string} sortField=\"lastNotificationDate\" Sort items list based on the given field<br><br>Default value : `lastNotificationDate`\n     * @param {string} status List all join company requests having the provided status(es). Possibles values : `=pending`, `accepted`, `declined`\n     * @param {string} format=\"small\" Allows to retrieve more or less requests details in response.<br> * `small`: id, requestingUserId, requestedCompanyId, status<br> * `medium`: id, requestingUserId, requestingUserLoginEmail, requestedCompanyId, status, requestingDate<br> * `full`: all request fields<br>Default value : `small`<br>Possibles values : `small`, `medium`, `full`\n     * @param {number} limit=100 Allow to specify the number of items to retrieve.<br>Default value : `100`\n     * @param {number} offset=0 Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned.<br>Default value : `0`\n     * @param {number} sortOrder=1 Specify order when sorting items list.<br>Default value : `1`. Possibles values : `-1`, `1`\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4817,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company requests",
        "value": "Company - Join company requests"
      }
    ],
    "kind": "function",
    "name": "getAllJoinCompanyRequests",
    "scope": "instance",
    "since": "2.21.0",
    "async": true,
    "description": "This API allows to list all join company requests sent by the user. </br>\n      This API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL). </br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company request unique Id |\n| requestingUserId | string | Requesting user unique Rainbow Id |\n| requestingUserLoginEmail | string | Requesting user email |\n| requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n| requestedCompanyName | string | Name of the company the requesting user wants to join |\n| status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n| requestingDate | Date-Time | Date the request was created |\n| requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n| data | Object\\[\\] | List of join company request Objects. |\n| limit | Number | Number of requested items |\n| offset | Number | Requested position of the first item to retrieve |\n| total | Number | Total number of items |\n| companyAdminId | string |     |\n| requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n| companyAdminLoginEmail | string |     |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"lastNotificationDate\"",
        "description": "Sort items list based on the given field<br><br>Default value : `lastNotificationDate`",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List all join company requests having the provided status(es). Possibles values : `=pending`, `accepted`, `declined`",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less requests details in response.<br> * `small`: id, requestingUserId, requestedCompanyId, status<br> * `medium`: id, requestingUserId, requestingUserLoginEmail, requestedCompanyId, status, requestingDate<br> * `full`: all request fields<br>Default value : `small`<br>Possibles values : `small`, `medium`, `full`",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of items to retrieve.<br>Default value : `100`",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned.<br>Default value : `0`",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting items list.<br>Default value : `1`. Possibles values : `-1`, `1`",
        "name": "sortOrder"
      }
    ],
    "longname": "module:AdminService#getAllJoinCompanyRequests",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllJoinCompanyRequests",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllRainbowMultifactorConfiguration\n     * @since 2.29.0\n     * @instance\n     * @description\n     * This API allows to get all Rainbow multifactor configuration for a given company.\n     *\n     * </br> Users with `superadmin` role can get Rainbow multifactor configuration of any company.\n     * </br> `bp_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> `organization_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> `company_admin` users can only get Rainbow multifactor configuration of their own company.\n     *\n     * @async\n     * @param {string} companyId Company unique identifier\n     * @param {string} format=\"medium\" Allows to retrieve more or less policy details in response.\n     * \\- `small`: mfaType mfaId mfaName\n     * \\- `medium`: mfaType mfaId mfaName enableForAllCompanyUsers\n     * \\- `full`: all policy fields\n     *\n     * Default value : `medium`. Possibles values : `small`, `medium`, `full`\n     * @category Company Rainbow Multifactor Authentication Server\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | mfType | string | type of Rainbow multifactor authentication |\n     * | mfaId | string | unique identifier of Rainbow multifactor authentication |\n     * | mfaName | string | Name of Rainbow multifactor authentication |\n     * | enableForAllCompanyUsers | Boolean | Indicates if MFA is the default method authentication for all company users |\n     * | mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n     * | rememberDaysApplication optionnel | string | Indicates how long trusted device could bypass mutifactor authentication in case of untrusted_only policy |\n     *\n     * </br>example of result :\n     * ```json\n     *    [\n     *         {\n     *            \"mfaType\": \"totp\",\n     *            \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n     *            \"mfaName\": \"totp example\",\n     *            \"enableForAllCompanyUsers\": false\n     *         }\n     *     ]\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 415,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company Rainbow Multifactor Authentication Server",
        "value": "Company Rainbow Multifactor Authentication Server"
      }
    ],
    "kind": "function",
    "name": "getAllRainbowMultifactorConfiguration",
    "since": "2.29.0",
    "scope": "instance",
    "description": "This API allows to get all Rainbow multifactor configuration for a given company.\n\n</br> Users with `superadmin` role can get Rainbow multifactor configuration of any company.\n</br> `bp_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> `organization_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. company linked to organization_admin's organization).\n</br> `company_admin` users can only get Rainbow multifactor configuration of their own company.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"medium\"",
        "description": "Allows to retrieve more or less policy details in response.\n\\- `small`: mfaType mfaId mfaName\n\\- `medium`: mfaType mfaId mfaName enableForAllCompanyUsers\n\\- `full`: all policy fields\n\nDefault value : `medium`. Possibles values : `small`, `medium`, `full`",
        "name": "format"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| mfType | string | type of Rainbow multifactor authentication |\n| mfaId | string | unique identifier of Rainbow multifactor authentication |\n| mfaName | string | Name of Rainbow multifactor authentication |\n| enableForAllCompanyUsers | Boolean | Indicates if MFA is the default method authentication for all company users |\n| mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n| rememberDaysApplication optionnel | string | Indicates how long trusted device could bypass mutifactor authentication in case of untrusted_only policy |\n\n</br>example of result :\n```json\n   [\n        {\n           \"mfaType\": \"totp\",\n           \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n           \"mfaName\": \"totp example\",\n           \"enableForAllCompanyUsers\": false\n        }\n    ]\n```"
      }
    ],
    "longname": "module:AdminService#getAllRainbowMultifactorConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllRainbowMultifactorConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllSites\n     * @since 2.1.1\n     * @instance\n     * @async\n     * @category sites\n     * @param {string} format=\"small\" Allows to retrieve more or less site details in response. </BR>\n     * - small: _id, name </BR>\n     * - medium: _id, name, status, companyId </BR>\n     * - full: all site fields </BR>\n     * default : small </BR>\n     * Valid values : small, medium, full </BR>\n     * @param {number} limit=100 Allow to specify the number of companies to retrieve. (default=100).\n     * @param {number} offset=0 Allow to specify the position of first site to retrieve (first site if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"name\" Sort site list based on the given field. (default=\"name\").\n     * @param {number} sortOrder Specify order when sorting site list. Default values : 1. Valid values : -1, 1.\n     * @param {string} name Allows to filter sites list on field name. </BR>\n     * The filtering is case insensitive and on partial name match: all sites containing the provided name value will be returned (whatever the position of the match). </BR>\n     * Ex: if filtering is done on sit, sites with the following names are match the filter 'My site', 'Site', 'A site 1', 'Site of company', 'Sit1', 'Sit2', ... </BR>\n     * @param {string} companyId\n     * @description\n     *      This API allows administrators to get all sites they administrate.  </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11501,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "sites",
        "value": "sites"
      }
    ],
    "kind": "function",
    "name": "getAllSites",
    "since": "2.1.1",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less site details in response. </BR>\n- small: _id, name </BR>\n- medium: _id, name, status, companyId </BR>\n- full: all site fields </BR>\ndefault : small </BR>\nValid values : small, medium, full </BR>",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of companies to retrieve. (default=100).",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first site to retrieve (first site if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Sort site list based on the given field. (default=\"name\").",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Specify order when sorting site list. Default values : 1. Valid values : -1, 1.",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter sites list on field name. </BR>\nThe filtering is case insensitive and on partial name match: all sites containing the provided name value will be returned (whatever the position of the match). </BR>\nEx: if filtering is done on sit, sites with the following names are match the filter 'My site', 'Site', 'A site 1', 'Site of company', 'Sit1', 'Sit2', ... </BR>",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "name": "companyId"
      }
    ],
    "description": "This API allows administrators to get all sites they administrate.  </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllSites",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllSites",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllSystemPhoneNumbers\n     * @since 2.20.0\n     * @instance\n     * @category Systems -  Phone numbers\n     * @async\n     * @param {string} systemId System unique identifier\n     * @param {string} shortNumber Allow to filter phoneNumbers list on phoneNumbers having shortNumber field starting with the provided value.\n     * @param {string} internalNumber Allow to filter phoneNumbers list on phoneNumbers having internalNumber field starting with the provided value.\n     * @param {string} pbxUserId Allow to filter phoneNumbers list on phoneNumbers having pbxUserId field equal to provided value.\n     * @param {string} companyPrefix When the system is a centrex server (multi-tenant OXE or third_party), allow to filter phoneNumbers list on companyPrefix. </BR>\n     * The companyPrefix value to set is named 'tenantCallNumber' in companies data model. </BR>\n     * Example: companyPrefix=8210: return all phoneNumbers having the prefix 8210, then allocated to the company having the 'tenantCallNumber' 8210 (exact match) </BR>\n     * @param {boolean} isMonitored Allow to filter phoneNumbers list on phoneNumbers having isMonitored field equal to provided value. Possible values : true, false\n     * @param {string} name Allow to filter phoneNumbers list on phoneNumbers having firstName or lastName starting with the provided value.\n     * @param {string} deviceName Allow to filter phoneNumbers list on phoneNumbers having deviceName field equal to provided value.\n     * @param {boolean} isAssignedToUser Allow to filter phoneNumbers list on phoneNumbers being assigned or not to a Rainbow user, according to provided value. true: return all phoneNumbers having userId !== null. false: return all phoneNumbers having userId === null. Possible values : true, false\n     * @param {string} format=\"small\" Allows to retrieve more or less phone numbers details in response. </br>\n     *   - small: id shortNumber internalNumber numberE164 </br>\n     *   - medium: id shortNumber internalNumber voiceMailNumber number numberE164 isFromSystem pbxId systemId </br>\n     *   - full: all phone numbers fields </br>\n     *   </br>\n     *   Default value : small. Possible values : small, medium, full </br>\n     * @param {number} limit=100 Allow to specify the number of phone numbers to retrieve. Default value : 100\n     * @param {number} offset Allow to specify the position of first phone number to retrieve (first phone number if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"shortNumber\" Sort phone numbers list based on the given field. Default value : shortNumber\n     * @param {number} sortOrder=1 Specify order when sorting phone numbers list. Default value : 1 . Possible values : -1, 1 .\n     * @description\n     *  This API allows to list all phoneNumbers associated to a given system (pbx).</BR>\n     *\n     *  Users with superadmin or support role can retrieve phoneNumbers from any system.</BR>\n     *  bp_admin can only retrieve phoneNumbers linked to systems of End Customer companies for which their bp_admin's company is the BP company.</BR>\n     *  Users with admin role (and not having superadmin nor support role) can only retrieve phoneNumbers of systems that they manage.</BR>\n     *  In a Multi-Layer organization that describes a hierarchy including ORGANIZATIONS/COMPANIES/SITES/SYSTEMS, an admin role of a upper layer is allowed to see systems within their's reach.</BR>\n     *  :</BR>\n     *  Notes:</BR>\n     *  systemId field returned in response corresponds to portal's internal mongoDB id, while pbxId is the id handled by PCG.</BR>\n     *  This API is paginated.</BR>\n     *  phoneNumbers list can be filtered on the following fields:</BR>\n     *  shortNumber: allow to retrieve only phoneNumbers starting by the provided value.</BR>\n     *  Example: shortNumber=123</BR>\n     *  internalNumber: allow to retrieve only phoneNumbers starting by the provided value.</BR>\n     *  Example: internalNumber=123</BR>\n     *  pbxUserId: allow to retrieve only phoneNumbers having the provided pbxUserId value.</BR>\n     *  Example: pbxUserId=123</BR>\n     *  isMonitored: allow to retrieve only phoneNumbers for which monitoring in Rainbow application is activated (true) or deactivated (false).</BR>\n     *  Example: isMonitored=true</BR>\n     *  isAssignedToUser: allow to retrieve only phoneNumbers being associated (true) or not (false) to a Rainbow user.</BR>\n     *  Example: isAssignedToUser=true</BR>\n     *  userId: allow to retrieve only phoneNumbers being associated to the requested Rainbow user id.</BR>\n     *  Example: userId=57960e4fa1ab69c4243415b1</BR>\n     *  companyPrefix: allow to retrieve only phoneNumbers having the provided companyPrefix value. See below 'Sharing a system between several companies'</BR>\n     *  Example: companyPrefix=8210 This filter is not taken in account for role admin.</BR>\n     *  Filters can be combined. </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12491,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems -  Phone numbers",
        "value": "Systems -  Phone numbers"
      }
    ],
    "kind": "function",
    "name": "getAllSystemPhoneNumbers",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System unique identifier",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allow to filter phoneNumbers list on phoneNumbers having shortNumber field starting with the provided value.",
        "name": "shortNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allow to filter phoneNumbers list on phoneNumbers having internalNumber field starting with the provided value.",
        "name": "internalNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allow to filter phoneNumbers list on phoneNumbers having pbxUserId field equal to provided value.",
        "name": "pbxUserId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "When the system is a centrex server (multi-tenant OXE or third_party), allow to filter phoneNumbers list on companyPrefix. </BR>\nThe companyPrefix value to set is named 'tenantCallNumber' in companies data model. </BR>\nExample: companyPrefix=8210: return all phoneNumbers having the prefix 8210, then allocated to the company having the 'tenantCallNumber' 8210 (exact match) </BR>",
        "name": "companyPrefix"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allow to filter phoneNumbers list on phoneNumbers having isMonitored field equal to provided value. Possible values : true, false",
        "name": "isMonitored"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allow to filter phoneNumbers list on phoneNumbers having firstName or lastName starting with the provided value.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allow to filter phoneNumbers list on phoneNumbers having deviceName field equal to provided value.",
        "name": "deviceName"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allow to filter phoneNumbers list on phoneNumbers being assigned or not to a Rainbow user, according to provided value. true: return all phoneNumbers having userId !== null. false: return all phoneNumbers having userId === null. Possible values : true, false",
        "name": "isAssignedToUser"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less phone numbers details in response. </br>\n  - small: id shortNumber internalNumber numberE164 </br>\n  - medium: id shortNumber internalNumber voiceMailNumber number numberE164 isFromSystem pbxId systemId </br>\n  - full: all phone numbers fields </br>\n  </br>\n  Default value : small. Possible values : small, medium, full </br>",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of phone numbers to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the position of first phone number to retrieve (first phone number if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"shortNumber\"",
        "description": "Sort phone numbers list based on the given field. Default value : shortNumber",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting phone numbers list. Default value : 1 . Possible values : -1, 1 .",
        "name": "sortOrder"
      }
    ],
    "description": "This API allows to list all phoneNumbers associated to a given system (pbx).</BR>\n\n Users with superadmin or support role can retrieve phoneNumbers from any system.</BR>\n bp_admin can only retrieve phoneNumbers linked to systems of End Customer companies for which their bp_admin's company is the BP company.</BR>\n Users with admin role (and not having superadmin nor support role) can only retrieve phoneNumbers of systems that they manage.</BR>\n In a Multi-Layer organization that describes a hierarchy including ORGANIZATIONS/COMPANIES/SITES/SYSTEMS, an admin role of a upper layer is allowed to see systems within their's reach.</BR>\n :</BR>\n Notes:</BR>\n systemId field returned in response corresponds to portal's internal mongoDB id, while pbxId is the id handled by PCG.</BR>\n This API is paginated.</BR>\n phoneNumbers list can be filtered on the following fields:</BR>\n shortNumber: allow to retrieve only phoneNumbers starting by the provided value.</BR>\n Example: shortNumber=123</BR>\n internalNumber: allow to retrieve only phoneNumbers starting by the provided value.</BR>\n Example: internalNumber=123</BR>\n pbxUserId: allow to retrieve only phoneNumbers having the provided pbxUserId value.</BR>\n Example: pbxUserId=123</BR>\n isMonitored: allow to retrieve only phoneNumbers for which monitoring in Rainbow application is activated (true) or deactivated (false).</BR>\n Example: isMonitored=true</BR>\n isAssignedToUser: allow to retrieve only phoneNumbers being associated (true) or not (false) to a Rainbow user.</BR>\n Example: isAssignedToUser=true</BR>\n userId: allow to retrieve only phoneNumbers being associated to the requested Rainbow user id.</BR>\n Example: userId=57960e4fa1ab69c4243415b1</BR>\n companyPrefix: allow to retrieve only phoneNumbers having the provided companyPrefix value. See below 'Sharing a system between several companies'</BR>\n Example: companyPrefix=8210 This filter is not taken in account for role admin.</BR>\n Filters can be combined. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result"
      }
    ],
    "longname": "module:AdminService#getAllSystemPhoneNumbers",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllSystemPhoneNumbers",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllSystems\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @param {boolean} connectionHistory Allows to return connection history\n     * @param {string} format=\"small\" Allows to retrieve more or less system details in response. </BR>\n     * - small: id pbxId version </BR>\n     * - medium: id name pbxId serialNumber version status </BR>\n     * - full: all system fields </BR>\n     * </BR>\n     * Default value : small. Possibles values : small, medium, full\n     * @param {number} limit=100 Allow to specify the number of systems to retrieve. Default value : 100\n     * @param {number} offset=0 Allow to specify the position of first system to retrieve (first site if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"pbxId\" Sort system list based on the given field. Default value : pbxId\n     * @param {number} sortOrder=1 Specify order when sorting pbx list. Default value : 1. Possibles values : -1, 1\n     * @param {string} name Allows to filter systems list on field name. </BR>\n     * The filtering is case insensitive and on partial name match: all systems containing the provided name value will be returned (whatever the position of the match). </BR>\n     * Ex: if filtering is done on oxe1, systems with the following names are match the filter 'OXE1', 'Oxe1', 'My oxe1', 'oxe12', 'My OXE12', ... </BR>\n     * @param {string} type Allows to filter systems list on the provided type(s). Possibles values : oxo, oxe, third_party, undefined\n     * @param {string} status Allows to filter systems list on the provided status(es). Possibles values : created, activating, activated, terminated\n     * @param {string} siteId Allows to filter systems list on the siteIds provided in this option.\n     * @param {string} companyId Allows to filter systems list on the siteIds linked to companyIds provided in this option.\n     * @param {string} bpId Allows to filter systems 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).\n     * @param {boolean} isShared Allows to filter systems list by the status isShared.\n     * @param {boolean} isCentrex Allows to filter systems list by the status isCentrex.\n     * @param {boolean} isSharedOrCentrex Allows to filter systems list having the requested flag isShared or isCentrex. </BR>\n     * </BR>\n     * If isSharedOrCentrex=true, only systems having isShared=true or isCentrex=true are returned. </BR>\n     * If isSharedOrCentrex=false, only systems having isShared=false and isCentrex=false are returned. </BR>\n     * </BR>\n     * @param {boolean} isOxoManaged Allows to filter systems list by the setting isOxoManaged.\n     * @param {string} fromCreationDate Allows to filter systems list from provided date (ISO 8601 format).\n     * @param {string} toCreationDate Allows to filter systems list until provided date (ISO 8601 format).\n     * @description\n     *  This API allows administrator to retrieve systems they can administrate. </BR>\n     *  </BR>\n     *  superadmin and support get all systems existing in Rainbow. </BR>\n     *  bp_admin only get systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n     *  organization_admin only get systems linked to sites of companies under their organisation. </BR>\n     *  company_admin only get systems linked to sites of their company. </BR>\n     *  site_admin only get the systems linked to the site they administrate. </BR>\n     *  </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | System unique identifier |\n     * | name optionnel | string | System name/description |\n     * | pbxId | string | Call Control Agent (CCA) login. |\n     * | pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n     * | siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n     * | type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n     * | country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n     * | version | string | CCA software version |\n     * | jid_pbxagent optionnel | string | CCA Jabber Id |\n     * | jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n     * | jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n     * | jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n     * | status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n     * | serverPingTimeout optionnel | Number | CCA config data |\n     * | pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n     * | pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n     * | regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n     * | regexpReplace optionnel | string | A valid dialable number. |\n     * | description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n     * | pbxNationalPrefix optionnel | string | National prefix |\n     * | pbxInternationalPrefix optionnel | string | International prefix |\n     * | creationDate | Date-Time | System creation date (Read only) |\n     * | statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n     * | searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n     * | hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n     * | isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n     * | isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n     * | isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n     * | bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n     * | connectionHistory | Object\\[\\] | history of connections. |\n     * | eventType | string | Type of connection |\n     * | eventDate | Date-Time | Date of connection |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12005,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "getAllSystems",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to return connection history",
        "name": "connectionHistory"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less system details in response. </BR>\n- small: id pbxId version </BR>\n- medium: id name pbxId serialNumber version status </BR>\n- full: all system fields </BR>\n</BR>\nDefault value : small. Possibles values : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of systems to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first system to retrieve (first site if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"pbxId\"",
        "description": "Sort system list based on the given field. Default value : pbxId",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting pbx list. Default value : 1. Possibles values : -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems list on field name. </BR>\nThe filtering is case insensitive and on partial name match: all systems containing the provided name value will be returned (whatever the position of the match). </BR>\nEx: if filtering is done on oxe1, systems with the following names are match the filter 'OXE1', 'Oxe1', 'My oxe1', 'oxe12', 'My OXE12', ... </BR>",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems list on the provided type(s). Possibles values : oxo, oxe, third_party, undefined",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems list on the provided status(es). Possibles values : created, activating, activated, terminated",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems list on the siteIds provided in this option.",
        "name": "siteId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems list on the siteIds linked to companyIds provided in this option.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems 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).",
        "name": "bpId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter systems list by the status isShared.",
        "name": "isShared"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter systems list by the status isCentrex.",
        "name": "isCentrex"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter systems list having the requested flag isShared or isCentrex. </BR>\n</BR>\nIf isSharedOrCentrex=true, only systems having isShared=true or isCentrex=true are returned. </BR>\nIf isSharedOrCentrex=false, only systems having isShared=false and isCentrex=false are returned. </BR>\n</BR>",
        "name": "isSharedOrCentrex"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter systems list by the setting isOxoManaged.",
        "name": "isOxoManaged"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems list from provided date (ISO 8601 format).",
        "name": "fromCreationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter systems list until provided date (ISO 8601 format).",
        "name": "toCreationDate"
      }
    ],
    "description": "This API allows administrator to retrieve systems they can administrate. </BR>\n </BR>\n superadmin and support get all systems existing in Rainbow. </BR>\n bp_admin only get systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n organization_admin only get systems linked to sites of companies under their organisation. </BR>\n company_admin only get systems linked to sites of their company. </BR>\n site_admin only get the systems linked to the site they administrate. </BR>\n </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | System unique identifier |\n| name optionnel | string | System name/description |\n| pbxId | string | Call Control Agent (CCA) login. |\n| pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n| siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n| type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n| country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n| version | string | CCA software version |\n| jid_pbxagent optionnel | string | CCA Jabber Id |\n| jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n| jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n| jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n| status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n| serverPingTimeout optionnel | Number | CCA config data |\n| pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n| pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n| regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n| regexpReplace optionnel | string | A valid dialable number. |\n| description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n| pbxNationalPrefix optionnel | string | National prefix |\n| pbxInternationalPrefix optionnel | string | International prefix |\n| creationDate | Date-Time | System creation date (Read only) |\n| statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n| searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n| hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n| isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n| isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n| isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n| bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n| connectionHistory | Object\\[\\] | history of connections. |\n| eventType | string | Type of connection |\n| eventDate | Date-Time | Date of connection |"
      }
    ],
    "longname": "module:AdminService#getAllSystems",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllSystems",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllTagsAssignedToDirectoryEntries\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory tags\n     * @param {string} companyId Allows to list the tags for the directory entries of the companyIds provided in this option. </BR>\n     * If companyId is not provided, the tags are listed for all the directory entries of the companies managed by the logged in administrator.\n     * @description\n     *      This API allows administrators to list all the tags being assigned to the directory entries of the companies managed by the administrator.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13254,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory tags",
        "value": "Rainbow Company Directory portal - directory tags"
      }
    ],
    "kind": "function",
    "name": "getAllTagsAssignedToDirectoryEntries",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to list the tags for the directory entries of the companyIds provided in this option. </BR>\nIf companyId is not provided, the tags are listed for all the directory entries of the companies managed by the logged in administrator.",
        "name": "companyId"
      }
    ],
    "description": "This API allows administrators to list all the tags being assigned to the directory entries of the companies managed by the administrator.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllTagsAssignedToDirectoryEntries",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllTagsAssignedToDirectoryEntries",
    "$kind": "method"
  },
  {
    "comment": "/**\n * @public\n * @nodered true\n * @method getAllUsers\n * @instance\n * @description\n *      Get all users for a given admin </BR>\n * @async\n * @category Companies and users management\n * @param {string} format=\"small\" Allows to retrieve more or less user details in response.\n *   small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n *   medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\n *   full: all user fields\n * @param {number} offset=0 Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.\n * @param {number} limit=100 Allow to specify the number of users to retrieve (default=100).\n * @param {string} sortField=\"loginEmail\" Sort user list based on the given field (default=\"loginEmail\").\n * @return {Promise<Object, ErrorManager>}\n * @fulfil {Array} - Array of Json object containing users or an error object depending on the result\n * @category async\n */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 3982,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Array} - Array of Json object containing users or an error object depending on the result",
        "value": "{Array} - Array of Json object containing users or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAllUsers",
    "scope": "instance",
    "description": "Get all users for a given admin </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less user details in response.\n  small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n  medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\n  full: all user fields",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of users to retrieve (default=100).",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"loginEmail\"",
        "description": "Sort user list based on the given field (default=\"loginEmail\").",
        "name": "sortField"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllUsers",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllUsers",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllUsersByCompanyId\n     * @instance\n     * @description\n     *      Get all users for a given admin in a company </BR>\n     * @async\n     * @category Companies and users management\n     * @param {string} format=\"small\" Allows to retrieve more or less user details in response.\n     *   small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n     *   medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\n     *   full: all user fields\n     * @param {number} offset=0 Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.\n     * @param {number} limit=100 Allow to specify the number of users to retrieve (default=100).\n     * @param {string} sortField=\"loginEmail\" Sort user list based on the given field (default=\"loginEmail\").\n     * @param {string} companyId the id company the users are in. If not provided, then the companyId of the connected user is used.\n     });\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Array} - Array of Json object containing users or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4106,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Array} - Array of Json object containing users or an error object depending on the result",
        "value": "{Array} - Array of Json object containing users or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAllUsersByCompanyId",
    "scope": "instance",
    "description": "Get all users for a given admin in a company </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less user details in response.\n  small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n  medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\n  full: all user fields",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of users to retrieve (default=100).",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"loginEmail\"",
        "description": "Sort user list based on the given field (default=\"loginEmail\").",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id company the users are in. If not provided, then the companyId of the connected user is used.\n     });",
        "name": "companyId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllUsersByCompanyId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllUsersByCompanyId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllUsersByFilter\n     * @instance\n     * @category Companies and users management\n     * @description\n     *  Get a list of users by filters </BR>\n     * @async\n     * @return {Promise<any, ErrorManager>}\n     * @fulfil {any} - Found users or null or an error object depending on the result\n     * @param {number} phoneNumbers Allows to filter users list on the given number(s) on their phoneNumbers on the following fields (exact match): </br>\n     * * shortNumber\n     * * internalNumber\n     * * number\n     * * numberE164\n     * @param {number} phoneNumber Allows to filter users list on the given number(s) on field phoneNumbers.internalNumber (number starts with requested string).\n     * @param {string} searchEmail Allows to filter users list on the loginEmail field using the word provided in this option.\n     * @param {string} companyId Allows to filter users list on the companyIds provided in this option.\n     * @param {string} roles=\"user\" Allows to filter users list on the role(s) provided in this option. Default value is \"user\".\n     * @param {string} excludeRoles Allows to exclude users having the role(s) provided in this option.\n     * @param {string} tags Allows to filter users list on the tag(s) provided in this option.\n     * @param {string} departments Allows to filter users list on the department(s) provided in this option.\n     * @param {string} isTerminated=\"false\" Allows to filter users list on the status 'isTerminated'. Default value is \"false\"\n     * @param {string} isActivated Allows to filter users list for users which have logged in at least once (\"true\") or never (\"false\").\n     * @param {string} fileSharingCustomisation Allows to filter users list on fileSharing feature restriction (enabled, disabled, same_than_company)\n     * @param {string} userTitleNameCustomisation Allows to filter users list on user's profile update restriction (enabled, disabled, same_than_company)\n     * @param {string} softphoneOnlyCustomisation Allows to filter users list on use softphone part of the UCaas application restriction (enabled, disabled, same_than_company)\n     * @param {string} useRoomCustomisation Allows to filter users list on use room (bubble) restriction (enabled, disabled, same_than_company)\n     * @param {string} phoneMeetingCustomisation Allows to filter users list on can join a PSTN conference restriction (enabled, disabled, same_than_company)\n     * @param {string} useChannelCustomisation Allows to filter users list on use channels restriction (enabled, disabled, same_than_company)\n     * @param {string} useScreenSharingCustomisation Allows to filter users list on sharing screen restriction (enabled, disabled, same_than_company)\n     * @param {string} useWebRTCVideoCustomisation Allows to filter users list on use screen sharing restriction (enabled, disabled, same_than_company)\n     * @param {string} useWebRTCAudioCustomisation Allows to filter users list on use Web RTC audio restriction (enabled, disabled, same_than_company)\n     * @param {string} instantMessagesCustomisation Allows to filter users list on use Instant Messages restriction (enabled, disabled, same_than_company)\n     * @param {string} userProfileCustomisation Allows to filter users list on modify a profile restriction (enabled, disabled, same_than_company)\n     * @param {string} fileStorageCustomisation Allows to filter users list on use Rainbow file storage restriction (enabled, disabled, same_than_company)\n     * @param {string} overridePresenceCustomisation Allows to filter users by the ability to modify manually presence state (enabled, disabled, same_than_company)\n     * @param {string} alert notification] Allows to filter users by the ability to receive alert notification(enabled, disabled, same_than_company)\n     * @param {string} changeTelephonyCustomisation Allows to filter users by the ability to modify telephony settings (enabled, disabled, same_than_company)\n     * @param {string} changeSettingsCustomisation Allows to filter users by the ability to change client general setting (enabled, disabled, same_than_company)\n     * @param {string} recordingConversationCustomisation Allows to filter users by the ability to record conversation (enabled, disabled, same_than_company)\n     * @param {string} useGifCustomisation Allows to filter users by the ability to use GIFs in conversations (enabled, disabled, same_than_company)\n     * @param {string} useDialOutCustomisation Allows to filter users by the ability to be called by the Rainbow conference bridge. (enabled, disabled, same_than_company)\n     * @param {string} fileCopyCustomisation Allows to filter users by the ability to copy any file he receives in his personal cloud space.\n     * @param {string} fileTransferCustomisation Allows to filter users by the ability to copy a file from a conversation then share it inside another conversation.\n     * @param {string} forbidFileOwnerChangeCustomisation Allows to filter users by the ability to loose the ownership on one file.\n     * @param {string} readReceiptsCustomisation Allows to filter users by the ability to authorize a sender to check if a chat message is read.\n     * @param {string} useSpeakingTimeStatistics Allows to filter users by the ability to see speaking time statistics about a WebRTC meeting.\n     * @param {string} selectedAppCustomisationTemplate Allows to filter users by the last application customisation template applied.\n     * @param {string} format=\"small\" Allows to retrieve more or less user details in response. </br>\n     * small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n     * medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode </br>\n     * full: all user fields </br>\n     * Default value : small\n     * Possible values : small, medium, full\n     * @param {string} limit=100 Allow to specify the number of users to retrieve. Default value 100.\n     * @param {string} offset Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"displayName\" Sort user list based on the given field. Default value : displayName\n     * @param {string} sortOrder Specify order when sorting user list. Default value : 1. Possible values : -1, 1\n     * @param {string} displayName Allows to filter users list on the given keyword(s) on field displayName.\n     * @param {boolean} useEmails used with displayName, allows to filter users list on the given keyword(s) on field displayName for loginEmails too.\n     * @param {string} companyName Allows to filter users list on the given keyword(s) on field companyName.\n     * @param {string} loginEmail Allows to filter users list on the loginEmails provided in this option.\n     * @param {string} email Allows to filter users list on the emails provided in this option.\n     * @param {string} visibility Allows to filter users list on the visibility(ies) provided in this option. Possible values : same_than_company, public, private, closed, isolated, none\n     * @param {string} organisationId Allows to filter users list on the organisationIds provided in this option. Option is reserved for superAdmin or admin allowed to manage the given organisationId.\n     * @param {string} siteId Allows to filter users list on the siteIds provided in this option. Option is reserved for superAdmin or admin allowed to manage the given siteIds.\n     * @param {string} jid_im Allows to filter users list on the jid_ims provided in this option.\n     * @param {string} jid_tel Allows to filter users list on the jid_tels provided in this option.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4023,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{any} - Found users or null or an error object depending on the result",
        "value": "{any} - Found users or null or an error object depending on the result"
      }
    ],
    "kind": "function",
    "name": "getAllUsersByFilter",
    "scope": "instance",
    "description": "Get a list of users by filters </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allows to filter users list on the given number(s) on their phoneNumbers on the following fields (exact match): </br>\n* shortNumber\n* internalNumber\n* number\n* numberE164",
        "name": "phoneNumbers"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allows to filter users list on the given number(s) on field phoneNumbers.internalNumber (number starts with requested string).",
        "name": "phoneNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the loginEmail field using the word provided in this option.",
        "name": "searchEmail"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the companyIds provided in this option.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user\"",
        "description": "Allows to filter users list on the role(s) provided in this option. Default value is \"user\".",
        "name": "roles"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to exclude users having the role(s) provided in this option.",
        "name": "excludeRoles"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the tag(s) provided in this option.",
        "name": "tags"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the department(s) provided in this option.",
        "name": "departments"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"false\"",
        "description": "Allows to filter users list on the status 'isTerminated'. Default value is \"false\"",
        "name": "isTerminated"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list for users which have logged in at least once (\"true\") or never (\"false\").",
        "name": "isActivated"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on fileSharing feature restriction (enabled, disabled, same_than_company)",
        "name": "fileSharingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on user's profile update restriction (enabled, disabled, same_than_company)",
        "name": "userTitleNameCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on use softphone part of the UCaas application restriction (enabled, disabled, same_than_company)",
        "name": "softphoneOnlyCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on use room (bubble) restriction (enabled, disabled, same_than_company)",
        "name": "useRoomCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on can join a PSTN conference restriction (enabled, disabled, same_than_company)",
        "name": "phoneMeetingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on use channels restriction (enabled, disabled, same_than_company)",
        "name": "useChannelCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on sharing screen restriction (enabled, disabled, same_than_company)",
        "name": "useScreenSharingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on use screen sharing restriction (enabled, disabled, same_than_company)",
        "name": "useWebRTCVideoCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on use Web RTC audio restriction (enabled, disabled, same_than_company)",
        "name": "useWebRTCAudioCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on use Instant Messages restriction (enabled, disabled, same_than_company)",
        "name": "instantMessagesCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on modify a profile restriction (enabled, disabled, same_than_company)",
        "name": "userProfileCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on use Rainbow file storage restriction (enabled, disabled, same_than_company)",
        "name": "fileStorageCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to modify manually presence state (enabled, disabled, same_than_company)",
        "name": "overridePresenceCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "notification] Allows to filter users by the ability to receive alert notification(enabled, disabled, same_than_company)",
        "name": "alert"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to modify telephony settings (enabled, disabled, same_than_company)",
        "name": "changeTelephonyCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to change client general setting (enabled, disabled, same_than_company)",
        "name": "changeSettingsCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to record conversation (enabled, disabled, same_than_company)",
        "name": "recordingConversationCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to use GIFs in conversations (enabled, disabled, same_than_company)",
        "name": "useGifCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to be called by the Rainbow conference bridge. (enabled, disabled, same_than_company)",
        "name": "useDialOutCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to copy any file he receives in his personal cloud space.",
        "name": "fileCopyCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to copy a file from a conversation then share it inside another conversation.",
        "name": "fileTransferCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to loose the ownership on one file.",
        "name": "forbidFileOwnerChangeCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to authorize a sender to check if a chat message is read.",
        "name": "readReceiptsCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the ability to see speaking time statistics about a WebRTC meeting.",
        "name": "useSpeakingTimeStatistics"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users by the last application customisation template applied.",
        "name": "selectedAppCustomisationTemplate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less user details in response. </br>\nsmall: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\nmedium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode </br>\nfull: all user fields </br>\nDefault value : small\nPossible values : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of users to retrieve. Default value 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"displayName\"",
        "description": "Sort user list based on the given field. Default value : displayName",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Specify order when sorting user list. Default value : 1. Possible values : -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the given keyword(s) on field displayName.",
        "name": "displayName"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "used with displayName, allows to filter users list on the given keyword(s) on field displayName for loginEmails too.",
        "name": "useEmails"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the given keyword(s) on field companyName.",
        "name": "companyName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the loginEmails provided in this option.",
        "name": "loginEmail"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the emails provided in this option.",
        "name": "email"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the visibility(ies) provided in this option. Possible values : same_than_company, public, private, closed, isolated, none",
        "name": "visibility"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the organisationIds provided in this option. Option is reserved for superAdmin or admin allowed to manage the given organisationId.",
        "name": "organisationId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the siteIds provided in this option. Option is reserved for superAdmin or admin allowed to manage the given siteIds.",
        "name": "siteId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the jid_ims provided in this option.",
        "name": "jid_im"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter users list on the jid_tels provided in this option.",
        "name": "jid_tel"
      }
    ],
    "longname": "module:AdminService#getAllUsersByFilter",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllUsersByFilter",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAllUsersBySearchEmailByCompanyId\n     * @instance\n     * @description\n     *      Get all users for a given admin in a company by a search of string in email</BR>\n     * @async\n     * @category Companies and users management\n     * @param {string} format=\"small\" Allows to retrieve more or less user details in response.\n     *   small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n     *   medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\n     *   full: all user fields\n     * @param {number} offset=0 Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.\n     * @param {number} limit=100 Allow to specify the number of users to retrieve (default=100).\n     * @param {string} sortField=\"loginEmail\" Sort user list based on the given field (default=\"loginEmail\").\n     * @param {string} companyId the id company the users are in.\n     * @param {string} searchEmail the string to to filter users list on the loginEmail field using the word provided in this option..\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Array} - Array of Json object containing users or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4154,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Array} - Array of Json object containing users or an error object depending on the result",
        "value": "{Array} - Array of Json object containing users or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getAllUsersBySearchEmailByCompanyId",
    "scope": "instance",
    "description": "Get all users for a given admin in a company by a search of string in email</BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less user details in response.\n  small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n  medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\n  full: all user fields",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of users to retrieve (default=100).",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"loginEmail\"",
        "description": "Sort user list based on the given field (default=\"loginEmail\").",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id company the users are in.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the string to to filter users list on the loginEmail field using the word provided in this option..",
        "name": "searchEmail"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getAllUsersBySearchEmailByCompanyId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAllUsersBySearchEmailByCompanyId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getAnImportStatus\n     * @since 2.18.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} companyId=\"user s company id\" the company id. Default value is the current company.\n     * @description\n     *     This API provides a short status of the last import (completed or pending) of a company directory. </BR>\n     *          </BR>\n     *              superadmin can get the status of the import of the directory of any company. </BR>\n     *              bp_admin can only get the status of the import of the directory of their own companies or their End Customer companies. </BR>\n     *              organization_admin can only get the status of the import of the directory of the companies under their organization. </BR>\n     *              company_admin and directory_admin can only get the status of the import of the directory of their onw companies. </BR>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object |     |\n     * | state | string | Import state</BR></BR>Possible values : `\"Initializing\"`, `\"Creating\"`, `\"Completed successfully\"`, `\"Completed with failure\"` |\n     * | companyId | string | Id of the company of the directory |\n     * | userId | string | Id of the requesting user |\n     * | displayName | string | Display name of the requesting user |\n     * | label | string | Description of the import |\n     * | csvHeaders | string | CSV header line (Fields names) |\n     * | startTime | string | Import processing start time |\n     * | created | Integer | Count of created entries |\n     * | failed | Integer | Count of failed entries |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7592,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getAnImportStatus",
    "since": "2.18.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" the company id. Default value is the current company.",
        "name": "companyId"
      }
    ],
    "description": "This API provides a short status of the last import (completed or pending) of a company directory. </BR>\n         </BR>\n             superadmin can get the status of the import of the directory of any company. </BR>\n             bp_admin can only get the status of the import of the directory of their own companies or their End Customer companies. </BR>\n             organization_admin can only get the status of the import of the directory of the companies under their organization. </BR>\n             company_admin and directory_admin can only get the status of the import of the directory of their onw companies. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object |     |\n| state | string | Import state</BR></BR>Possible values : `\"Initializing\"`, `\"Creating\"`, `\"Completed successfully\"`, `\"Completed with failure\"` |\n| companyId | string | Id of the company of the directory |\n| userId | string | Id of the requesting user |\n| displayName | string | Display name of the requesting user |\n| label | string | Description of the import |\n| csvHeaders | string | CSV header line (Fields names) |\n| startTime | string | Import processing start time |\n| created | Integer | Count of created entries |\n| failed | Integer | Count of failed entries |"
      }
    ],
    "longname": "module:AdminService#getAnImportStatus",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAnImportStatus",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getAnImportStatusReport\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} reqId the import request id\n     * @param {string} format=\"full\" Allows to retrieve more or less report details.\n     * - small: reporting without operation details\n     * - full: reporting with operation details\n     * Default value : full\n     * Possible values : small, full\n     * @description\n     *     This API allows to access the report of an import identified by its reqId. </BR>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | * import report |\n     * | reqId | string | * import request identifier |\n     * | mode | string | * provisioning mode</BR></BR>Possible values : `user`, `device`, `rainbowvoice` |\n     * | status | string | * request status |\n     * | report | Object | * request report |\n     * | status | string | * action status |\n     * | action | string | * the fulfilled action |\n     * | userId | string | * Rainbow user Id |\n     * | failingLines | string\\[\\] | * CSV lines that failed |\n     * | line optionnel | string | * associated CSV line in an error case |\n     * | counters | Object | * request counters |\n     * | succeeded | Integer | * '#' of succeeded action |\n     * | failed | Integer | * '#' of failed action |\n     * | label | string | * description of the import |\n     * | total | Integer | * total '#' of actions |\n     * | userId | string | * id of the requesting user |\n     * | displayName | string | * the requesting user displayname |\n     * | companyId | string | * the default company Id |\n     * | startTime | string | * the import processing start time |\n     * | profiles | Object | * provides info about licences used |\n     * | subscriberReport optionnel | Object | * provides details about subscriber action (attach, update or detach action) - only in case of rainbowvoice mode |\n     * | sipDeviceReport optionnel | Object | * provides details about sip Device action (attach or detach action) - only in case of rainbowvoice mode |\n     * | ddiReport optionnel | Object | * provides details about ddi action (attach or detach action) - only in case of rainbowvoice mode |\n     * | endTime | string | * the import processing end time |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7528,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getAnImportStatusReport",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the import request id",
        "name": "reqId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"full\"",
        "description": "Allows to retrieve more or less report details.\n- small: reporting without operation details\n- full: reporting with operation details\nDefault value : full\nPossible values : small, full",
        "name": "format"
      }
    ],
    "description": "This API allows to access the report of an import identified by its reqId. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | * import report |\n| reqId | string | * import request identifier |\n| mode | string | * provisioning mode</BR></BR>Possible values : `user`, `device`, `rainbowvoice` |\n| status | string | * request status |\n| report | Object | * request report |\n| status | string | * action status |\n| action | string | * the fulfilled action |\n| userId | string | * Rainbow user Id |\n| failingLines | string\\[\\] | * CSV lines that failed |\n| line optionnel | string | * associated CSV line in an error case |\n| counters | Object | * request counters |\n| succeeded | Integer | * '#' of succeeded action |\n| failed | Integer | * '#' of failed action |\n| label | string | * description of the import |\n| total | Integer | * total '#' of actions |\n| userId | string | * id of the requesting user |\n| displayName | string | * the requesting user displayname |\n| companyId | string | * the default company Id |\n| startTime | string | * the import processing start time |\n| profiles | Object | * provides info about licences used |\n| subscriberReport optionnel | Object | * provides details about subscriber action (attach, update or detach action) - only in case of rainbowvoice mode |\n| sipDeviceReport optionnel | Object | * provides details about sip Device action (attach or detach action) - only in case of rainbowvoice mode |\n| ddiReport optionnel | Object | * provides details about ddi action (attach or detach action) - only in case of rainbowvoice mode |\n| endTime | string | * the import processing end time |"
      }
    ],
    "longname": "module:AdminService#getAnImportStatusReport",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAnImportStatusReport",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getApiKey\n     * @since 2.36.0\n     * @instance\n     * @async\n     * @param {string} apiKeyId API_KEY unique identifier.\n     * @category Apikeys Rainbow Authentication\n     * @description\n     *     This API Allow a user to get an API_KEYs. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | Response Object. |\n     * | id  | String | The identifier of the API_KEY |\n     * | scope | String\\[\\] | The scope of the API_KEY |\n     * | description | String | The description of the API_KEY |\n     * | isActive | Boolean | Indicate if the API_KEY is active |\n     * | userId | String | The identifier of the API_KEY owner |\n     * | loginEmail | String | The Email of the API_KEY owner |\n     * | expirationDate optional | Date-Time | The expiration date of the API_KEY |\n     * | creationDate | Date-Time | The creation date of the API_KEY |\n     * | lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n     * | createdBy | Object | The object containing some information about the creator of the API_KEY |\n     * | userId | String | The identifier the creator of the API_KEY |\n     * | loginEmail | String | The Email the creator of the API_KEY |\n     * | appId | String | The identifier of the application associated to the creator of the API_KEY |\n     * | appName | String | The name of the application associated to the creator of the API_KEY |\n     * | clientMetadata | Object | The metadata of the client |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14107,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Apikeys Rainbow Authentication",
        "value": "Apikeys Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "getApiKey",
    "since": "2.36.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "API_KEY unique identifier.",
        "name": "apiKeyId"
      }
    ],
    "description": "This API Allow a user to get an API_KEYs. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | Response Object. |\n| id  | String | The identifier of the API_KEY |\n| scope | String\\[\\] | The scope of the API_KEY |\n| description | String | The description of the API_KEY |\n| isActive | Boolean | Indicate if the API_KEY is active |\n| userId | String | The identifier of the API_KEY owner |\n| loginEmail | String | The Email of the API_KEY owner |\n| expirationDate optional | Date-Time | The expiration date of the API_KEY |\n| creationDate | Date-Time | The creation date of the API_KEY |\n| lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n| createdBy | Object | The object containing some information about the creator of the API_KEY |\n| userId | String | The identifier the creator of the API_KEY |\n| loginEmail | String | The Email the creator of the API_KEY |\n| appId | String | The identifier of the application associated to the creator of the API_KEY |\n| appName | String | The name of the application associated to the creator of the API_KEY |\n| clientMetadata | Object | The metadata of the client |"
      }
    ],
    "longname": "module:AdminService#getApiKey",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getApiKey",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getASystemPhoneNumber\n     * @since 2.20.0\n     * @instance\n     * @category Systems -  Phone numbers\n     * @async\n     * @param {string} systemId System unique identifier\n     * @param {string} phoneNumberId PhoneNumber unique identifier\n     * @description\n     *      This API allows to retrieve a specific phoneNumber associated to a given system (pbx).</BR>\n     *      Users with superadmin or support role can retrieve phoneNumbers from any system.</BR>\n     *      bp_admin can only retrieve phoneNumbers linked to systems of End Customer companies for which their bp_admin's company is the BP company.</BR>\n     *      Users with admin role (and not having superadmin nor support role) can only retrieve phoneNumbers of systems that they manage.</BR>\n     *      In a Multi-Layer organization that describes a hierarchy including ORGANIZATIONS/COMPANIES/SITES/SYSTEMS, an admin role of a upper layer is allowed to see systems within their's reach. </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     *    | Champ | Type | Description |\n     *    | --- | --- | --- |\n     *    | id  | string | Phone number unique identifier |\n     *    | shortNumber | string | Short phone number (corresponds to the number monitored by PCG).  </BR>Only usable within the same PBX.  </BR>shortNumber can contain alpha-numeric characters and some special characters. The regular expression validating the shortNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n     *    | internalNumber | string | Internal phone number.  </BR>Usable within a PBX group.  </BR>internalNumber can contain alpha-numeric characters and some special characters. The regular expression validating the internalNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n     *    | voiceMailNumber optionnel | string | Voice mail phone number  </BR>voiceMailNumber can contain alpha-numeric characters and some special characters. The regular expression validating the voiceMailNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n     *    | number optionnel | string | DDI phone number |\n     *    | numberE164 optionnel | string | E.164 phone number (computed by server if number is set) |\n     *    | pbxUserId | string | Pbx's user Id |\n     *    | userId optionnel | string | Rainbow userId to which the phone number is linked |\n     *    | jid_im | string | jid_im of the Rainbow user to which the phone number is linked |\n     *    | jid_tel | string | jid_tel of the Rainbow user to which the phone number is linked |\n     *    | jid_password | string | jid_password of the Rainbow user to which the phone number is linked |\n     *    | rainbowNumber optionnel | string | Rainbow number of the Rainbow user to which the phone number is linked |\n     *    | country optionnel | string | Phone number country (ISO 3166-1 alpha3 format)  </BR>Country field is automatically computed using the following algorithm:</BR></BR>* If `number` is provided and is in E164 format, `country` is computed from this E164 number</BR>* Else if phoneNumber is assigned to a user, user's `country` is used</BR>* Else, system's `country` is used |\n     *    | type optionnel | string | Phone number type, one of `home`, `work`, `other` |\n     *    | deviceType optionnel | string | Phone number device type, one of `landline`, `mobile`, `fax`, `other` |\n     *    | isFromSystem optionnel | string | Boolean indicating if the phoneNumber is linked to a system (pbx) |\n     *    | pbxId | string | pbx unique identifier |\n     *    | firstName | string | firstname |\n     *    | lastName | string | lastname |\n     *    | deviceName | string | devicename |\n     *    | systemId optionnel | string | System unique identifier |\n     *    | isMonitored | Boolean | Specifies if the PhoneNumber is monitored by agent (i.e. telephony events are notified to Rainbow user through XMPP) |\n     *    | isNomadic optionnel | Boolean | Specifies if Nomadic set is selected. |\n     *    | isVoipNomadic optionnel | Boolean | Specifies if Nomadic destination is VoIP. |\n     *    | isNomadicModeInitialized optionnel | Boolean | Nomadic feature: when true, at least one login or logout has been done. PCG reserved. |\n     *    | userType optionnel | string | The userType is ACD data from the OXE. PCG reserved. |\n     *\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12410,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems -  Phone numbers",
        "value": "Systems -  Phone numbers"
      }
    ],
    "kind": "function",
    "name": "getASystemPhoneNumber",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System unique identifier",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier",
        "name": "phoneNumberId"
      }
    ],
    "description": "This API allows to retrieve a specific phoneNumber associated to a given system (pbx).</BR>\n     Users with superadmin or support role can retrieve phoneNumbers from any system.</BR>\n     bp_admin can only retrieve phoneNumbers linked to systems of End Customer companies for which their bp_admin's company is the BP company.</BR>\n     Users with admin role (and not having superadmin nor support role) can only retrieve phoneNumbers of systems that they manage.</BR>\n     In a Multi-Layer organization that describes a hierarchy including ORGANIZATIONS/COMPANIES/SITES/SYSTEMS, an admin role of a upper layer is allowed to see systems within their's reach. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n   | Champ | Type | Description |\n   | --- | --- | --- |\n   | id  | string | Phone number unique identifier |\n   | shortNumber | string | Short phone number (corresponds to the number monitored by PCG).  </BR>Only usable within the same PBX.  </BR>shortNumber can contain alpha-numeric characters and some special characters. The regular expression validating the shortNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n   | internalNumber | string | Internal phone number.  </BR>Usable within a PBX group.  </BR>internalNumber can contain alpha-numeric characters and some special characters. The regular expression validating the internalNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n   | voiceMailNumber optionnel | string | Voice mail phone number  </BR>voiceMailNumber can contain alpha-numeric characters and some special characters. The regular expression validating the voiceMailNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n   | number optionnel | string | DDI phone number |\n   | numberE164 optionnel | string | E.164 phone number (computed by server if number is set) |\n   | pbxUserId | string | Pbx's user Id |\n   | userId optionnel | string | Rainbow userId to which the phone number is linked |\n   | jid_im | string | jid_im of the Rainbow user to which the phone number is linked |\n   | jid_tel | string | jid_tel of the Rainbow user to which the phone number is linked |\n   | jid_password | string | jid_password of the Rainbow user to which the phone number is linked |\n   | rainbowNumber optionnel | string | Rainbow number of the Rainbow user to which the phone number is linked |\n   | country optionnel | string | Phone number country (ISO 3166-1 alpha3 format)  </BR>Country field is automatically computed using the following algorithm:</BR></BR>* If `number` is provided and is in E164 format, `country` is computed from this E164 number</BR>* Else if phoneNumber is assigned to a user, user's `country` is used</BR>* Else, system's `country` is used |\n   | type optionnel | string | Phone number type, one of `home`, `work`, `other` |\n   | deviceType optionnel | string | Phone number device type, one of `landline`, `mobile`, `fax`, `other` |\n   | isFromSystem optionnel | string | Boolean indicating if the phoneNumber is linked to a system (pbx) |\n   | pbxId | string | pbx unique identifier |\n   | firstName | string | firstname |\n   | lastName | string | lastname |\n   | deviceName | string | devicename |\n   | systemId optionnel | string | System unique identifier |\n   | isMonitored | Boolean | Specifies if the PhoneNumber is monitored by agent (i.e. telephony events are notified to Rainbow user through XMPP) |\n   | isNomadic optionnel | Boolean | Specifies if Nomadic set is selected. |\n   | isVoipNomadic optionnel | Boolean | Specifies if Nomadic destination is VoIP. |\n   | isNomadicModeInitialized optionnel | Boolean | Nomadic feature: when true, at least one login or logout has been done. PCG reserved. |\n   | userType optionnel | string | The userType is ACD data from the OXE. PCG reserved. |"
      }
    ],
    "longname": "module:AdminService#getASystemPhoneNumber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getASystemPhoneNumber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAUserProfilesByUserEmail\n     * @since 2.11.0\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} email the email of the user. If not provided, the connected user is used.\n     * @description\n     *      Method to retrieve the profiles of a user by his email. </BR>\n     * @return {Promise<any>} result.\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | subscriptionId | string | Id of company subscription to which user profile is assigned (one of the subscriptions available to user's company) |\n     * | offerId | string | Id of the offer to which company subscription is attached |\n     * | offerName | string | Name of the offer to which company subscription is attached |\n     * | offerDescription | string | Description of the offer to which company subscription is attached |\n     * | offerTechnicalDescription | string | Technical description of the subscribed offer |\n     * | offerReference | string | Key used for referencing the subscribed offer. Well know offer References are: RB-Essential, RB-Business, RB-Enterprise, RB-Conference. |\n     * | profileId | string | Id of the profile to which company subscription is attached |\n     * | profileName | string | Name of the profile to which company subscription is attached |\n     * | status | string | Status of the company subscription to which user profile is assigned  </BR>  </BR>Possible values: `active`, `alerting`, `hold`, `terminated` |\n     * | isDefault | boolean | Indicates if this profile is linked to user's company's subscription to default offer (i.e. Essential) |\n     * | canBeSold | boolean | Indicates if this profile is linked a subscription for a paid offer.  </BR>Some offers are not be sold (Essential, Beta, Demo, ...).  </BR>If canBeSold is true, the subscription is billed. |\n     * | businessModel | string | Indicates the business model associated to the subscribed offer (number of users, usage, ...)</BR></BR>* `nb_users`: Licencing business model. Offers having this business model are billed according to the number of users bought for it. This should be the business model for Business and Enterprise offers.</BR>* `usage`: Offers having this business model are billed based on service consumption (whatever the number of users assigned to the subscription of this offer). This should be the business model for Conference offer.</BR>* `none`: no business model. Used for offers which are not sold (like Essential, Beta, ...).</BR></BR>Possible values : `nb_users`, `usage`, `none` |\n     * | isExclusive | boolean | Indicates if this profile is relative to a subscription for an exclusive offer (if the user has already an exclusive offer assigned, it won't be possible to assign a second exclusive offer).  </BR>Used on GUI side to know if the subscription to assign to a user profile has to be displayed as a radio button or as a check box. |\n     * | isPrepaid | boolean | Indicates if this profile is relative to a subscription for a prepaid offer |\n     * | expirationDate | Date-Time | Expiration date of the subscription to the prepaid offer (creationDate + prepaidDuration) |\n     * | provisioningNeeded | Object\\[\\] | Indicates if provisioning is needed on other component when assigning the user profile to this subscription (depends of thus subscribed offer) |\n     * | providerType | string | If provisioningNeeded is set, each element of the array must contain providerType. providerType defines the component on which the provisioning is needed when subscribing to this offer (provisioning is launched asynchronously when Business Store confirms through the callback that the subscription is created).</BR></BR>Possible values : `PGI`, `JANUS` |\n     * | mediaType optionnel | string | Only set if provisioningNeeded is set and the element of the array has providerType `JANUS`. Corresponds to the media type to use when provisioning the company account on JANUS component.</BR></BR>Possible values : `webrtc` |\n     * | provisioningOngoing | boolean | boolean indicating if the account is being provisioned on the other component. If set to false, the account has been successfully created on the component. |\n     * | provisioningStartDate | string | Provisioning starting date |\n     * | assignationDate | string | Date when the subscription was attached to user profile |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7277,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "getAUserProfilesByUserEmail",
    "since": "2.11.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the email of the user. If not provided, the connected user is used.",
        "name": "email"
      }
    ],
    "description": "Method to retrieve the profiles of a user by his email. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| subscriptionId | string | Id of company subscription to which user profile is assigned (one of the subscriptions available to user's company) |\n| offerId | string | Id of the offer to which company subscription is attached |\n| offerName | string | Name of the offer to which company subscription is attached |\n| offerDescription | string | Description of the offer to which company subscription is attached |\n| offerTechnicalDescription | string | Technical description of the subscribed offer |\n| offerReference | string | Key used for referencing the subscribed offer. Well know offer References are: RB-Essential, RB-Business, RB-Enterprise, RB-Conference. |\n| profileId | string | Id of the profile to which company subscription is attached |\n| profileName | string | Name of the profile to which company subscription is attached |\n| status | string | Status of the company subscription to which user profile is assigned  </BR>  </BR>Possible values: `active`, `alerting`, `hold`, `terminated` |\n| isDefault | boolean | Indicates if this profile is linked to user's company's subscription to default offer (i.e. Essential) |\n| canBeSold | boolean | Indicates if this profile is linked a subscription for a paid offer.  </BR>Some offers are not be sold (Essential, Beta, Demo, ...).  </BR>If canBeSold is true, the subscription is billed. |\n| businessModel | string | Indicates the business model associated to the subscribed offer (number of users, usage, ...)</BR></BR>* `nb_users`: Licencing business model. Offers having this business model are billed according to the number of users bought for it. This should be the business model for Business and Enterprise offers.</BR>* `usage`: Offers having this business model are billed based on service consumption (whatever the number of users assigned to the subscription of this offer). This should be the business model for Conference offer.</BR>* `none`: no business model. Used for offers which are not sold (like Essential, Beta, ...).</BR></BR>Possible values : `nb_users`, `usage`, `none` |\n| isExclusive | boolean | Indicates if this profile is relative to a subscription for an exclusive offer (if the user has already an exclusive offer assigned, it won't be possible to assign a second exclusive offer).  </BR>Used on GUI side to know if the subscription to assign to a user profile has to be displayed as a radio button or as a check box. |\n| isPrepaid | boolean | Indicates if this profile is relative to a subscription for a prepaid offer |\n| expirationDate | Date-Time | Expiration date of the subscription to the prepaid offer (creationDate + prepaidDuration) |\n| provisioningNeeded | Object\\[\\] | Indicates if provisioning is needed on other component when assigning the user profile to this subscription (depends of thus subscribed offer) |\n| providerType | string | If provisioningNeeded is set, each element of the array must contain providerType. providerType defines the component on which the provisioning is needed when subscribing to this offer (provisioning is launched asynchronously when Business Store confirms through the callback that the subscription is created).</BR></BR>Possible values : `PGI`, `JANUS` |\n| mediaType optionnel | string | Only set if provisioningNeeded is set and the element of the array has providerType `JANUS`. Corresponds to the media type to use when provisioning the company account on JANUS component.</BR></BR>Possible values : `webrtc` |\n| provisioningOngoing | boolean | boolean indicating if the account is being provisioned on the other component. If set to false, the account has been successfully created on the component. |\n| provisioningStartDate | string | Provisioning starting date |\n| assignationDate | string | Date when the subscription was attached to user profile |"
      }
    ],
    "longname": "module:AdminService#getAUserProfilesByUserEmail",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAUserProfilesByUserEmail",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAUserProfilesByUserId\n     * @since 2.11.0\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} userId the id of the user. If not provided, the connected user is used.\n     * @description\n     *      Method to retrieve the profiles of a user by his id. </BR>\n     * @return {Promise<any>} result.\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | subscriptionId | string | Id of company subscription to which user profile is assigned (one of the subscriptions available to user's company) |\n     * | offerId | string | Id of the offer to which company subscription is attached |\n     * | offerName | string | Name of the offer to which company subscription is attached |\n     * | offerDescription | string | Description of the offer to which company subscription is attached |\n     * | offerTechnicalDescription | string | Technical description of the subscribed offer |\n     * | offerReference | string | Key used for referencing the subscribed offer. Well know offer References are: RB-Essential, RB-Business, RB-Enterprise, RB-Conference. |\n     * | profileId | string | Id of the profile to which company subscription is attached |\n     * | profileName | string | Name of the profile to which company subscription is attached |\n     * | status | string | Status of the company subscription to which user profile is assigned  </BR>  </BR>Possible values: `active`, `alerting`, `hold`, `terminated` |\n     * | isDefault | boolean | Indicates if this profile is linked to user's company's subscription to default offer (i.e. Essential) |\n     * | canBeSold | boolean | Indicates if this profile is linked a subscription for a paid offer.  </BR>Some offers are not be sold (Essential, Beta, Demo, ...).  </BR>If canBeSold is true, the subscription is billed. |\n     * | businessModel | string | Indicates the business model associated to the subscribed offer (number of users, usage, ...)</BR></BR>* `nb_users`: Licencing business model. Offers having this business model are billed according to the number of users bought for it. This should be the business model for Business and Enterprise offers.</BR>* `usage`: Offers having this business model are billed based on service consumption (whatever the number of users assigned to the subscription of this offer). This should be the business model for Conference offer.</BR>* `none`: no business model. Used for offers which are not sold (like Essential, Beta, ...).</BR></BR>Possible values : `nb_users`, `usage`, `none` |\n     * | isExclusive | boolean | Indicates if this profile is relative to a subscription for an exclusive offer (if the user has already an exclusive offer assigned, it won't be possible to assign a second exclusive offer).  </BR>Used on GUI side to know if the subscription to assign to a user profile has to be displayed as a radio button or as a check box. |\n     * | isPrepaid | boolean | Indicates if this profile is relative to a subscription for a prepaid offer |\n     * | expirationDate | Date-Time | Expiration date of the subscription to the prepaid offer (creationDate + prepaidDuration) |\n     * | provisioningNeeded | Object\\[\\] | Indicates if provisioning is needed on other component when assigning the user profile to this subscription (depends of thus subscribed offer) |\n     * | providerType | string | If provisioningNeeded is set, each element of the array must contain providerType. providerType defines the component on which the provisioning is needed when subscribing to this offer (provisioning is launched asynchronously when Business Store confirms through the callback that the subscription is created).</BR></BR>Possible values : `PGI`, `JANUS` |\n     * | mediaType optionnel | string | Only set if provisioningNeeded is set and the element of the array has providerType `JANUS`. Corresponds to the media type to use when provisioning the company account on JANUS component.</BR></BR>Possible values : `webrtc` |\n     * | provisioningOngoing | boolean | boolean indicating if the account is being provisioned on the other component. If set to false, the account has been successfully created on the component. |\n     * | provisioningStartDate | string | Provisioning starting date |\n     * | assignationDate | string | Date when the subscription was attached to user profile |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7219,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "getAUserProfilesByUserId",
    "since": "2.11.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the user. If not provided, the connected user is used.",
        "name": "userId"
      }
    ],
    "description": "Method to retrieve the profiles of a user by his id. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| subscriptionId | string | Id of company subscription to which user profile is assigned (one of the subscriptions available to user's company) |\n| offerId | string | Id of the offer to which company subscription is attached |\n| offerName | string | Name of the offer to which company subscription is attached |\n| offerDescription | string | Description of the offer to which company subscription is attached |\n| offerTechnicalDescription | string | Technical description of the subscribed offer |\n| offerReference | string | Key used for referencing the subscribed offer. Well know offer References are: RB-Essential, RB-Business, RB-Enterprise, RB-Conference. |\n| profileId | string | Id of the profile to which company subscription is attached |\n| profileName | string | Name of the profile to which company subscription is attached |\n| status | string | Status of the company subscription to which user profile is assigned  </BR>  </BR>Possible values: `active`, `alerting`, `hold`, `terminated` |\n| isDefault | boolean | Indicates if this profile is linked to user's company's subscription to default offer (i.e. Essential) |\n| canBeSold | boolean | Indicates if this profile is linked a subscription for a paid offer.  </BR>Some offers are not be sold (Essential, Beta, Demo, ...).  </BR>If canBeSold is true, the subscription is billed. |\n| businessModel | string | Indicates the business model associated to the subscribed offer (number of users, usage, ...)</BR></BR>* `nb_users`: Licencing business model. Offers having this business model are billed according to the number of users bought for it. This should be the business model for Business and Enterprise offers.</BR>* `usage`: Offers having this business model are billed based on service consumption (whatever the number of users assigned to the subscription of this offer). This should be the business model for Conference offer.</BR>* `none`: no business model. Used for offers which are not sold (like Essential, Beta, ...).</BR></BR>Possible values : `nb_users`, `usage`, `none` |\n| isExclusive | boolean | Indicates if this profile is relative to a subscription for an exclusive offer (if the user has already an exclusive offer assigned, it won't be possible to assign a second exclusive offer).  </BR>Used on GUI side to know if the subscription to assign to a user profile has to be displayed as a radio button or as a check box. |\n| isPrepaid | boolean | Indicates if this profile is relative to a subscription for a prepaid offer |\n| expirationDate | Date-Time | Expiration date of the subscription to the prepaid offer (creationDate + prepaidDuration) |\n| provisioningNeeded | Object\\[\\] | Indicates if provisioning is needed on other component when assigning the user profile to this subscription (depends of thus subscribed offer) |\n| providerType | string | If provisioningNeeded is set, each element of the array must contain providerType. providerType defines the component on which the provisioning is needed when subscribing to this offer (provisioning is launched asynchronously when Business Store confirms through the callback that the subscription is created).</BR></BR>Possible values : `PGI`, `JANUS` |\n| mediaType optionnel | string | Only set if provisioningNeeded is set and the element of the array has providerType `JANUS`. Corresponds to the media type to use when provisioning the company account on JANUS component.</BR></BR>Possible values : `webrtc` |\n| provisioningOngoing | boolean | boolean indicating if the account is being provisioned on the other component. If set to false, the account has been successfully created on the component. |\n| provisioningStartDate | string | Provisioning starting date |\n| assignationDate | string | Date when the subscription was attached to user profile |"
      }
    ],
    "longname": "module:AdminService#getAUserProfilesByUserId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAUserProfilesByUserId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAUserProfilesFeaturesByUserEmail\n     * @since 2.11.0\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} email the email of the user. If not provided, the connected user is used.\n     * @description\n     *      Method to retrieve the features profiles of a user by his email. </BR>\n     * @return {Promise<any>} result.\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | List of feature Objects. |\n     * | featureId | string | Feature unique identifier |\n     * | featureUniqueRef | string | Feature unique reference (to be used for controls on limitations linked to this feature in server/client code) |\n     * | featureName | string | Feature name |\n     * | featureType | string | Feature limitation type (`boolean`, `number`, `string`, `undefined`) |\n     * | isEnabled | boolean | In case feature has type boolean (on/off), is the feature enabled |\n     * | limitMin | Number | In case feature has type number, limit min of the feature (if applicable) |\n     * | limitMax | string | In case feature has type number, limit max of the feature (if applicable) |\n     * | addedDate | Date-Time | Date when the feature was updated for the profile |\n     * | lastUpdateDate | Date-Time | Date when the feature was updated for the profile |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7383,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "getAUserProfilesFeaturesByUserEmail",
    "since": "2.11.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the email of the user. If not provided, the connected user is used.",
        "name": "email"
      }
    ],
    "description": "Method to retrieve the features profiles of a user by his email. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | List of feature Objects. |\n| featureId | string | Feature unique identifier |\n| featureUniqueRef | string | Feature unique reference (to be used for controls on limitations linked to this feature in server/client code) |\n| featureName | string | Feature name |\n| featureType | string | Feature limitation type (`boolean`, `number`, `string`, `undefined`) |\n| isEnabled | boolean | In case feature has type boolean (on/off), is the feature enabled |\n| limitMin | Number | In case feature has type number, limit min of the feature (if applicable) |\n| limitMax | string | In case feature has type number, limit max of the feature (if applicable) |\n| addedDate | Date-Time | Date when the feature was updated for the profile |\n| lastUpdateDate | Date-Time | Date when the feature was updated for the profile |"
      }
    ],
    "longname": "module:AdminService#getAUserProfilesFeaturesByUserEmail",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAUserProfilesFeaturesByUserEmail",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getAUserProfilesFeaturesByUserId\n     * @since 2.11.0\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} userId the id of the user. If not provided, the connected user is used.\n     * @description\n     *      Method to retrieve the features profiles of a user by his id. </BR>\n     * @return {Promise<any>} result.\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | List of feature Objects. |\n     * | featureId | string | Feature unique identifier |\n     * | featureUniqueRef | string | Feature unique reference (to be used for controls on limitations linked to this feature in server/client code) |\n     * | featureName | string | Feature name |\n     * | featureType | string | Feature limitation type (`boolean`, `number`, `string`, `undefined`) |\n     * | isEnabled | boolean | In case feature has type boolean (on/off), is the feature enabled |\n     * | limitMin | Number | In case feature has type number, limit min of the feature (if applicable) |\n     * | limitMax | string | In case feature has type number, limit max of the feature (if applicable) |\n     * | addedDate | Date-Time | Date when the feature was updated for the profile |\n     * | lastUpdateDate | Date-Time | Date when the feature was updated for the profile |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7336,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "getAUserProfilesFeaturesByUserId",
    "since": "2.11.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the user. If not provided, the connected user is used.",
        "name": "userId"
      }
    ],
    "description": "Method to retrieve the features profiles of a user by his id. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | List of feature Objects. |\n| featureId | string | Feature unique identifier |\n| featureUniqueRef | string | Feature unique reference (to be used for controls on limitations linked to this feature in server/client code) |\n| featureName | string | Feature name |\n| featureType | string | Feature limitation type (`boolean`, `number`, `string`, `undefined`) |\n| isEnabled | boolean | In case feature has type boolean (on/off), is the feature enabled |\n| limitMin | Number | In case feature has type number, limit min of the feature (if applicable) |\n| limitMax | string | In case feature has type number, limit max of the feature (if applicable) |\n| addedDate | Date-Time | Date when the feature was updated for the profile |\n| lastUpdateDate | Date-Time | Date when the feature was updated for the profile |"
      }
    ],
    "longname": "module:AdminService#getAUserProfilesFeaturesByUserId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getAUserProfilesFeaturesByUserId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getCheckCSVReport\n     * @since 2.5.1\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} commandId used in the check csv request whicj came from connector on behalf of admin command\n     * @description\n     *      This API retrieves the last checks CSV UTF-8 content for mass-provisioning for useranddevice mode, performed by an admin (using a commandId). </BR>\n     * @return {Promise<any>}\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | report | Object | * check results summary |\n     * | status | string | * status of the check csv</BR></BR>Possible values : `success`, `failure`, `pending` |\n     * | reqId | string | * check request identifier |\n     * | mode | string | * request csv mode</BR></BR>Possible values : `user`, `device` |\n     * | actions | Object | * actions information |\n     * | sync optionnel | Number | * number of user synchronization actions |\n     * | upsert optionnel | Number | * number of user create/update actions |\n     * | delete optionnel | Number | * number of user remove actions |\n     * | columns | Number | * number of columns in the CSV |\n     * | detach optionnel | Number | * number of device unpairing actions |\n     * | delimiter | string | * the CSV delimiter |\n     * | profiles | Object | * the managed profiles |\n     * | name | string | * the managed profiles name |\n     * | valid | Boolean | * the managed profiles validity |\n     * | assignedBefore | Number | * the assigned number of managed profiles before this import |\n     * | assignedAfter | Number | * the assigned number of managed profiles after this import has been fulfilled |\n     * | max | Number | * the maximum number of managed profiles available |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8155,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getCheckCSVReport",
    "since": "2.5.1",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "used in the check csv request whicj came from connector on behalf of admin command",
        "name": "commandId"
      }
    ],
    "description": "This API retrieves the last checks CSV UTF-8 content for mass-provisioning for useranddevice mode, performed by an admin (using a commandId). </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "| Champ | Type | Description |\n| --- | --- | --- |\n| report | Object | * check results summary |\n| status | string | * status of the check csv</BR></BR>Possible values : `success`, `failure`, `pending` |\n| reqId | string | * check request identifier |\n| mode | string | * request csv mode</BR></BR>Possible values : `user`, `device` |\n| actions | Object | * actions information |\n| sync optionnel | Number | * number of user synchronization actions |\n| upsert optionnel | Number | * number of user create/update actions |\n| delete optionnel | Number | * number of user remove actions |\n| columns | Number | * number of columns in the CSV |\n| detach optionnel | Number | * number of device unpairing actions |\n| delimiter | string | * the CSV delimiter |\n| profiles | Object | * the managed profiles |\n| name | string | * the managed profiles name |\n| valid | Boolean | * the managed profiles validity |\n| assignedBefore | Number | * the assigned number of managed profiles before this import |\n| assignedAfter | Number | * the assigned number of managed profiles after this import has been fulfilled |\n| max | Number | * the maximum number of managed profiles available |"
      }
    ],
    "longname": "module:AdminService#getCheckCSVReport",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCheckCSVReport",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXAllSIPdevicesAssignedSubscriber\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {number} limit=100 Allow to specify the number of SIP Devices to retrieve.\n     * @param {number} offset Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField Sort SIP Devices list based on the given field.\n     * @param {number} sortOrder=1 Specify order when sorting SIP Devices list. Valid values are -1, 1.\n     * @param {string} phoneNumberId Allows to filter devices according their phoneNumberId (i.e. subscriber id)\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @description\n     *      This API allows  to retrieve all SIP devices assigned to a subscriber.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10801,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXAllSIPdevicesAssignedSubscriber",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of SIP Devices to retrieve.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Sort SIP Devices list based on the given field.",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting SIP Devices list. Valid values are -1, 1.",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter devices according their phoneNumberId (i.e. subscriber id)",
        "name": "phoneNumberId"
      }
    ],
    "async": true,
    "description": "This API allows  to retrieve all SIP devices assigned to a subscriber.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXAllSIPdevicesAssignedSubscriber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXAllSIPdevicesAssignedSubscriber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPbxById\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @description\n     *      This API allows administrator to retrieve a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9688,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "getCloudPbxById",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "description": "This API allows administrator to retrieve a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPbxById",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPbxById",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXCLIPolicyForOutboundCalls\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @description\n     *      This API allows to retrieve the CloudPBX CLI options for outbound calls using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9889,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXCLIPolicyForOutboundCalls",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "description": "This API allows to retrieve the CloudPBX CLI options for outbound calls using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXCLIPolicyForOutboundCalls",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXCLIPolicyForOutboundCalls",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXDeviceModels\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @description\n     *      This API allows to retrieve a list of device models supported by a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10000,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXDeviceModels",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "description": "This API allows to retrieve a list of device models supported by a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXDeviceModels",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXDeviceModels",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXEmergencyNumbersAndEmergencyOptions\n     * @since 2.1.0\n     * @instance\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @async\n     * @param {string} systemId CloudPBX unique identifier.\n     * @description\n     *      This API allows to retrieve Emergency Numbers and Emergency Options supported by a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10070,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXEmergencyNumbersAndEmergencyOptions",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "description": "This API allows to retrieve Emergency Numbers and Emergency Options supported by a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXEmergencyNumbersAndEmergencyOptions",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXEmergencyNumbersAndEmergencyOptions",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getCloudPBXGroup\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId company id unique identifier. Default value is the connected user's company.\n     * @param {string} groupId Unique identifier of the Cloud PBX group to retrieve.\n     * @description\n     *      This API allows to get data of a Cloud PBX group\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field                                      | Type                                             | Description                                                               |\n     * |--------------------------------------------|--------------------------------------------------|---------------------------------------------------------------------------|\n     * | id                                    | string                                       | Group unique identifier                                                   |\n     * | name                                  | string                                       | Group name - displayed on the caller phone set for hunting group type     |\n     * | shortNumber                           | string                                       | Short phone number of the hunting group                                   |\n     * | externalNumber                        | string                                       | Public phone number on which the hunting group can be joined              |\n     * | externalNumberId                      | string                                       | Identifier of the public phone number of the hunting group                 |\n     * | roomId                                | string                                       | Identifier of the hunting group associated room                           |\n     * | phoneNumberId                         | string                                       | Identifier of the hunting group phone number                              |\n     * | createdBy                             | string                                       | Group creator identifier                                                  |\n     * | policy                                | HuntingGroupPolicy                          | Group policy of the hunting group.                                        |\n     * | timeout                               | 5-30                                         | Group timeout in seconds - specific to serial or circular group policy    |\n     * | type                                  | HuntingGroupType                            | Group type. DEPRECATED manager_assistant - see subType 'manager_assistant' |\n     * | subType                               | HuntingGroupSubType                         | Hunting group sub type.                                                   |\n     * | isRecordingActivated                  | Boolean                                     | Indicates if the recording is activated on the hunting group              |\n     * | recordingProfile                     | HuntingGroupProfiles                        | Recording profile of the hunting group.                                   |\n     * | isEmergencyGroup                      | Boolean                                     | Indicates if this hunting group is the emergency group for the associated Cloud PBX |\n     * | isEmptyAllowed                       | Boolean                                     | Indicates if the last active member can leave the hunting group or not   |\n     * | isDDIUpdateByManagerAllowed          | Boolean                                     | Indicates if changing the DDI of this hunting group by a manager is allowed or not |\n     * | companyId                            | string                                       | Identifier of the company owning the hunting group                        |\n     * | subscriberId                         | string                                       | Associated subscriber Id of the hunting group                             |\n     * | systemId                             | string                                       | Cloud PBX System unique identifier                                        |\n     * | members                              | Array                                        | List of group members                                                     |\n     * | members.memberId                     | string                                       | Member (user) unique identifier                                           |\n     * | members.displayName                  | string                                       | Member display name                                                       |\n     * | members.roles                        | HuntingGroupMemberRole                      | Member role inside the group. Possible values: manager, agent, leader, assistant |\n     * | members.status                       | HuntingGroupMemberStatus                    | Member status inside the group.                                           |\n     * | members.connected                    | HuntingGroupMemberConnection                | Hunting group member connected status inside the group. If status active and connected or deskphone, member could answer a group call |\n     * | analyticSettings                     | Object                                      | Group analytic settings                                                   |\n     * | analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean                     | Are group managers allowed to see members analytics                      |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *          \"id\": \"5cd545b3a07de465fbc3fcda\",\n     *          \"name\": \"Group_1\",\n     *          \"type\": \"hunting_group\",\n     *          \"subType\": \"default\",\n     *          \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n     *          \"policy\": \"serial\",\n     *          \"shortNumber\": \"81002\",\n     *          \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n     *          \"externalNumber\": \"+33298564112\",\n     *          \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n     *          \"timeout\": 10,\n     *          \"isEmergencyGroup\": false,\n     *          \"isEmptyAllowed\": true,\n     *          \"isDDIUpdateByManagerAllowed\": true,\n     *          \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n     *          \"subscriberId\": 147,\n     *          \"systemId\": \"5de6a632c21aa17bab337347\",\n     *          \"members\": [\n     *              {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n     *              {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"disconnected\"},\n     *              {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"deskphone\"}\n     *          ],\n     *          \"isRecordingActivated\": false,\n     *          \"recordingProfile\": \"none\",\n     *          \"analyticSettings\": {\n     *              \"isManagersAllowedToSeeMembersAnalytics\": true\n     *          }\n     *  }\n     *  ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15931,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getCloudPBXGroup",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "company id unique identifier. Default value is the connected user's company.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the Cloud PBX group to retrieve.",
        "name": "groupId"
      }
    ],
    "description": "This API allows to get data of a Cloud PBX group",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field                                      | Type                                             | Description                                                               |\n|--------------------------------------------|--------------------------------------------------|---------------------------------------------------------------------------|\n| id                                    | string                                       | Group unique identifier                                                   |\n| name                                  | string                                       | Group name - displayed on the caller phone set for hunting group type     |\n| shortNumber                           | string                                       | Short phone number of the hunting group                                   |\n| externalNumber                        | string                                       | Public phone number on which the hunting group can be joined              |\n| externalNumberId                      | string                                       | Identifier of the public phone number of the hunting group                 |\n| roomId                                | string                                       | Identifier of the hunting group associated room                           |\n| phoneNumberId                         | string                                       | Identifier of the hunting group phone number                              |\n| createdBy                             | string                                       | Group creator identifier                                                  |\n| policy                                | HuntingGroupPolicy                          | Group policy of the hunting group.                                        |\n| timeout                               | 5-30                                         | Group timeout in seconds - specific to serial or circular group policy    |\n| type                                  | HuntingGroupType                            | Group type. DEPRECATED manager_assistant - see subType 'manager_assistant' |\n| subType                               | HuntingGroupSubType                         | Hunting group sub type.                                                   |\n| isRecordingActivated                  | Boolean                                     | Indicates if the recording is activated on the hunting group              |\n| recordingProfile                     | HuntingGroupProfiles                        | Recording profile of the hunting group.                                   |\n| isEmergencyGroup                      | Boolean                                     | Indicates if this hunting group is the emergency group for the associated Cloud PBX |\n| isEmptyAllowed                       | Boolean                                     | Indicates if the last active member can leave the hunting group or not   |\n| isDDIUpdateByManagerAllowed          | Boolean                                     | Indicates if changing the DDI of this hunting group by a manager is allowed or not |\n| companyId                            | string                                       | Identifier of the company owning the hunting group                        |\n| subscriberId                         | string                                       | Associated subscriber Id of the hunting group                             |\n| systemId                             | string                                       | Cloud PBX System unique identifier                                        |\n| members                              | Array                                        | List of group members                                                     |\n| members.memberId                     | string                                       | Member (user) unique identifier                                           |\n| members.displayName                  | string                                       | Member display name                                                       |\n| members.roles                        | HuntingGroupMemberRole                      | Member role inside the group. Possible values: manager, agent, leader, assistant |\n| members.status                       | HuntingGroupMemberStatus                    | Member status inside the group.                                           |\n| members.connected                    | HuntingGroupMemberConnection                | Hunting group member connected status inside the group. If status active and connected or deskphone, member could answer a group call |\n| analyticSettings                     | Object                                      | Group analytic settings                                                   |\n| analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean                     | Are group managers allowed to see members analytics                      |\n\n </br>example of result :\n ```json\n {\n         \"id\": \"5cd545b3a07de465fbc3fcda\",\n         \"name\": \"Group_1\",\n         \"type\": \"hunting_group\",\n         \"subType\": \"default\",\n         \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n         \"policy\": \"serial\",\n         \"shortNumber\": \"81002\",\n         \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n         \"externalNumber\": \"+33298564112\",\n         \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n         \"timeout\": 10,\n         \"isEmergencyGroup\": false,\n         \"isEmptyAllowed\": true,\n         \"isDDIUpdateByManagerAllowed\": true,\n         \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n         \"subscriberId\": 147,\n         \"systemId\": \"5de6a632c21aa17bab337347\",\n         \"members\": [\n             {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n             {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"disconnected\"},\n             {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"deskphone\"}\n         ],\n         \"isRecordingActivated\": false,\n         \"recordingProfile\": \"none\",\n         \"analyticSettings\": {\n             \"isManagersAllowedToSeeMembersAnalytics\": true\n         }\n }\n ```\n</br>"
      }
    ],
    "longname": "module:AdminService#getCloudPBXGroup",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXGroup",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXInfoAllRegisteredSIPdevicesSubscriber\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier of the CloudPBX Subscriber for which all SIP registrations must be retrieved\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @description\n     *      This API allows to retrieve registrations info on all devices registered for a subscriber.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10841,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXInfoAllRegisteredSIPdevicesSubscriber",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier of the CloudPBX Subscriber for which all SIP registrations must be retrieved",
        "name": "phoneNumberId"
      }
    ],
    "async": true,
    "description": "This API allows to retrieve registrations info on all devices registered for a subscriber.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXInfoAllRegisteredSIPdevicesSubscriber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXInfoAllRegisteredSIPdevicesSubscriber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXlanguages\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @description\n     *      This API allows to retrieve a list of languages supported by a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9965,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXlanguages",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "description": "This API allows to retrieve a list of languages supported by a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXlanguages",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXlanguages",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPbxs\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @description\n     *      This API allows administrator to retrieve a list of CloudPBXs. </BR>\n     * @return {Promise<any>}\n     * @param {number} limit=100 Allow to specify the number of CloudPBXs to retrieve. Default value : 100\n     * @param {number} offset=0 llow to specify the position of first cloudPBX to retrieve (first site if not specified) Warning: if offset > total, no results are returned\n     * @param {string} sortField=\"companyId\" Sort CloudPBXs list based on the given field. Default value : companyId\n     * @param {number} sortOrder=1 Specify order when sorting CloudPBXs list. Default value : 1. Possible values : -1, 1\n     * @param {string} companyId Allows to filter CloudPBXs list on the siteIds linked to companyIds provided in this option\n     * @param {string} bpId Allows to filter CloudPBXs list on the bpIds provided in this option\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9810,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "getCloudPbxs",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "description": "This API allows administrator to retrieve a list of CloudPBXs. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of CloudPBXs to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "llow to specify the position of first cloudPBX to retrieve (first site if not specified) Warning: if offset > total, no results are returned",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"companyId\"",
        "description": "Sort CloudPBXs list based on the given field. Default value : companyId",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting CloudPBXs list. Default value : 1. Possible values : -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter CloudPBXs list on the siteIds linked to companyIds provided in this option",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter CloudPBXs list on the bpIds provided in this option",
        "name": "bpId"
      }
    ],
    "longname": "module:AdminService#getCloudPbxs",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPbxs",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXSIPdeviceAssignedSubscriber\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier of the CloudPBX Subscriber associated to the SIP device to retrieve.\n     * @param {string} deviceId Unique identifier of the SIP device to retrieve\n     * @description\n     *      This API allows to retrieve a given SIP device assigned to a subscriber.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10701,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXSIPdeviceAssignedSubscriber",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier of the CloudPBX Subscriber associated to the SIP device to retrieve.",
        "name": "phoneNumberId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device to retrieve",
        "name": "deviceId"
      }
    ],
    "description": "This API allows to retrieve a given SIP device assigned to a subscriber.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXSIPdeviceAssignedSubscriber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXSIPdeviceAssignedSubscriber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXSIPDeviceById\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} deviceId Unique identifier of the SIP device to get\n     * @description\n     *      This API allows to retrieve a SIP device using the given deviceId.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10197,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXSIPDeviceById",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device to get",
        "name": "deviceId"
      }
    ],
    "description": "This API allows to retrieve a SIP device using the given deviceId.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXSIPDeviceById",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXSIPDeviceById",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXSIPRegistrationsInformationDevice\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} deviceId Unique identifier of the SIP device for which SIP registrations information should be retrieved.\n     * @description\n     *      This API allows to retrieve SIP registrations information relative to a device.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10370,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXSIPRegistrationsInformationDevice",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device for which SIP registrations information should be retrieved.",
        "name": "deviceId"
      }
    ],
    "description": "This API allows to retrieve SIP registrations information relative to a device.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXSIPRegistrationsInformationDevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXSIPRegistrationsInformationDevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXSubscriber\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id).\n     * @description\n     *      This API allows to get data of a CloudPBX Subscriber.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10559,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXSubscriber",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id).",
        "name": "phoneNumberId"
      }
    ],
    "description": "This API allows to get data of a CloudPBX Subscriber.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXSubscriber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXSubscriber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXSubscriberCLIOptions\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @description\n     *      This API allows to get CLI policy of a CloudPBX Subscriber.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10931,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXSubscriberCLIOptions",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id)",
        "name": "phoneNumberId"
      }
    ],
    "async": true,
    "description": "This API allows to get CLI policy of a CloudPBX Subscriber.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXSubscriberCLIOptions",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXSubscriberCLIOptions",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXTrafficBarringOptions\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @description\n     *      This API allows to retrieve a list of traffic barring options supported by a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10035,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXTrafficBarringOptions",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "description": "This API allows to retrieve a list of traffic barring options supported by a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXTrafficBarringOptions",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXTrafficBarringOptions",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCloudPBXUnassignedInternalPhonenumbers\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers\n     * @description\n     *      This API allows to list all unassigned internal phone numbers for a given CloudPBX system.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10977,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers"
      }
    ],
    "kind": "function",
    "name": "getCloudPBXUnassignedInternalPhonenumbers",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      }
    ],
    "async": true,
    "description": "This API allows to list all unassigned internal phone numbers for a given CloudPBX system.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCloudPBXUnassignedInternalPhonenumbers",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCloudPBXUnassignedInternalPhonenumbers",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCompanieByName\n     * @instance\n     * @nodered true\n     * @description\n     *   This API allows users to get all companies by name. </BR>\n     *   Users with user role can only retrieve their own company and companies they can see (companies with visibility=public, companies having user's companyId in visibleBy field, companies being in user's company organization and having visibility=organization, BP company of user's company). </BR>\n     *   Users with analytics can retrieve all companies, but only the following fields are returned: id, creationDate, status, statusUpdatedDate, visibility, visibleBy, organisationId </BR>\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | List of company Objects. |\n     * | limit | Number | Number of requested items |\n     * | offset | Number | Requested position of the first item to retrieve |\n     * | total | Number | Total number of items |\n     *\n     * @fulfil {Object} - the result\n     * @category async\n     * @param {string} format=\"small\" Allows to retrieve more or less company details in response. </BR>\n     * * small: id, name </BR>\n     * * medium: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\n     * * full: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\n     * Default value : small. Possibles values : small, medium, full\n     * @param {string} sortField=\"name\" Sort items list based on the given field. Default value : name\n     * @param {number} limit=100 Allow to specify the number of items to retrieve. Default value : 100.\n     * @param {number} offset=0 Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0\n     * @param {number} sortOrder=1 Specify order when sorting items list. Default value : 1. Possibles values -1, 1\n     * @param {string} name Allows to filter companies list on the given keyword(s) on field name. </BR>\n     * The filtering is case insensitive and on partial name match: all companies containing the provided name value will be returned (whatever the position of the match).\n     * Ex: if filtering is done on comp, companies with the following names are match the filter 'My company', 'Company', 'A comp 1', 'Comp of comps', ...\n     * @param {string} status=\"active\" Allows to filter companies list on the provided status(es). Possibles values initializing, active, alerting, hold, terminated\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1090,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - the result",
        "value": "{Object} - the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getCompanieByName",
    "scope": "instance",
    "description": "This API allows users to get all companies by name. </BR>\n  Users with user role can only retrieve their own company and companies they can see (companies with visibility=public, companies having user's companyId in visibleBy field, companies being in user's company organization and having visibility=organization, BP company of user's company). </BR>\n  Users with analytics can retrieve all companies, but only the following fields are returned: id, creationDate, status, statusUpdatedDate, visibility, visibleBy, organisationId </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | List of company Objects. |\n| limit | Number | Number of requested items |\n| offset | Number | Requested position of the first item to retrieve |\n| total | Number | Total number of items |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less company details in response. </BR>\n* small: id, name </BR>\n* medium: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\n* full: id, name, status, adminEmail, companyContactId, country, website, slogan, description, size, economicActivityClassification, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape </BR>\nDefault value : small. Possibles values : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Sort items list based on the given field. Default value : name",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of items to retrieve. Default value : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting items list. Default value : 1. Possibles values -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter companies list on the given keyword(s) on field name. </BR>\nThe filtering is case insensitive and on partial name match: all companies containing the provided name value will be returned (whatever the position of the match).\nEx: if filtering is done on comp, companies with the following names are match the filter 'My company', 'Company', 'A comp 1', 'Comp of comps', ...",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"active\"",
        "description": "Allows to filter companies list on the provided status(es). Possibles values initializing, active, alerting, hold, terminated",
        "name": "status"
      }
    ],
    "longname": "module:AdminService#getCompanieByName",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCompanieByName",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCompaniesBPBusinessType\n     * @instance\n     * @description\n     *      This API allows superadmin to retrieve allowed values for bpBusinessType\n     * @async\n     * @category Companies and users management\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | String | bp business type id. |\n     * | description | String | bp business type description. |\n     *\n     * examples of result :\n     * ```json\n     * [\n     *         {\n     *             \"id\": \"voice_by_partner\",\n     *             \"description\": \"Voice by Partner\"\n     *         },\n     *         {\n     *             \"id\": \"voice_by_ale\",\n     *             \"description\": \"Voice by ALE\"\n     *         },\n     *         {\n     *             \"id\": \"default\",\n     *             \"description\": \"Default\"\n     *         },\n     *         {\n     *             \"id\": \"conference\",\n     *             \"description\": \"Conference\"\n     *         }\n     * ]\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 2337,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "getCompaniesBPBusinessType",
    "scope": "instance",
    "description": "This API allows superadmin to retrieve allowed values for bpBusinessType",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | String | bp business type id. |\n| description | String | bp business type description. |\n\nexamples of result :\n```json\n[\n        {\n            \"id\": \"voice_by_partner\",\n            \"description\": \"Voice by Partner\"\n        },\n        {\n            \"id\": \"voice_by_ale\",\n            \"description\": \"Voice by ALE\"\n        },\n        {\n            \"id\": \"default\",\n            \"description\": \"Default\"\n        },\n        {\n            \"id\": \"conference\",\n            \"description\": \"Conference\"\n        }\n]\n```"
      }
    ],
    "longname": "module:AdminService#getCompaniesBPBusinessType",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCompaniesBPBusinessType",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCompanyAdministrators\n     * @instance\n     * @description\n     *   This API allows users to list users being administrator of a company. </BR>\n     *   Users can only retrieve administrators of their own company and administrators of companies visible by their own company (companies being in user's company organisation and having visibility=organization, and companies having user's companyId in visibleBy). </BR>\n     *\n     *   This API implement pagination, using limit and offset options in query string arguments (default is limit on 100 users). Result sorting can also be done using sort and order options (default is sort on displayName on ascending order). </BR>\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | User Object. |\n     * | loginEmail | string | DEPRECATED (will be removed in a future release).  </br>User email address (used for login) |\n     * | id  | string | User unique identifier |\n     * | firstName | string | User first name |\n     * | lastName | string | User last name |\n     * | jid_im | string | User Jabber IM identifier |\n     * | companyId | string | User company unique identifier |\n     * | companyName | string | User company name |\n     * | lastUpdateDate | Date-Time | Date of last user update (whatever the field updated) |\n     * | lastAvatarUpdateDate | Date-Time | Date of last user avatar create/update, null if no avatar |\n     * | isTerminated | Boolean | Indicates if the Rainbow account of this user has been deleted |\n     * | guestMode | Boolean | Indicated a user embedded in a chat or conference room, as guest, with limited rights until he finalizes his registration. |\n     *\n     * @fulfil {Object} - the result\n     * @category async\n     * @param {string} companyId Company for which list of administrators is requested.\n     * @param {string} format=\"small\" Allows to retrieve more or less user details in response. </BR>\n     * - small: id, firstName, lastName, displayName, companyId, companyName, isTerminated </BR>\n     * - medium: id, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode </BR>\n     * - full: id, firstName, lastName, displayName, nickName, title, jobTitle, department, emails, phoneNumbers, country, state, language, timezone, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode, lastOfflineMailReceivedDate </BR>\n     * Default value : small. Possibles values : small, medium, full\n     * @param {number} limit=100 Allow to specify the number of items to retrieve. Default value : 100.\n     * @param {number} offset=0 Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1131,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - the result",
        "value": "{Object} - the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getCompanyAdministrators",
    "scope": "instance",
    "description": "This API allows users to list users being administrator of a company. </BR>\n  Users can only retrieve administrators of their own company and administrators of companies visible by their own company (companies being in user's company organisation and having visibility=organization, and companies having user's companyId in visibleBy). </BR>\n\n  This API implement pagination, using limit and offset options in query string arguments (default is limit on 100 users). Result sorting can also be done using sort and order options (default is sort on displayName on ascending order). </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | User Object. |\n| loginEmail | string | DEPRECATED (will be removed in a future release).  </br>User email address (used for login) |\n| id  | string | User unique identifier |\n| firstName | string | User first name |\n| lastName | string | User last name |\n| jid_im | string | User Jabber IM identifier |\n| companyId | string | User company unique identifier |\n| companyName | string | User company name |\n| lastUpdateDate | Date-Time | Date of last user update (whatever the field updated) |\n| lastAvatarUpdateDate | Date-Time | Date of last user avatar create/update, null if no avatar |\n| isTerminated | Boolean | Indicates if the Rainbow account of this user has been deleted |\n| guestMode | Boolean | Indicated a user embedded in a chat or conference room, as guest, with limited rights until he finalizes his registration. |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company for which list of administrators is requested.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less user details in response. </BR>\n- small: id, firstName, lastName, displayName, companyId, companyName, isTerminated </BR>\n- medium: id, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode </BR>\n- full: id, firstName, lastName, displayName, nickName, title, jobTitle, department, emails, phoneNumbers, country, state, language, timezone, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode, lastOfflineMailReceivedDate </BR>\nDefault value : small. Possibles values : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of items to retrieve. Default value : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0",
        "name": "offset"
      }
    ],
    "longname": "module:AdminService#getCompanyAdministrators",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCompanyAdministrators",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCompanyAppFeatureCustomisation\n     * @instance\n     * @description\n     *      This API allows administrators to list the features customisation elements for the company.\n     *\n     * Retrieves the application features customisation elements (e.g. conversation pane, menu pane, services) for the given company.\n     * The list of supported features elements is the following (naming convention given from the desktop):\n     *\n     * * featureConversationPane: Left pane containing conversations.\n     * * callContact: Button call a contact from conversations pane.\n     * * searchContact: Search bar in the conversations pane.\n     * * featureTopPane: Top pane containing the menu.\n     * * featureServices: Services available for the users.\n     * * meeting: Allow to create a meeting.\n     * * uploadFile: Allow user to upload a file.\n     * * shareFile: Allow user to share file with other user .\n     * * callHistory: Allow user to have a call history.\n     * * createBubble: Allow user to create bubble.\n     * @async\n     * @param {string} companyId Company for which list of custom feature elements is requested.\n     * @category Companies and users management\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | companyId  | String | Company for which list of custom feature elements is requested. |\n     *\n     * examples of result :\n     * ```json\n     * {\n     *  \"id\": \"59a86a53aa11836bde061833\",\n     *  \"appFeaturesCustomisation\": {\n     *     \"featureConversationPane\": \"#595959\",\n     *     \"callContact\": false,\n     *     \"searchContact\": false,\n     *     \"meeting\": false\n     *  }\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 2398,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "getCompanyAppFeatureCustomisation",
    "scope": "instance",
    "description": "This API allows administrators to list the features customisation elements for the company.\n\nRetrieves the application features customisation elements (e.g. conversation pane, menu pane, services) for the given company.\nThe list of supported features elements is the following (naming convention given from the desktop):\n\n* featureConversationPane: Left pane containing conversations.\n* callContact: Button call a contact from conversations pane.\n* searchContact: Search bar in the conversations pane.\n* featureTopPane: Top pane containing the menu.\n* featureServices: Services available for the users.\n* meeting: Allow to create a meeting.\n* uploadFile: Allow user to upload a file.\n* shareFile: Allow user to share file with other user .\n* callHistory: Allow user to have a call history.\n* createBubble: Allow user to create bubble.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company for which list of custom feature elements is requested.",
        "name": "companyId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| companyId  | String | Company for which list of custom feature elements is requested. |\n\nexamples of result :\n```json\n{\n \"id\": \"59a86a53aa11836bde061833\",\n \"appFeaturesCustomisation\": {\n    \"featureConversationPane\": \"#595959\",\n    \"callContact\": false,\n    \"searchContact\": false,\n    \"meeting\": false\n }\n}\n```"
      }
    ],
    "longname": "module:AdminService#getCompanyAppFeatureCustomisation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCompanyAppFeatureCustomisation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCompanyServiceDescriptionFile\n     * @instance\n     * @description\n     *      This API allows administrators to get service description pdf file uploaded by superadmin.\n     * @async\n     * @param {string} companyId Company for which service description file is requested.\n     * @category Companies and users management\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | pdf  | Binary | Service description pdf file. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 2469,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "getCompanyServiceDescriptionFile",
    "scope": "instance",
    "description": "This API allows administrators to get service description pdf file uploaded by superadmin.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company for which service description file is requested.",
        "name": "companyId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| pdf  | Binary | Service description pdf file. |"
      }
    ],
    "longname": "module:AdminService#getCompanyServiceDescriptionFile",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCompanyServiceDescriptionFile",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getContactInfos\n     * @instance\n     * @description\n     *      Get informations about a user </BR>\n     * @param {string} userId The id of the user\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Json object containing informations or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4207,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing informations or an error object depending on the result",
        "value": "{Object} - Json object containing informations or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getContactInfos",
    "scope": "instance",
    "description": "Get informations about a user </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The id of the user",
        "name": "userId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getContactInfos",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getContactInfos",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCountersForApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to get counters for an application.\n     *\n     * </br> Users with `superadmin` role can get counters for an application.\n     * </br> Users with `admin` role can get counters for an application.\n     * </br> Users with `app_admin` role can get counters for an application.\n     * </br> Users with `app_superadmin` role can get counters for an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17297,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "getCountersForApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to get counters for an application.\n\n</br> Users with `superadmin` role can get counters for an application.\n</br> Users with `admin` role can get counters for an application.\n</br> Users with `app_admin` role can get counters for an application.\n</br> Users with `app_superadmin` role can get counters for an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#getCountersForApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCountersForApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getCSVReportByCommandId\n     * @since 2.15.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @description\n     *      This API retrieves the last import CSV UTF-8 content for mass-provisioning for directory mode, performed by an admin (using a commandId). </BR>\n     *           </BR>\n     *      return { </BR>\n     *           status : string, // status of the check csv. Possible values : success, failure, pending  </BR>\n     *          report : Object,  // check results summary </BR>\n     *              companyId : string, // Id of the company of the directory </BR>\n     *              userId : string, Id of the requesting user </BR>\n     *              displayName : string Display name of the requesting user </BR>\n     *              label : string Description of the import </BR>\n     *              csvHeaders : string CSV header line (Fields names) </BR>\n     *              startTime : string Import processing start time </BR>\n     *              created : number Count of created entries </BR>\n     *              updated : number Count of updated entries </BR>\n     *              deleted : number Count of deleted entries </BR>\n     *              failed :    Integer Count of failed entries </BR>\n     *        } </BR>\n     *\n     *      return an {Object}  of synchronization data. </BR>\n     * @return {Promise<any>}\n     * @param {string} commandId commandId used in the import csv request which came from connector on behalf of admin command.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8515,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getCSVReportByCommandId",
    "since": "2.15.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "description": "This API retrieves the last import CSV UTF-8 content for mass-provisioning for directory mode, performed by an admin (using a commandId). </BR>\n          </BR>\n     return { </BR>\n          status : string, // status of the check csv. Possible values : success, failure, pending  </BR>\n         report : Object,  // check results summary </BR>\n             companyId : string, // Id of the company of the directory </BR>\n             userId : string, Id of the requesting user </BR>\n             displayName : string Display name of the requesting user </BR>\n             label : string Description of the import </BR>\n             csvHeaders : string CSV header line (Fields names) </BR>\n             startTime : string Import processing start time </BR>\n             created : number Count of created entries </BR>\n             updated : number Count of updated entries </BR>\n             deleted : number Count of deleted entries </BR>\n             failed :    Integer Count of failed entries </BR>\n       } </BR>\n\n     return an {Object}  of synchronization data. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "commandId used in the import csv request which came from connector on behalf of admin command.",
        "name": "commandId"
      }
    ],
    "longname": "module:AdminService#getCSVReportByCommandId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCSVReportByCommandId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getCSVTemplate\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string}  companyId ompanyId of the users in the CSV file, default to admin's companyId.\n     * @param {string} mode=\"useranddevice\" Select template to return.\n     * - user: provider the user management template\n     * - device: provider the device management template\n     * - useranddevice: provider the user and device management template (both user and device)\n     * - rainbowvoice : provider the user and subscriber/DDI/device association management template.\n     * @param {string} comment Only the template comment..\n     * @description\n     *      This API provides a CSV template. </BR>\n     *      result : </BR>\n     *      CSV {Object[]} lines with all supported headers and some samples : </BR>\n     *      __action__ {string} Action to perform values : create, update, delete, upsert, detach </BR>\n     *      loginEmail {string} email address - Main or professional email used as login </BR>\n     *      password optionnel {string} (>= 8 chars with 1 capital+1 number+1 special char) (e.g. This1Pwd!) </BR>\n     *      title optionnel {string} (e.g. Mr, Mrs, Dr, ...) </BR>\n     *      firstName optionnel {string} </BR>\n     *      lastName optionnel {string} </BR>\n     *      nickName optionnel {string} </BR>\n     *      businessPhone0 optionnel {string} E.164 number - DDI phone number (e.g. +33123456789) </BR>\n     *      mobilePhone0 optionnel {string} E.164 number - Mobile phone number (e.g. +33601234567) </BR>\n     *      email0 optionnel {string} email address - Personal email </BR>\n     *      jobTitle optionnel {string} </BR>\n     *      department optionnel {string} </BR>\n     *      country optionnel {string} ISO 3166-1 alpha-3 - (e.g. FRA) </BR>\n     *      language optionnel {string} ISO 639-1 (en) / with ISO 31661 alpha-2 (en-US) </BR>\n     *      timezone optionnel {string} IANA tz database (Europe/Paris) </BR>\n     *      pbxShortNumber optionnel {number} PBX extension number </BR>\n     *      pbxInternalNumber optionnel {string} E.164 number - Private number when different from extension number </BR>\n     *      selectedAppCustomisationTemplateName optionnel {string} Allow to specify an application customisation template for this user. The application customisation template has to be specified using its name (ex: \"Chat and Audio\", \"Custom profile\")     Values( Full, Phone, calls, only, Audio, only, Chat, and, Audio, Same, as, company, , profile) </BR>\n     *      shortNumber optionnel string subscriber {number} (only for rainbowvoice mode) </BR>\n     *      macAddress optionnel {string} macAddress of the associated SIP device of the subscriber (only for rainbowvoice mode) </BR>\n     *      ddiE164Number optionnel string E.164 {number} - E164 number of the associted DDI of the subscriber (only for rainbowvoice mode) </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8046,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getCSVTemplate",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ompanyId of the users in the CSV file, default to admin's companyId.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"useranddevice\"",
        "description": "Select template to return.\n- user: provider the user management template\n- device: provider the device management template\n- useranddevice: provider the user and device management template (both user and device)\n- rainbowvoice : provider the user and subscriber/DDI/device association management template.",
        "name": "mode"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Only the template comment..",
        "name": "comment"
      }
    ],
    "description": "This API provides a CSV template. </BR>\n     result : </BR>\n     CSV {Object[]} lines with all supported headers and some samples : </BR>\n     __action__ {string} Action to perform values : create, update, delete, upsert, detach </BR>\n     loginEmail {string} email address - Main or professional email used as login </BR>\n     password optionnel {string} (>= 8 chars with 1 capital+1 number+1 special char) (e.g. This1Pwd!) </BR>\n     title optionnel {string} (e.g. Mr, Mrs, Dr, ...) </BR>\n     firstName optionnel {string} </BR>\n     lastName optionnel {string} </BR>\n     nickName optionnel {string} </BR>\n     businessPhone0 optionnel {string} E.164 number - DDI phone number (e.g. +33123456789) </BR>\n     mobilePhone0 optionnel {string} E.164 number - Mobile phone number (e.g. +33601234567) </BR>\n     email0 optionnel {string} email address - Personal email </BR>\n     jobTitle optionnel {string} </BR>\n     department optionnel {string} </BR>\n     country optionnel {string} ISO 3166-1 alpha-3 - (e.g. FRA) </BR>\n     language optionnel {string} ISO 639-1 (en) / with ISO 31661 alpha-2 (en-US) </BR>\n     timezone optionnel {string} IANA tz database (Europe/Paris) </BR>\n     pbxShortNumber optionnel {number} PBX extension number </BR>\n     pbxInternalNumber optionnel {string} E.164 number - Private number when different from extension number </BR>\n     selectedAppCustomisationTemplateName optionnel {string} Allow to specify an application customisation template for this user. The application customisation template has to be specified using its name (ex: \"Chat and Audio\", \"Custom profile\")     Values( Full, Phone, calls, only, Audio, only, Chat, and, Audio, Same, as, company, , profile) </BR>\n     shortNumber optionnel string subscriber {number} (only for rainbowvoice mode) </BR>\n     macAddress optionnel {string} macAddress of the associated SIP device of the subscriber (only for rainbowvoice mode) </BR>\n     ddiE164Number optionnel string E.164 {number} - E164 number of the associted DDI of the subscriber (only for rainbowvoice mode) </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getCSVTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCSVTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getCurrentApiKey\n     * @since 2.36.0\n     * @instance\n     * @async\n     * @category Apikeys Rainbow Authentication\n     * @description\n     *     This API Allow a user to get data of the currently used API_KEY. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | Response Object. |\n     * | id  | String | The identifier of the API_KEY |\n     * | scope | String\\[\\] | The scope of the API_KEY |\n     * | description | String | The description of the API_KEY |\n     * | isActive | Boolean | Indicate if the API_KEY is active |\n     * | userId | String | The identifier of the API_KEY owner |\n     * | loginEmail | String | The Email of the API_KEY owner |\n     * | expirationDate optional | Date-Time | The expiration date of the API_KEY |\n     * | creationDate | Date-Time | The creation date of the API_KEY |\n     * | lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n     * | createdBy | Object | The object containing some information about the creator of the API_KEY |\n     * | userId | String | The identifier the creator of the API_KEY |\n     * | loginEmail | String | The Email the creator of the API_KEY |\n     * | appId | String | The identifier of the application associated to the creator of the API_KEY |\n     * | appName | String | The name of the application associated to the creator of the API_KEY |\n     * | clientMetadata | Object | The metadata of the client |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14162,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Apikeys Rainbow Authentication",
        "value": "Apikeys Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "getCurrentApiKey",
    "since": "2.36.0",
    "scope": "instance",
    "async": true,
    "description": "This API Allow a user to get data of the currently used API_KEY. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | Response Object. |\n| id  | String | The identifier of the API_KEY |\n| scope | String\\[\\] | The scope of the API_KEY |\n| description | String | The description of the API_KEY |\n| isActive | Boolean | Indicate if the API_KEY is active |\n| userId | String | The identifier of the API_KEY owner |\n| loginEmail | String | The Email of the API_KEY owner |\n| expirationDate optional | Date-Time | The expiration date of the API_KEY |\n| creationDate | Date-Time | The creation date of the API_KEY |\n| lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n| createdBy | Object | The object containing some information about the creator of the API_KEY |\n| userId | String | The identifier the creator of the API_KEY |\n| loginEmail | String | The Email the creator of the API_KEY |\n| appId | String | The identifier of the application associated to the creator of the API_KEY |\n| appName | String | The name of the application associated to the creator of the API_KEY |\n| clientMetadata | Object | The metadata of the client |"
      }
    ],
    "longname": "module:AdminService#getCurrentApiKey",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCurrentApiKey",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getCustomerCareAdministratorsGroup\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Administrators Group\n     * @description\n     *     This API allows get the list of administrators allowed to consult the list of issues, create and consolidate tickets. </BR>\n     * @return {Promise<any>} - result\n     *\n     * Result sample : </br>\n     * { </br>\n     * [ { </br>\n     * \"userId\": \"57347ea14a0327064fcb93fd\", </br>\n     * \"loginEmail\": \"alice.beneth@al-enterprise.com\" </br>\n     * }, </br>\n     * { </br>\n     * \"userId\": \"57347ea14a0327064fcb93fd\", </br>\n     * \"loginEmail\": \"bob.smith@al-enterprise.com\" </br>\n     * } ] </br>\n     * }  </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14278,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getCustomerCareAdministratorsGroup",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Administrators Group",
        "value": "Customer Care - Administrators Group"
      }
    ],
    "description": "This API allows get the list of administrators allowed to consult the list of issues, create and consolidate tickets. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\nResult sample : </br>\n{ </br>\n[ { </br>\n\"userId\": \"57347ea14a0327064fcb93fd\", </br>\n\"loginEmail\": \"alice.beneth@al-enterprise.com\" </br>\n}, </br>\n{ </br>\n\"userId\": \"57347ea14a0327064fcb93fd\", </br>\n\"loginEmail\": \"bob.smith@al-enterprise.com\" </br>\n} ] </br>\n}  </br>"
      }
    ],
    "longname": "module:AdminService#getCustomerCareAdministratorsGroup",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getCustomerCareAdministratorsGroup",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getDefaultCompanyData\n     * @instance\n     * @description\n     *     This API allows to get the default Rainbow company.\n     * @async\n     * @param {string} format Allows to retrieve more or less company details in response.\n     * </br>\n     * </br> * `small`: _id, name\n     * </br> * `medium`: id, name, status, adminEmail, companyContactId, isBP, bpType, country, website, slogan, description, size, economicActivityClassification, creationDate, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape, visibility\n     * </br> * `full` for superadmin and support: All fields\n     * </br>* `full` for admin: All fields except BP fields (bpType, bpBusinessModel, bpApplicantNumber, bpCRDid, bpHasRightToSell, bpHasRightToConnect, bpHasRightForBYOT, preferredSipLoadBalancerId, bpIsContractAccepted, bpContractAcceptationInfo)\n     * </br>\n     * Default value : `full`. Possibles values : `small`, `medium`, `full`.\n     * @param {string} selectedThemeObj Allows to return selectedTheme attribute as an object:\n     * </br>\n     * </br> * true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }),\n     * </br> * false return selectedTheme as a string.\n     * @category Companies and users management\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Company Object. |\n     * | id  | String | Company unique identifier |\n     * | creationDate | Date-Time | Company creation date (Read only) |\n     * | statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n     * | lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n     * | name | String | Company name |\n     * | country optionnel | String | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n     * | street optionnel | String | Company street<br> |\n     * | city optionnel | String | Company city<br> |\n     * | state optionnel | String | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n     * | postalCode optionnel | String | Company postal code<br> |\n     * | currency optionnel | String | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Possibles values : `USD`, `EUR`, `CNY` |\n     * | status | String | Company status<br><br>Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated` |\n     * | visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values : `public`, `private`, `organisation`, `closed`, `isolated` |\n     * | visibleBy | String\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n     * | adminEmail optionnel | String | Company contact person email |\n     * | supportEmail optionnel | String | Company support email |\n     * | supportUrlFAQ optionnel | String | Company support URL |\n     * | companyContactId optionnel | String | User Id of a Rainbow user which is the contact for this company |\n     * | disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n     * | disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n     * | disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n     * | autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled) |\n     * | userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n     * | userSelfRegisterAllowedDomains | String\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n     * | slogan optionnel | String | A free string corresponding to the slogan of the company (255 char length) |\n     * | description optionnel | String | A free string that describes the company (2000 char length) |\n     * | size | String | An overview of the number of employees<br><br>Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n     * | economicActivityClassification optionnel | String | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values : `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n     * | giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n     * | website optionnel | String | Company website URL |\n     * | organisationId | String | Optional identifier to indicate the company belongs to an organisation |\n     * | catalogId | String | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n     * | bpId | String | Optional identifier which links the company to the corresponding Business partner company |\n     * | adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n     * | adminAllowedUpdateSubscriptionsOps optionnel | String | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values : `all`, `increase_only` |\n     * | isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n     * | bpType optionnel | String | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values : `IR`, `VAD`, `DR` |\n     * | bpBusinessModel optionnel | String | Indicates BP business model |\n     * | bpApplicantNumber optionnel | String | Reference of the Business Partner in ALE Finance tools (SAP) |\n     * | bpCRDid optionnel | String | Reference of the Business Partner in CDR |\n     * | bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n     * | bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n     * | bpHasRightForBYOT optionnel | Boolean | When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI |\n     * | preferredSipLoadBalancerId optionnel | String | This attribute is only for BP and useful only in Rainbow Hub context. It indicates preferred SIP Load Balancer identifier to be used (if any). |\n     * | bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n     * | bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n     * | acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n     * | bpAdminId | String | User Id of the BP admin who accepted the contract |\n     * | offerType | String | Allowed company offer types<br><br>Possibles values : `freemium`, `premium` |\n     * | bpAdminLoginEmail | String | User loginEmail of the BP admin who accepted the contract |\n     * | businessSpecific optionnel | String | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values : `HDS` |\n     * | externalReference optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n     * | externalReference2 optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n     * | avatarShape optionnel | String | Company's avatar customization<br><br>Possibles values : `square`, `circle` |\n     * | allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n     * | allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n     * | selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n     * | light optionnel | String | Set the selected theme light for users of the company. |\n     * | dark optionnel | String | Set the selected theme dark for users of the company. |\n     * | adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n     * | isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n     * | superadminComment optionnel | String | Free field that only `superadmin` can see<br> |\n     * | bpBusinessType optionnel | String\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n     * | billingModel optionnel | String | Billing model that can be subscribed for this company.<br><br>Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n     * | office365Tenant optionnel | String | Office365 tenant configured for this company. |\n     * | office365ScopesGranted optionnel | String\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values : `directory`, `calendar` |\n     * | mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n     * | fileSharingCustomisation | String | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n     * | useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n     * | phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n     * | useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n     * | useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n     * | useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n     * | useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n     * | instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n     * | userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n     * | fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n     * | overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n     * | alertNotificationReception | String | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n     * | alertNotificationSending | String | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n     * | changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n     * | changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n     * | useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n     * | useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n     * | fileCopyCustomisation | String | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n     * | fileTransferCustomisation | String | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n     * | forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n     * | readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n     * | useSpeakingTimeStatistics | String | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n     * | eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a E-learning training.  <br>Defines if a user can participate on an E-learning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an E-learning training.<br>* `disabled`: The user can't participate on an E-learning training. |\n     * | eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for E-learning progress.  <br>Defines if a user can earn badges for E-learning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for E-learning progress.<br>* `disabled`: The user can't earn badges for E-learning progress. |\n     * | meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n     * | useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n     * | useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n     * | useSoftPhoneMode | String | Activate/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `enabled`: The user can use the softphone mode.<br>* `disabled`: The user can't use the softphone mode. |\n     * | imPopupDuration | Number | Defines the IM popup duration. |\n     * | canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n     * | canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n     * | canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n     * | canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n     * | canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n     * | canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines if a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n     * | defaultLicenseGroup | String | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n     * | defaultOptionsGroups | String\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n     * | selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n     * | light optionnel | String | Set the selected theme light for customers of this BP company. |\n     * | dark optionnel | String | Set the selected theme dark for customers of this BP company. |\n     * | ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n     * | locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n     * | cloudPbxVoicemailToEmail optionnel | Boolean | Cloudpbx email notification type when receiving a voicemail |\n     * | allowPhoneNumbersVisibility optionnel | Boolean | Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. |\n     * | cloudPbxRecordingInboundOnly optionnel | Boolean | When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded |\n     * | allowDeviceFirmwareSelection optionnel | Boolean | Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. |\n     * | businessData optionnel | Object | Set the businessData company. |\n     * | region optionnel | String | Set the region of the company. |\n     * | cluster optionnel | String | Set the cluster of the company. |\n     * | area optionnel | String | Set the area of the company. |\n     * | allowTeamsToDesktopSso optionnel | Boolean | Superadmin allows if Teams add-in uses sso to login in desktop app for all company users<br><br>Default value : `true` |\n     * | country optionnel | String | Set the business country of the company. |\n     * | rainbowStorageAllowedAllUsers | Boolean | In an environment where a company uses the Rainbow file server or an External file server, an administator can defines storage access rights at company level, and at user level.  <br>So he has to:<br><br>* Enable/Disable external storage for a company (see `useExternalStorage`) and configure required parameters as URLs, type, name, description (see company/settings/filestorage section) and if all company users have access to this storage by default (see `externalStorageAllowedAllUsers`).  <br>    If this storage is enabled by default, all users following the company policy will have access to the storage.<br>* Enable/Disable Rainbow storage for a company (see `useRainbowStorage`), and if all company users have access to this storage by default (see `rainbowStorageAllowedAllUsers`).<br>* Select which storage is the main one used to store photo taken from Rainbow Apps (see `mainStorage`) |\n     * | externalStorageAllowedAllUsers | Boolean | Refer to rainbowStorageAllowedAllUsers. |\n     * | useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the default Rainbow File Storage.<br>* `disabled`: Unassign all users from the default Rainbow File Storage. |\n     * | useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the External File Storage.<br>* `disabled`: Unassign all users from the External File Storage. |\n     * | mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when a user is assigned to both file servers.<br><br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n     * | customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |\n     * | adminServiceNotificationsLevel | String | Level of service notification that admin should see |\n     *\n     * examples of result :\n     * ```json\n     * {\n     *     \"data\": {\n     *         \"id\": \"569ce8c8f9336c471b98eda1\",\n     *         \"creationDate\": \"2016-01-18T13:29:44.498Z\",\n     *         \"statusUpdatedDate\": \"2016-01-18T13:29:44.497Z\",\n     *         \"name\": \"AL-ENTERPRISE\",\n     *         \"street\": \"Sesame street\",\n     *         \"city\": \"Brooklyn\",\n     *         \"postalCode\": \"123456\",\n     *         \"country\": \"USA\",\n     *         \"state\": \"NY\",\n     *         \"status\": \"active\",\n     *         \"visibility\": \"private\",\n     *         \"visibleBy\": [\n     *              \"56fabb217d8d3ffa3d0223f8\",\n     *              \"56d6f00441255dd54b5b61ae\"\n     *         ],\n     *         \"adminEmail\": \"admin@company.com\",\n     *         \"supportEmail\": \"support@company.com\",\n     *         \"companyContactId\": \"588a0d902d9e7f983b8f7661\",\n     *         \"autoAcceptUserInvitations\": true,\n     *         \"userSelfRegisterEnabled\": true,\n     *         \"userSelfRegisterAllowedDomains\": [\n     *              \"@alcatel-lucent.com\",\n     *              \"@al-enterprise.com\",\n     *              \"@al-enterprise.fr\",\n     *              \"@al-enterprise.de\"\n     *         ],\n     *         \"slogan\": \"The slogan of my company\",\n     *         \"description\": \"A free string that describes my company\",\n     *         \"size\" : \"1001-5000 employees\",\n     *         \"website\": \"http:\\\\/\\\\/enterprise.alcatel-lucent.com\",\n     *         \"giphyEnabled\": false,\n     *         \"organisationId\": \"57cd58edd341df5812bbcb71\",\n     *         \"catalogId\": \"5979f63bae6056aadd1a8f17\",\n     *         \"bpId\": null,\n     *         \"externalReference\": null,\n     *         \"offerType\": \"premium\",\n     *         \"avatarShape\": \"circle\",\n     *         \"allowUsersSelectTheme\": true,\n     *         \"allowUsersSelectPublicTheme\": true,\n     *         \"mobilePermanentConnectionMode\": false,\n     *         \"customData\": {},\n     *         \"office365ScopesGranted\": [],\n     *         \"fileSharingCustomisation\": \"enabled\",\n     *         \"userTitleNameCustomisation\": \"enabled\",\n     *         \"softphoneOnlyCustomisation\": \"disabled\",\n     *         \"useRoomCustomisation\": \"enabled\",\n     *         \"phoneMeetingCustomisation\": \"enabled\",\n     *         \"useChannelCustomisation\": \"enabled\",\n     *         \"useScreenSharingCustomisation\": \"enabled\",\n     *         \"useWebRTCVideoCustomisation\": \"enabled\",\n     *         \"useWebRTCAudioCustomisation\": \"enabled\",\n     *         \"instantMessagesCustomisation\": \"enabled\",\n     *         \"userProfileCustomisation\": \"enabled\",\n     *         \"fileStorageCustomisation\": \"enabled\",\n     *         \"overridePresenceCustomisation\": \"enabled\",\n     *         \"changeTelephonyCustomisation\": \"enabled\",\n     *         \"changeSettingsCustomisation\": \"enabled\",\n     *         \"recordingConversationCustomisation\": \"enabled\",\n     *         \"useGifCustomisation\": \"enabled\",\n     *         \"useDialOutCustomisation\": \"enabled\",\n     *         \"eLearningCustomisation\":  \"enabled\",\n     *         \"eLearningGamificationCustomisation\": \"enabled\",\n     *         \"meetingRecordingCustomisation\": \"enabled\",\n     *         \"useOtherPhoneMode\": \"enabled\",\n     *         \"useComputerMode\": \"enabled\",\n     *         \"useSoftPhoneMode\": \"enabled\",\n     *         \"imPopupDuration\": 3,\n     *         \"canAccessWhatsNew\": \"enabled\",\n     *         \"canAccesFaqCustomisation\": \"enabled\",\n     *         \"canAccessHelpCenterCustomisation\": \"enabled\",\n     *         \"canAccessStoreCustomisation\": \"enabled\",\n     *         \"canDownloadAppCustomisation\": \"enabled\",\n     *         \"canCallParticipantPbxNumberCustomisation\": \"enabled\",\n     *         \"defaultLicenseGroup\": \"Enterprise\",\n     *         \"defaultOptionsGroups\": [\"Alert\"],\n     *         \"selectedTheme\": {\n     *              \"light\": null,\n     *              \"dark\": \"5ea304e4359c0e6815fc8b57\",\n     *              \"isLockedByBp\": true\n     *         },\n     *         \"businessSpecific\": \"UGAP\",\n     *         \"allowTeamsToDesktopSso\": true,\n     *         \"externalStorageAllowedAllUsers\" : false,\n     *         \"mainStorage\" : \"Rainbow Storage\",\n     *         \"rainbowStorageAllowedAllUsers\" : true,\n     *         \"useExternalStorage\" : \"disabled\",\n     *         \"useRainbowStorage\" : \"enabled\",\n     *         \"businessData\": {\n     *              \"region\": \"EMEA\",\n     *              \"cluster\": \"EU SOUTH\",\n     *              \"area\": \"BELUX\",\n     *              \"country\": \"BEL\"\n     *         },\n     *         \"useRainbowStorage\" : \"enabled\",\n     *         \"adminServiceNotificationsLevel\": \"high\"\n     *     }\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 2513,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "getDefaultCompanyData",
    "scope": "instance",
    "description": "This API allows to get the default Rainbow company.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to retrieve more or less company details in response.\n</br>\n</br> * `small`: _id, name\n</br> * `medium`: id, name, status, adminEmail, companyContactId, isBP, bpType, country, website, slogan, description, size, economicActivityClassification, creationDate, lastAvatarUpdateDate, lastBannerUpdateDate, avatarShape, visibility\n</br> * `full` for superadmin and support: All fields\n</br>* `full` for admin: All fields except BP fields (bpType, bpBusinessModel, bpApplicantNumber, bpCRDid, bpHasRightToSell, bpHasRightToConnect, bpHasRightForBYOT, preferredSipLoadBalancerId, bpIsContractAccepted, bpContractAcceptationInfo)\n</br>\nDefault value : `full`. Possibles values : `small`, `medium`, `full`.",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to return selectedTheme attribute as an object:\n</br>\n</br> * true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }),\n</br> * false return selectedTheme as a string.",
        "name": "selectedThemeObj"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Company Object. |\n| id  | String | Company unique identifier |\n| creationDate | Date-Time | Company creation date (Read only) |\n| statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n| lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n| name | String | Company name |\n| country optionnel | String | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n| street optionnel | String | Company street<br> |\n| city optionnel | String | Company city<br> |\n| state optionnel | String | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n| postalCode optionnel | String | Company postal code<br> |\n| currency optionnel | String | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Possibles values : `USD`, `EUR`, `CNY` |\n| status | String | Company status<br><br>Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated` |\n| visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values : `public`, `private`, `organisation`, `closed`, `isolated` |\n| visibleBy | String\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n| adminEmail optionnel | String | Company contact person email |\n| supportEmail optionnel | String | Company support email |\n| supportUrlFAQ optionnel | String | Company support URL |\n| companyContactId optionnel | String | User Id of a Rainbow user which is the contact for this company |\n| disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n| disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n| disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n| autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled) |\n| userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n| userSelfRegisterAllowedDomains | String\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n| slogan optionnel | String | A free string corresponding to the slogan of the company (255 char length) |\n| description optionnel | String | A free string that describes the company (2000 char length) |\n| size | String | An overview of the number of employees<br><br>Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n| economicActivityClassification optionnel | String | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values : `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n| giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n| website optionnel | String | Company website URL |\n| organisationId | String | Optional identifier to indicate the company belongs to an organisation |\n| catalogId | String | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n| bpId | String | Optional identifier which links the company to the corresponding Business partner company |\n| adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n| adminAllowedUpdateSubscriptionsOps optionnel | String | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values : `all`, `increase_only` |\n| isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n| bpType optionnel | String | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values : `IR`, `VAD`, `DR` |\n| bpBusinessModel optionnel | String | Indicates BP business model |\n| bpApplicantNumber optionnel | String | Reference of the Business Partner in ALE Finance tools (SAP) |\n| bpCRDid optionnel | String | Reference of the Business Partner in CDR |\n| bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n| bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n| bpHasRightForBYOT optionnel | Boolean | When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI |\n| preferredSipLoadBalancerId optionnel | String | This attribute is only for BP and useful only in Rainbow Hub context. It indicates preferred SIP Load Balancer identifier to be used (if any). |\n| bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n| bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n| acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n| bpAdminId | String | User Id of the BP admin who accepted the contract |\n| offerType | String | Allowed company offer types<br><br>Possibles values : `freemium`, `premium` |\n| bpAdminLoginEmail | String | User loginEmail of the BP admin who accepted the contract |\n| businessSpecific optionnel | String | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values : `HDS` |\n| externalReference optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n| externalReference2 optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br> |\n| avatarShape optionnel | String | Company's avatar customization<br><br>Possibles values : `square`, `circle` |\n| allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n| allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n| selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n| light optionnel | String | Set the selected theme light for users of the company. |\n| dark optionnel | String | Set the selected theme dark for users of the company. |\n| adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n| isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n| superadminComment optionnel | String | Free field that only `superadmin` can see<br> |\n| bpBusinessType optionnel | String\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n| billingModel optionnel | String | Billing model that can be subscribed for this company.<br><br>Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n| office365Tenant optionnel | String | Office365 tenant configured for this company. |\n| office365ScopesGranted optionnel | String\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values : `directory`, `calendar` |\n| mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n| fileSharingCustomisation | String | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n| useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n| phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n| useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n| useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n| useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n| useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n| instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n| userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n| fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n| overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n| alertNotificationReception | String | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n| alertNotificationSending | String | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n| changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n| changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n| useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n| useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n| fileCopyCustomisation | String | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n| fileTransferCustomisation | String | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n| forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n| readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n| useSpeakingTimeStatistics | String | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n| eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a E-learning training.  <br>Defines if a user can participate on an E-learning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an E-learning training.<br>* `disabled`: The user can't participate on an E-learning training. |\n| eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for E-learning progress.  <br>Defines if a user can earn badges for E-learning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for E-learning progress.<br>* `disabled`: The user can't earn badges for E-learning progress. |\n| meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n| useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n| useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n| useSoftPhoneMode | String | Activate/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `enabled`: The user can use the softphone mode.<br>* `disabled`: The user can't use the softphone mode. |\n| imPopupDuration | Number | Defines the IM popup duration. |\n| canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n| canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n| canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n| canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n| canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n| canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines if a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n| defaultLicenseGroup | String | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n| defaultOptionsGroups | String\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n| selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n| light optionnel | String | Set the selected theme light for customers of this BP company. |\n| dark optionnel | String | Set the selected theme dark for customers of this BP company. |\n| ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n| locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n| cloudPbxVoicemailToEmail optionnel | Boolean | Cloudpbx email notification type when receiving a voicemail |\n| allowPhoneNumbersVisibility optionnel | Boolean | Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. |\n| cloudPbxRecordingInboundOnly optionnel | Boolean | When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded |\n| allowDeviceFirmwareSelection optionnel | Boolean | Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. |\n| businessData optionnel | Object | Set the businessData company. |\n| region optionnel | String | Set the region of the company. |\n| cluster optionnel | String | Set the cluster of the company. |\n| area optionnel | String | Set the area of the company. |\n| allowTeamsToDesktopSso optionnel | Boolean | Superadmin allows if Teams add-in uses sso to login in desktop app for all company users<br><br>Default value : `true` |\n| country optionnel | String | Set the business country of the company. |\n| rainbowStorageAllowedAllUsers | Boolean | In an environment where a company uses the Rainbow file server or an External file server, an administator can defines storage access rights at company level, and at user level.  <br>So he has to:<br><br>* Enable/Disable external storage for a company (see `useExternalStorage`) and configure required parameters as URLs, type, name, description (see company/settings/filestorage section) and if all company users have access to this storage by default (see `externalStorageAllowedAllUsers`).  <br>    If this storage is enabled by default, all users following the company policy will have access to the storage.<br>* Enable/Disable Rainbow storage for a company (see `useRainbowStorage`), and if all company users have access to this storage by default (see `rainbowStorageAllowedAllUsers`).<br>* Select which storage is the main one used to store photo taken from Rainbow Apps (see `mainStorage`) |\n| externalStorageAllowedAllUsers | Boolean | Refer to rainbowStorageAllowedAllUsers. |\n| useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the default Rainbow File Storage.<br>* `disabled`: Unassign all users from the default Rainbow File Storage. |\n| useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the External File Storage.<br>* `disabled`: Unassign all users from the External File Storage. |\n| mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when a user is assigned to both file servers.<br><br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n| customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |\n| adminServiceNotificationsLevel | String | Level of service notification that admin should see |\n\nexamples of result :\n```json\n{\n    \"data\": {\n        \"id\": \"569ce8c8f9336c471b98eda1\",\n        \"creationDate\": \"2016-01-18T13:29:44.498Z\",\n        \"statusUpdatedDate\": \"2016-01-18T13:29:44.497Z\",\n        \"name\": \"AL-ENTERPRISE\",\n        \"street\": \"Sesame street\",\n        \"city\": \"Brooklyn\",\n        \"postalCode\": \"123456\",\n        \"country\": \"USA\",\n        \"state\": \"NY\",\n        \"status\": \"active\",\n        \"visibility\": \"private\",\n        \"visibleBy\": [\n             \"56fabb217d8d3ffa3d0223f8\",\n             \"56d6f00441255dd54b5b61ae\"\n        ],\n        \"adminEmail\": \"admin@company.com\",\n        \"supportEmail\": \"support@company.com\",\n        \"companyContactId\": \"588a0d902d9e7f983b8f7661\",\n        \"autoAcceptUserInvitations\": true,\n        \"userSelfRegisterEnabled\": true,\n        \"userSelfRegisterAllowedDomains\": [\n             \"@alcatel-lucent.com\",\n             \"@al-enterprise.com\",\n             \"@al-enterprise.fr\",\n             \"@al-enterprise.de\"\n        ],\n        \"slogan\": \"The slogan of my company\",\n        \"description\": \"A free string that describes my company\",\n        \"size\" : \"1001-5000 employees\",\n        \"website\": \"http:\\\\/\\\\/enterprise.alcatel-lucent.com\",\n        \"giphyEnabled\": false,\n        \"organisationId\": \"57cd58edd341df5812bbcb71\",\n        \"catalogId\": \"5979f63bae6056aadd1a8f17\",\n        \"bpId\": null,\n        \"externalReference\": null,\n        \"offerType\": \"premium\",\n        \"avatarShape\": \"circle\",\n        \"allowUsersSelectTheme\": true,\n        \"allowUsersSelectPublicTheme\": true,\n        \"mobilePermanentConnectionMode\": false,\n        \"customData\": {},\n        \"office365ScopesGranted\": [],\n        \"fileSharingCustomisation\": \"enabled\",\n        \"userTitleNameCustomisation\": \"enabled\",\n        \"softphoneOnlyCustomisation\": \"disabled\",\n        \"useRoomCustomisation\": \"enabled\",\n        \"phoneMeetingCustomisation\": \"enabled\",\n        \"useChannelCustomisation\": \"enabled\",\n        \"useScreenSharingCustomisation\": \"enabled\",\n        \"useWebRTCVideoCustomisation\": \"enabled\",\n        \"useWebRTCAudioCustomisation\": \"enabled\",\n        \"instantMessagesCustomisation\": \"enabled\",\n        \"userProfileCustomisation\": \"enabled\",\n        \"fileStorageCustomisation\": \"enabled\",\n        \"overridePresenceCustomisation\": \"enabled\",\n        \"changeTelephonyCustomisation\": \"enabled\",\n        \"changeSettingsCustomisation\": \"enabled\",\n        \"recordingConversationCustomisation\": \"enabled\",\n        \"useGifCustomisation\": \"enabled\",\n        \"useDialOutCustomisation\": \"enabled\",\n        \"eLearningCustomisation\":  \"enabled\",\n        \"eLearningGamificationCustomisation\": \"enabled\",\n        \"meetingRecordingCustomisation\": \"enabled\",\n        \"useOtherPhoneMode\": \"enabled\",\n        \"useComputerMode\": \"enabled\",\n        \"useSoftPhoneMode\": \"enabled\",\n        \"imPopupDuration\": 3,\n        \"canAccessWhatsNew\": \"enabled\",\n        \"canAccesFaqCustomisation\": \"enabled\",\n        \"canAccessHelpCenterCustomisation\": \"enabled\",\n        \"canAccessStoreCustomisation\": \"enabled\",\n        \"canDownloadAppCustomisation\": \"enabled\",\n        \"canCallParticipantPbxNumberCustomisation\": \"enabled\",\n        \"defaultLicenseGroup\": \"Enterprise\",\n        \"defaultOptionsGroups\": [\"Alert\"],\n        \"selectedTheme\": {\n             \"light\": null,\n             \"dark\": \"5ea304e4359c0e6815fc8b57\",\n             \"isLockedByBp\": true\n        },\n        \"businessSpecific\": \"UGAP\",\n        \"allowTeamsToDesktopSso\": true,\n        \"externalStorageAllowedAllUsers\" : false,\n        \"mainStorage\" : \"Rainbow Storage\",\n        \"rainbowStorageAllowedAllUsers\" : true,\n        \"useExternalStorage\" : \"disabled\",\n        \"useRainbowStorage\" : \"enabled\",\n        \"businessData\": {\n             \"region\": \"EMEA\",\n             \"cluster\": \"EU SOUTH\",\n             \"area\": \"BELUX\",\n             \"country\": \"BEL\"\n        },\n        \"useRainbowStorage\" : \"enabled\",\n        \"adminServiceNotificationsLevel\": \"high\"\n    }\n}\n```"
      }
    ],
    "longname": "module:AdminService#getDefaultCompanyData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getDefaultCompanyData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getDirectoryEntryData\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} entryId Id of the entry.\n     * @param {string} format=\"small\" Allows to retrieve more or less entry details in response. </BR>\n     * - small: id, firstName, lastName  </BR>\n     * - medium: id, companyId, firstName, lastName, workPhoneNumbers  </BR>\n     * - full: all fields. </BR>\n     * default : small </BR>\n     * Valid values : small, medium, full </BR>\n     * @description\n     *      This API allows administrators to get an entry of the directory of a company they administrate.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12806,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "getDirectoryEntryData",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the entry.",
        "name": "entryId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less entry details in response. </BR>\n- small: id, firstName, lastName  </BR>\n- medium: id, companyId, firstName, lastName, workPhoneNumbers  </BR>\n- full: all fields. </BR>\ndefault : small </BR>\nValid values : small, medium, full </BR>",
        "name": "format"
      }
    ],
    "description": "This API allows administrators to get an entry of the directory of a company they administrate.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getDirectoryEntryData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getDirectoryEntryData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getEmailTemplatesByCompanyId\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName Allows to get only one template by its name.\n     * @param {string} format=\"small\" Allows to retrieve more or less feature details in response.\n     * - small: templateName isActive\n     * - medium: templateName companyId isActive\n     * - full: all template fields (except id)\n     *\n     * </br> Default value : small, Possibles values : small, medium, full\n     * @description\n     *    This API allows to get all available email templates for a given company.\n     *\n     * </br> Users with superadmin role can get all available email templates of any company.\n     * </br> Users with bp_admin role can only get email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> Users with organization_admin role can only get email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> Users with company_admin users can only get all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | - | Object | - |\n     * | templateName | string | The name of the template |\n     * | companyId | string | The companyId for which the template is dedicated. |\n     * | isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n     * | tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n     * | subject | string | The email subject content. |\n     * | mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n     * | textFormat | string | The email content in text format. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *   [{\n     *      \"companyId\": \"598857f360c749e5890ff2f9\",\n     *      \"templateName\": \"enduser_account_terminated\",\n     *      \"isActive\": false,\n     *      \"tested\": false,\n     *      \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     *      \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     *      \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n     *  }]\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5431,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getEmailTemplatesByCompanyId",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to get only one template by its name.",
        "name": "templateName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less feature details in response.\n- small: templateName isActive\n- medium: templateName companyId isActive\n- full: all template fields (except id)\n\n</br> Default value : small, Possibles values : small, medium, full",
        "name": "format"
      }
    ],
    "description": "This API allows to get all available email templates for a given company.\n\n</br> Users with superadmin role can get all available email templates of any company.\n</br> Users with bp_admin role can only get email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> Users with organization_admin role can only get email templates for a company they manage (i.e. company linked to organization_admin's organization).\n</br> Users with company_admin users can only get all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| - | Object | - |\n| templateName | string | The name of the template |\n| companyId | string | The companyId for which the template is dedicated. |\n| isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n| tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n| subject | string | The email subject content. |\n| mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n| textFormat | string | The email content in text format. |\n\n </br>example of result :\n ```json\n  [{\n     \"companyId\": \"598857f360c749e5890ff2f9\",\n     \"templateName\": \"enduser_account_terminated\",\n     \"isActive\": false,\n     \"tested\": false,\n     \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n }]\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#getEmailTemplatesByCompanyId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getEmailTemplatesByCompanyId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getEmailTemplatesDocumentation\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} format=\"small\" Allows to retrieve only the list of templateName in the response.\n     * </br>    small : Allows to retrieve only the list of templateName in the response.\n     * </br>    full : A documentation for each allowed templates following the pattern\n     * </br> Default value : full. Possibles values : small, full\n     *\n     * @description\n     *      This API allows to get the list of public emails allowed to be customized. This is a short description of templates allowed to be customized by a customer.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | templates | Object\\[\\] |     |\n     * | templateName | string | The name of the template |\n     * | relatedAPI | Object\\[\\] | Which Rainbow API may lead to send an email based on this template. |\n     * | verb | string | The REST API verb (POST / PUT). |\n     * | url | string | The REST API url |\n     * | allowedParameters | string\\[\\] | The list of parameters Rainbow currently use in it's template. ( ex: {{enduser_displayname}} ) |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *         \"templates\": [\n     *           {\n     *             \"templateName\": \"enduser_invite_somebody\",\n     *             \"relatedAPI\": [\n     *               {\n     *                 \"verb\": \"POST\",\n     *                 \"url\": \"/api/rainbow/enduser/v1.0/users/:userId/invitations\"\n     *               }\n     *             ],\n     *             \"allowedParameters\": [\n     *               \"enduser_login\",\n     *               \"enduser_displayname\",\n     *               \"enduser_company_name\",\n     *               \"custom_message\",\n     *               \"invitationURL\",\n     *               \"invitationId\",\n     *               \"WebsiteURL\",\n     *               \"publicWebsiteURL\"\n     *             ]\n     *           },\n     *           {\n     *             \"templateName\": \"enduser_account_terminated\",\n     *             \"relatedAPI\": [\n     *               {\n     *                 \"verb\": \"DELETE\",\n     *                 \"url\": \"/api/rainbow/admin/v1.0/users/:userId\"\n     *               }\n     *             ],\n     *             \"allowedParameters\": [\n     *               \"by_displayName\",\n     *               \"from_companyName\",\n     *               \"WebsiteURL\",\n     *               \"publicWebsiteURL\"\n     *             ]\n     *           }\n     *         ]\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5008,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getEmailTemplatesDocumentation",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve only the list of templateName in the response.\n</br>    small : Allows to retrieve only the list of templateName in the response.\n</br>    full : A documentation for each allowed templates following the pattern\n</br> Default value : full. Possibles values : small, full",
        "name": "format"
      }
    ],
    "description": "This API allows to get the list of public emails allowed to be customized. This is a short description of templates allowed to be customized by a customer.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| templates | Object\\[\\] |     |\n| templateName | string | The name of the template |\n| relatedAPI | Object\\[\\] | Which Rainbow API may lead to send an email based on this template. |\n| verb | string | The REST API verb (POST / PUT). |\n| url | string | The REST API url |\n| allowedParameters | string\\[\\] | The list of parameters Rainbow currently use in it's template. ( ex: {{enduser_displayname}} ) |\n\n </br>example of result :\n ```json\n {\n        \"templates\": [\n          {\n            \"templateName\": \"enduser_invite_somebody\",\n            \"relatedAPI\": [\n              {\n                \"verb\": \"POST\",\n                \"url\": \"/api/rainbow/enduser/v1.0/users/:userId/invitations\"\n              }\n            ],\n            \"allowedParameters\": [\n              \"enduser_login\",\n              \"enduser_displayname\",\n              \"enduser_company_name\",\n              \"custom_message\",\n              \"invitationURL\",\n              \"invitationId\",\n              \"WebsiteURL\",\n              \"publicWebsiteURL\"\n            ]\n          },\n          {\n            \"templateName\": \"enduser_account_terminated\",\n            \"relatedAPI\": [\n              {\n                \"verb\": \"DELETE\",\n                \"url\": \"/api/rainbow/admin/v1.0/users/:userId\"\n              }\n            ],\n            \"allowedParameters\": [\n              \"by_displayName\",\n              \"from_companyName\",\n              \"WebsiteURL\",\n              \"publicWebsiteURL\"\n            ]\n          }\n        ]\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#getEmailTemplatesDocumentation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getEmailTemplatesDocumentation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getEmbeddingFrameForApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to get the embedding frame for an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17140,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "getEmbeddingFrameForApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to get the embedding frame for an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#getEmbeddingFrameForApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getEmbeddingFrameForApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getEmbedFrameForApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to get the embed frame for an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17122,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "getEmbedFrameForApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to get the embed frame for an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#getEmbedFrameForApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getEmbedFrameForApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getInformationOnImports\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} companyId the companyId to list imports of\n     * @param {boolean} ldapConfigId Allows to filter users containing a ldap_id and the ldapConfigId of the ldap domain.\n     * @description\n     *     This API provides information on all imports of the administrator's company. </BR>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | reqId | string | * import request identifier |\n     * | status | string | * import status |\n     * | userId | string | * id of the requesting user |\n     * | displayName | string | * display name of the requesting user |\n     * | mode | string | * provisioning mode</BR></BR>Possible values : `user`, `device`, `rainbowvoice` |\n     * | label | string | * description of the import |\n     * | startTime | string | * the import processing start time |\n     * | endTime | string | * the import processing end time |\n     * | counters | Object | * the import processing operation status counters |\n     * | data | Object\\[\\] | * list of company imports |\n     * | succeeded | Integer | * '#' of succeeded actions |\n     * | failed | Integer | * '#' of failed actions |\n     * | warnings | Integer | * '#' actions with warnings |\n     * | total | Integer | * total '#' of actions |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7643,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getInformationOnImports",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the companyId to list imports of",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter users containing a ldap_id and the ldapConfigId of the ldap domain.",
        "name": "ldapConfigId"
      }
    ],
    "description": "This API provides information on all imports of the administrator's company. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| reqId | string | * import request identifier |\n| status | string | * import status |\n| userId | string | * id of the requesting user |\n| displayName | string | * display name of the requesting user |\n| mode | string | * provisioning mode</BR></BR>Possible values : `user`, `device`, `rainbowvoice` |\n| label | string | * description of the import |\n| startTime | string | * the import processing start time |\n| endTime | string | * the import processing end time |\n| counters | Object | * the import processing operation status counters |\n| data | Object\\[\\] | * list of company imports |\n| succeeded | Integer | * '#' of succeeded actions |\n| failed | Integer | * '#' of failed actions |\n| warnings | Integer | * '#' actions with warnings |\n| total | Integer | * total '#' of actions |"
      }
    ],
    "longname": "module:AdminService#getInformationOnImports",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getInformationOnImports",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getIssue\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @param {string} logId Logs context unique identifier\n     * @category Customer Care - Logs\n     * @description\n     *     This API allows to retrieve a given issue. </BR>\n     *     The logged in user must have administration rights on the company to which belong the user who created the issue. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n     * | manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n     * | model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n     * | os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n     * | name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n     * | browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n     * | attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     * | name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14403,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getIssue",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier",
        "name": "logId"
      }
    ],
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Logs",
        "value": "Customer Care - Logs"
      }
    ],
    "description": "This API allows to retrieve a given issue. </BR>\n    The logged in user must have administration rights on the company to which belong the user who created the issue. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n| manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n| model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n| os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n| name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n| version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n| browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n| attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n| name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n| version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |"
      }
    ],
    "longname": "module:AdminService#getIssue",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getIssue",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getIssueForUser\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} logId Logs context unique identifier\n     * @category Customer Care - Users Logs\n     * @description\n     *     This API allows to consult one issue associated to a user or a Rainbow Room. </BR>\n     *     So that, as administrator (BP, Organisation, Company), support, superadmin, it is then possible to start issue resolution process with Rainbow Customer Care team. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n     * | manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n     * | model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n     * | os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n     * | name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n     * | browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n     * | attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     * | name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14719,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getIssueForUser",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier",
        "name": "logId"
      }
    ],
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "description": "This API allows to consult one issue associated to a user or a Rainbow Room. </BR>\n    So that, as administrator (BP, Organisation, Company), support, superadmin, it is then possible to start issue resolution process with Rainbow Customer Care team. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n| manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n| model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n| os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n| name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n| version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n| browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n| attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n| name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n| version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |"
      }
    ],
    "longname": "module:AdminService#getIssueForUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getIssueForUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getJoinCompanyInvitation\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company invitations\n     * @param {string} invitationId Join company invitation unique identifier.\n     * @async\n     * @description\n     *       This API allows to get a join company invitation received by the user using its invitationId (invitation sent by admin ). <br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company invitation unique Id |\n     * | companyId | string | Id of the company for which the join company invitation is |\n     * | companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n     * | invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n     * | invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n     * | invitingAdminId | string | Inviting company admin unique Rainbow Id |\n     * | invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n     * | invitationDate | Date-Time | Date the join company invitation was created |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n     * | status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n     * | acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n     * | declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4592,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company invitations",
        "value": "Company - Join company invitations"
      }
    ],
    "kind": "function",
    "name": "getJoinCompanyInvitation",
    "scope": "instance",
    "since": "2.21.0",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company invitation unique identifier.",
        "name": "invitationId"
      }
    ],
    "async": true,
    "description": "This API allows to get a join company invitation received by the user using its invitationId (invitation sent by admin ). <br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company invitation unique Id |\n| companyId | string | Id of the company for which the join company invitation is |\n| companyName | string | Name of the company for which the join company invitation is (not updated if company name change after invitation creation) |\n| invitedUserId | string | Unique Id of the Rainbow user invited to join the company (only if invited user already exists in Rainbow) |\n| invitedUserLoginEmail | string | Email of the Rainbow user invited to join the company |\n| invitingAdminId | string | Inviting company admin unique Rainbow Id |\n| invitingAdminLoginEmail | string | Inviting company admin loginEmail |\n| invitationDate | Date-Time | Date the join company invitation was created |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedNotificationLanguage | string | Requested notification language (used to re-send email request in that language) |\n| status | string | Join company invitation status: one of `pending`, `accepted`, `auto-accepted`, `declined`, `canceled`, `failed` |\n| acceptationDate | Date-Time | Date when the join company invitation has been accepted by the user (if applicable) |\n| declinationDate | Date-Time | Date when the join company invitation has been declined by the user (if applicable) |"
      }
    ],
    "longname": "module:AdminService#getJoinCompanyInvitation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getJoinCompanyInvitation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getJoinCompanyRequest\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company requests\n     * @async\n     * @description\n     *       This API allows to get a join company request sent by the user. </br>\n     *       This API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL). </br>\n     *       User must be the one who sent the request (requestingUserId).   </br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company request unique Id |\n     * | requestingUserId | string | Requesting user unique Rainbow Id |\n     * | requestingUserLoginEmail | string | Requesting user email |\n     * | requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n     * | requestedCompanyName | string | Name of the company the requesting user wants to join |\n     * | status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n     * | requestingDate | Date-Time | Date the request was created |\n     * | requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n     * | companyAdminId | string |     |\n     * | requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n     * | companyAdminLoginEmail | string |     |\n     *\n     * @param {string} joinCompanyRequestId Join company request unique identifier\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4758,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company requests",
        "value": "Company - Join company requests"
      }
    ],
    "kind": "function",
    "name": "getJoinCompanyRequest",
    "scope": "instance",
    "since": "2.21.0",
    "async": true,
    "description": "This API allows to get a join company request sent by the user. </br>\n      This API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL). </br>\n      User must be the one who sent the request (requestingUserId).   </br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company request unique Id |\n| requestingUserId | string | Requesting user unique Rainbow Id |\n| requestingUserLoginEmail | string | Requesting user email |\n| requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n| requestedCompanyName | string | Name of the company the requesting user wants to join |\n| status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n| requestingDate | Date-Time | Date the request was created |\n| requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n| companyAdminId | string |     |\n| requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n| companyAdminLoginEmail | string |     |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company request unique identifier",
        "name": "joinCompanyRequestId"
      }
    ],
    "longname": "module:AdminService#getJoinCompanyRequest",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getJoinCompanyRequest",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getListDirectoryEntriesData\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} companyId Allows to filter the list of directory entries on the companyIds provided in this option\n     * @param {string} organisationIds Allows to filter the list of directory entries on the organisationIds provided in this option\n     * @param {string} name Allows to filter the list of directory entries of user type on the name provided in this option. </BR>\n     * - keywords exact match (ex: 'John Doe' find 'John Doe')\n     * - keywords partial match (ex: 'Jo Do' find 'John Doe')\n     * - case insensitive (ex: 'john doe' find 'John Doe')\n     * - accents insensitive (ex: 'herve mothe' find 'Hervé Mothé')\n     * - on only firstname or lastname (ex: 'john' find 'John Doe')\n     * - order firstname / lastname does not matter (eg: 'doe john' find 'John Doe')\n     * @param {string} search Allows to filter the list of directory entries by the words provided in this option. </BR>\n     * - The query parameter type allows to specify on which type of directory entries the search is performed ('user' (default), 'company', or all entries) - Multi criterion search is only available to users having feature SEARCH_BY_TAGS in their profiles - keywords exact match (ex: 'John Doe' find 'John Doe')\n     * - keywords partial match (ex: 'Jo Do' find 'John Doe')\n     * - case insensitive (ex: 'john doe' find 'John Doe')\n     * - accents insensitive (ex: 'herve mothe' find 'Hervé Mothé')\n     * - multi criterion: fields firstName, lastName, jobTitle,companyName, department and tags.\n     * - order firstname / lastname does not matter (eg: 'doe john' find 'John Doe')\n     * @param {string} type=\"user\" Allows to specify on which type of directory entries the multi-criterion search is performed ('user' (default), 'company', or all entries)</BR>\n     * This parameter is only used if the query parameter search is also specified, otherwise it is ignored. Default value : user. Possible values : user, company\n     * @param {string} companyName Allows to filter the list of directory entries of company type on the name provided in this option. </BR>\n     * - keywords exact match (ex: 'John Doe' find 'John Doe')\n     * - keywords partial match (ex: 'Jo Do' find 'John Doe')\n     * - case insensitive (ex: 'john doe' find 'John Doe')\n     * - accents insensitive (ex: 'herve mothe' find 'Hervé Mothé')\n     * - on only companyName (ex: 'john' find 'John Doe')\n     * @param {string} phoneNumbers Allows to filter the list of directory entries on the number provided in this option. (users and companies type) </BR>\n     *     Note the numbers must be in E164 format separated by a space and the character \"+\" replaced by \"%2B\". ex. \"phoneNumbers=%2B33390676790 %2B33611223344\"\n     * @param {Date} fromUpdateDate Allows to filter the list of directory entries from provided date (ISO 8601 format eg: '2019-04-11 16:06:47').\n     * @param {Date} toUpdateDate Allows to filter the list of directory entries until provided date (ISO 8601 format).\n     * @param {string} tags Allows to filter the list of directory entries on the tag(s) provided in this option. </BR>\n     *     Only usable by users with admin rights, so that he can list the directory entries to which a given tag is assigned (useful for tag administration). </BR>\n     *     Using this parameter, the tags are matched with strict equality (i.e. it is case sensitive and the whole tag must be provided).\n     * @param {string} format=\"small\" Allows to retrieve more or less entry details in response. </BR>\n     * - small: id, firstName, lastName  </BR>\n     * - medium: id, companyId, firstName, lastName, workPhoneNumbers  </BR>\n     * - full: all fields. </BR>\n     * default : small </BR>\n     * Valid values : small, medium, full </BR>\n     * @param {number} limit=100 Allow to specify the number of phone book entries to retrieve. Default value : 100\n     * @param {number} offset=0 Allow to specify the position of first phone book entry to retrieve (first one if not specified) Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"lastName\" Sort directory list based on the given field. Default value : lastName\n     * @param {number} sortOrder=1 Specify order when sorting phone book list. Default value : 1. Possible values : -1, 1\n     * @param {string} view=\"all\" Precises ios the user would like to consult either his personal directory, his company directory or the both. Default value : all. Possible values : personal, company, all\n     * @description\n     *   This API allows users to get an entry of the directory of a company they administrate.</BR>\n     *   superadmin and support can get a directory entry of all companies.</BR>\n     *   bp_admin can only get a directory entry of their own companies or their End Customer companies.</BR>\n     *   organization_admin can only get a directory entry of the companies under their organization.</BR>\n     *   other users can only get a directory entry of their onw companies (and companies visible in their organisation if any). users can get the entries of their own directory too.</BR>\n     *   </BR>\n     *   name, phoneNumbers, search and tags parameters are exclusives.\n     * @return {Promise<any>}\n     * </BR>\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object\\[\\] | Data objects |\n     * | id  | string | Directory entry identifier |\n     * | companyId optionnel | string | Id of the company |\n     * | userId optionnel | string | Id of the user |\n     * | type | string | Type of the directory entry</BR>* `user` if firstName and/or lastName are filled,</BR>* `company` if only companyName is filled (firstName and lastName empty)</BR>Possible values : `user`, `company` |\n     * | firstName optionnel | string | Contact First name |\n     * | lastName optionnel | string | Contact Last name |\n     * | companyName optionnel | string | Company Name of the contact |\n     * | department optionnel | string | Contact address: Department |\n     * | street optionnel | string | Contact address: Street |\n     * | city optionnel | string | Contact address: City |\n     * | state optionnel | string | When country is 'USA' or 'CAN', a state should be defined. Else it is not managed. Allowed values: \"AK\", \"AL\", \"....\", \"NY\", \"WY\" |\n     * | postalCode optionnel | string | Contact address: postal code / ZIP |\n     * | country optionnel | string | Contact address: country (ISO 3166-1 alpha3 format) |\n     * | workPhoneNumbers optionnel | string\\[\\] | Work phone numbers (E164 format) |\n     * | mobilePhoneNumbers optionnel | string\\[\\] | Mobile phone numbers (E164 format) |\n     * | otherPhoneNumbers optionnel | string\\[\\] | other phone numbers (E164 format) |\n     * | jobTitle optionnel | string | Contact Job title |\n     * | eMail optionnel | string | Contact Email address |\n     * | tags optionnel | string\\[\\] | An Array of free tags |\n     * | custom1 optionnel | string | Custom field 1 |\n     * | custom2 optionnel | string | Custom field 2 |\n     *\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12850,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "getListDirectoryEntriesData",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter the list of directory entries on the companyIds provided in this option",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter the list of directory entries on the organisationIds provided in this option",
        "name": "organisationIds"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter the list of directory entries of user type on the name provided in this option. </BR>\n- keywords exact match (ex: 'John Doe' find 'John Doe')\n- keywords partial match (ex: 'Jo Do' find 'John Doe')\n- case insensitive (ex: 'john doe' find 'John Doe')\n- accents insensitive (ex: 'herve mothe' find 'Hervé Mothé')\n- on only firstname or lastname (ex: 'john' find 'John Doe')\n- order firstname / lastname does not matter (eg: 'doe john' find 'John Doe')",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter the list of directory entries by the words provided in this option. </BR>\n- The query parameter type allows to specify on which type of directory entries the search is performed ('user' (default), 'company', or all entries) - Multi criterion search is only available to users having feature SEARCH_BY_TAGS in their profiles - keywords exact match (ex: 'John Doe' find 'John Doe')\n- keywords partial match (ex: 'Jo Do' find 'John Doe')\n- case insensitive (ex: 'john doe' find 'John Doe')\n- accents insensitive (ex: 'herve mothe' find 'Hervé Mothé')\n- multi criterion: fields firstName, lastName, jobTitle,companyName, department and tags.\n- order firstname / lastname does not matter (eg: 'doe john' find 'John Doe')",
        "name": "search"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user\"",
        "description": "Allows to specify on which type of directory entries the multi-criterion search is performed ('user' (default), 'company', or all entries)</BR>\nThis parameter is only used if the query parameter search is also specified, otherwise it is ignored. Default value : user. Possible values : user, company",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter the list of directory entries of company type on the name provided in this option. </BR>\n- keywords exact match (ex: 'John Doe' find 'John Doe')\n- keywords partial match (ex: 'Jo Do' find 'John Doe')\n- case insensitive (ex: 'john doe' find 'John Doe')\n- accents insensitive (ex: 'herve mothe' find 'Hervé Mothé')\n- on only companyName (ex: 'john' find 'John Doe')",
        "name": "companyName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter the list of directory entries on the number provided in this option. (users and companies type) </BR>\n    Note the numbers must be in E164 format separated by a space and the character \"+\" replaced by \"%2B\". ex. \"phoneNumbers=%2B33390676790 %2B33611223344\"",
        "name": "phoneNumbers"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Allows to filter the list of directory entries from provided date (ISO 8601 format eg: '2019-04-11 16:06:47').",
        "name": "fromUpdateDate"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Allows to filter the list of directory entries until provided date (ISO 8601 format).",
        "name": "toUpdateDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter the list of directory entries on the tag(s) provided in this option. </BR>\n    Only usable by users with admin rights, so that he can list the directory entries to which a given tag is assigned (useful for tag administration). </BR>\n    Using this parameter, the tags are matched with strict equality (i.e. it is case sensitive and the whole tag must be provided).",
        "name": "tags"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less entry details in response. </BR>\n- small: id, firstName, lastName  </BR>\n- medium: id, companyId, firstName, lastName, workPhoneNumbers  </BR>\n- full: all fields. </BR>\ndefault : small </BR>\nValid values : small, medium, full </BR>",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of phone book entries to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first phone book entry to retrieve (first one if not specified) Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"lastName\"",
        "description": "Sort directory list based on the given field. Default value : lastName",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting phone book list. Default value : 1. Possible values : -1, 1",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"all\"",
        "description": "Precises ios the user would like to consult either his personal directory, his company directory or the both. Default value : all. Possible values : personal, company, all",
        "name": "view"
      }
    ],
    "description": "This API allows users to get an entry of the directory of a company they administrate.</BR>\n  superadmin and support can get a directory entry of all companies.</BR>\n  bp_admin can only get a directory entry of their own companies or their End Customer companies.</BR>\n  organization_admin can only get a directory entry of the companies under their organization.</BR>\n  other users can only get a directory entry of their onw companies (and companies visible in their organisation if any). users can get the entries of their own directory too.</BR>\n  </BR>\n  name, phoneNumbers, search and tags parameters are exclusives.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "</BR>\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object\\[\\] | Data objects |\n| id  | string | Directory entry identifier |\n| companyId optionnel | string | Id of the company |\n| userId optionnel | string | Id of the user |\n| type | string | Type of the directory entry</BR>* `user` if firstName and/or lastName are filled,</BR>* `company` if only companyName is filled (firstName and lastName empty)</BR>Possible values : `user`, `company` |\n| firstName optionnel | string | Contact First name |\n| lastName optionnel | string | Contact Last name |\n| companyName optionnel | string | Company Name of the contact |\n| department optionnel | string | Contact address: Department |\n| street optionnel | string | Contact address: Street |\n| city optionnel | string | Contact address: City |\n| state optionnel | string | When country is 'USA' or 'CAN', a state should be defined. Else it is not managed. Allowed values: \"AK\", \"AL\", \"....\", \"NY\", \"WY\" |\n| postalCode optionnel | string | Contact address: postal code / ZIP |\n| country optionnel | string | Contact address: country (ISO 3166-1 alpha3 format) |\n| workPhoneNumbers optionnel | string\\[\\] | Work phone numbers (E164 format) |\n| mobilePhoneNumbers optionnel | string\\[\\] | Mobile phone numbers (E164 format) |\n| otherPhoneNumbers optionnel | string\\[\\] | other phone numbers (E164 format) |\n| jobTitle optionnel | string | Contact Job title |\n| eMail optionnel | string | Contact Email address |\n| tags optionnel | string\\[\\] | An Array of free tags |\n| custom1 optionnel | string | Custom field 1 |\n| custom2 optionnel | string | Custom field 2 |"
      }
    ],
    "longname": "module:AdminService#getListDirectoryEntriesData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getListDirectoryEntriesData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getListOfCountries\n     * @since 2.21.0\n     * @instance\n     * @async\n     * @category Country\n     * @description\n     *     This API allows to retrieve the list of countries supported by Rainbow Server.</BR>\n     *     For some countries (CAN and USA), a state can be configured. The list of supported states for these countries is returned in the states field.\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | isoAlpha3Code | string | Country ISO 3166-1 alpha-2 code |\n     * | isoAlpha2Code | string | Country ISO 3166-1 alpha-3 code |\n     * | fullname | string | Country full name |\n     * | states optionnel | Object\\[\\] | List of states handled for this country.<br><br>Only available for countries `CAN`and `USA`. |\n     * | isoAlpha2Code | string | State ISO 3166-1 alpha-2 code |\n     * | fullname | string | State full name |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13599,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Country",
        "value": "Country"
      }
    ],
    "kind": "function",
    "name": "getListOfCountries",
    "since": "2.21.0",
    "scope": "instance",
    "async": true,
    "description": "This API allows to retrieve the list of countries supported by Rainbow Server.</BR>\n    For some countries (CAN and USA), a state can be configured. The list of supported states for these countries is returned in the states field.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| isoAlpha3Code | string | Country ISO 3166-1 alpha-2 code |\n| isoAlpha2Code | string | Country ISO 3166-1 alpha-3 code |\n| fullname | string | Country full name |\n| states optionnel | Object\\[\\] | List of states handled for this country.<br><br>Only available for countries `CAN`and `USA`. |\n| isoAlpha2Code | string | State ISO 3166-1 alpha-2 code |\n| fullname | string | State full name |"
      }
    ],
    "longname": "module:AdminService#getListOfCountries",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getListOfCountries",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getListOfCountriesAllowedForSystems\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @description\n     *  This API allows to retrieve the list of countries supported by Rainbow Server for systems country field. </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12111,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "getListOfCountriesAllowedForSystems",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "description": "This API allows to retrieve the list of countries supported by Rainbow Server for systems country field. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result"
      }
    ],
    "longname": "module:AdminService#getListOfCountriesAllowedForSystems",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getListOfCountriesAllowedForSystems",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getListOfIssues\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Logs\n     * @param {number} limit=100 Allow to specify the number of issues to retrieve. Default value : 100\n     * @param {number} offset=0 Allow to specify the position of first issue to retrieve (first issue if not specified). Warning: if offset > total, no results are returned. Default value : 0\n     * @param {string} sortField=\"creationDate\" Sort issues list based on the given field. Default value : creationDate. Possibles values : creationDate.\n     * @param {number} sortOrder=-1 Specify sort order when sorting issues list. Default value : -1. Possibles values : -1, 1.\n     * @param {string} companyId Allows to filter issues list on the companyId(s) provided in this option. companyId parameter is optional: if companyId is not provided, all the issues created by users belonging to companies that the administrator manage are returned. If provided, the logged in user must have administration rights on the requested companyId(s).\n     * @param {string} bpId Allows to filter issues list on all the companyId(s) being linked to the BP company provided in this option. </br>\n     * For the case of BP companies with bpType= VAD, the query parameter customerCategory allows to specify the kind of companies for which the issues are requested (see more details in the doc of customerCategory parameter). </br>\n     * The list of returned issues depends on the bpType of the BP company selected by the parameter bpId and on the requested customerCategory: </br>\n     * * if bpId corresponds to a BP company with bpType=VAD, the API will return: </br>\n     *   * if customerCategory=all: </br>\n     *      * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC), </br>\n     *      *issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n     *   * if customerCategory=ecs_only: </br>\n     *      * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n     *   * if customerCategory=irs_only: </br>\n     *      * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR). </br>\n     *   * if customerCategory=ecs_of_irs_only: </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n     *   * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     *      * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n     * * if bpId corresponds to a BP company with type=IR (customerCategory shouldn't be used), the API will return: </br>\n     *   * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC).  </br>\n     * * if bpId corresponds to a BP company with type=DR (customerCategory shouldn't be used), the API will return: </br>\n     *   * issues submitted by users belonging to any of the EC companies linked to this BP DR company (BP DR --> EC).  </br>\n     * * if bpId corresponds to a BP company with bpType=VAD, the API will return: </br>\n     *   * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     *   * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC), </br>\n     *   * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC).  </br>\n     * * if bpId corresponds to a BP company with bpType=IR, the API will return: </br>\n     *   * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC). </br>\n     * * if bpId corresponds to a BP company with bpType=DR, the API will return: </br>\n     *   * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP DR --> EC). </br>\n     *    </br>\n     * Only one BP's companyId can be provided in this filter. </br>\n     * If the companyIs set in the field bpId does not correspond to a BP company, no issues will match. </br>\n     * The filter companyId can be used additionally, for example to request the issues submitted by users belonging to the BP company as well. </br>\n     * The user must have superadmin, support or bp_admin role to use this filter (not taken into account otherwise). </br>\n     * If provided, the logged in user must have administration rights on the requested BP company. </br>\n     * @param {string} customerCategory=\"all\" Allows to specify the kind of companies associated to the requested bpId filter for which the list of issues is requested. </br>\n     * This query parameter is especially designed for the case of BP with bpType=VAD (to provide the flexibility on the list of issues returned depending on the client's needs). If the BP set in bpId don't have bpType=VAD, some values of customerCategory won't return any results (irs_only, ecs_of_irs_only and irs_with_ecs_of_irs_only should not be used if bpId correspond to a DR or an IR). </br>\n     * This query parameter is only taken into account if the bpId query parameter is also provided (not taken into account otherwise). </br>\n     * The logs will be returned depending on the bpType of the BP company selected by the parameter bpId and on the requested customerCategory: </br>\n     * * if bpId corresponds to a BP company with bpType=VAD, the API will return: </br>\n     *   * if customerCategory=all: </br>\n     *      * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC), </br>\n     *      * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n     *   * if customerCategory=ecs_only: </br>\n     *      * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n     *   * if customerCategory=irs_only: </br>\n     *      * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR). </br>\n     *   * if customerCategory=ecs_of_irs_only: </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n     *   * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     *      * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n     * * if bpId corresponds to a BP company with type=IR, the API will return: </br>\n     *   * if customerCategory=all: </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC). </br>\n     *   * if customerCategory=ecs_only: </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC). </br>\n     *   * if customerCategory=irs_only: </br>\n     *      * no results (a BP company with type=IR can't be linked to another BP company with type=IR). </br>\n     *   * if customerCategory=ecs_of_irs_only: </br>\n     *      * no results (a BP company with type=IR can't be linked to another BP company with type=IR). </br>\n     *   * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     *      * no results (a BP company with type=IR can't be linked to another BP company with type=IR). </br>\n     * * if bpId corresponds to a BP company with type=DR, the API will return: </br>\n     *   * if customerCategory=all: </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to this BP DR company (BP DR --> EC). </br>\n     *   * if customerCategory=ecs_only: </br>\n     *      * issues submitted by users belonging to any of the EC companies linked to this BP DR company (BP DR --> EC). </br>\n     *   * if customerCategory=irs_only: </br>\n     *      * no results (a BP company with type=IR can't be linked to a BP company with type=DR). </br>\n     *   * if customerCategory=ecs_of_irs_only: </br>\n     *      * no results (a BP company with type=IR can't be linked to a BP company with type=DR). </br>\n     *   * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     *      * no results (a BP company with type=IR can't be linked to a BP company with type=DR). </br>\n     * </br>\n     * Default value : all. Possibles values : all, ecs_only, irs_only, ecs_of_irs_only, irs_with_ecs_of_irs_only </br>\n     * @param {string} name Allows to filter issues on the name provided in this option (filter on associated user's displayName and company's name). </br>\n     * The filtering is case insensitive and on partial name match: all issues having the user's displayName or the company's name containing the provided name value will be returned (whatever the position of the match). </br>\n     * Ex: if filtering is done on Phil, issues created by users or companies match the filter: 'Philip Smith' (user displayName), 'John Philip' (user displayName), 'Philip Morris' (company name), 'This company name is Philips' (company name), ... </br>\n     * @param {string} version Allows to filter issues list on the version(s) provided in this option. </br>\n     * The filtering is case insensitive and on partial version match. Ex: if filtering is done on 1.112, all issues with the version starting by 1.112 match the filter: '1.112' (exact match), '1.112.2', '1.112.3', '1.1121', ... </br>\n     * @param {string} device Allows to filter issues list on the device(s) provided in this option. </br>\n     * Note: room corresponds to Rainbow Room </br>\n     * Default value : android,desktop,ios,room,web\n     * @param {string} fromCreationDate List issues which have been created after the given date (uses creationDate field).\n     * @param {string} toCreationDate List issues which have been created before the given date (uses creationDate field).\n     * @param {string} fromOccurrenceDate List issues which occurred after the given date (uses occurrenceDate field).\n     * @param {string} toOccurrenceDate List issues which occurred before the given date (uses occurrenceDate field).\n     * @param {string} format=\"small\" Allows to retrieve more or less logs context details in response. </br>\n     * * small: id userId companyId device description </br>\n     * * medium: id userId companyId device version description creationDate </br>\n     * * full: All fields </br>\n     * </br>\n     * Default value : small. Possibles values : small, medium, full </br>\n     * @description\n     *     This API allows to retrieve the list of issues. </BR>\n     *     The list of issues (logs contexts) that a user can retrieve depends on its roles: </BR>\n     *     * Users with `superadmin` or `support` role can retrieve all the issues. </br>\n     *     * Users with `bp_admin` role can retrieve all the issues created by users belonging to their EC companies and to their company. </br>\n     *     * In the case of BP with type VAD, they can retrieve all the issues created by users belonging to all the EC companies linked directly to the BP VAD and all the EC companies linked to their BP IR companies. </br>\n     *     * Users with `admin` role retrieve the issues created by users belonging to the companies they can manage: </br>\n     *      * an `organization_admin` gets all the issues created by users belonging to all the companies he manages (i.e. companies having organisationId equal to his organisationId) </br>\n     *      * a `company_admin` gets all the issues created by users belonging to his company </br>\n     *       </BR>\n     *      This API provides some query parameters allowing to filter the list of issues depending on the needs: </BR>\n     *      * `companyId` filter allows to retrieve only the issues created by users of a given company </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n     * | manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n     * | model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n     * | os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n     * | name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n     * | browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n     * | attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     * | name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14470,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getListOfIssues",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Logs",
        "value": "Customer Care - Logs"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of issues to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Allow to specify the position of first issue to retrieve (first issue if not specified). Warning: if offset > total, no results are returned. Default value : 0",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"creationDate\"",
        "description": "Sort issues list based on the given field. Default value : creationDate. Possibles values : creationDate.",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": -1,
        "description": "Specify sort order when sorting issues list. Default value : -1. Possibles values : -1, 1.",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter issues list on the companyId(s) provided in this option. companyId parameter is optional: if companyId is not provided, all the issues created by users belonging to companies that the administrator manage are returned. If provided, the logged in user must have administration rights on the requested companyId(s).",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter issues list on all the companyId(s) being linked to the BP company provided in this option. </br>\nFor the case of BP companies with bpType= VAD, the query parameter customerCategory allows to specify the kind of companies for which the issues are requested (see more details in the doc of customerCategory parameter). </br>\nThe list of returned issues depends on the bpType of the BP company selected by the parameter bpId and on the requested customerCategory: </br>\n* if bpId corresponds to a BP company with bpType=VAD, the API will return: </br>\n  * if customerCategory=all: </br>\n     * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC), </br>\n     *issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n  * if customerCategory=ecs_only: </br>\n     * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n  * if customerCategory=irs_only: </br>\n     * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR). </br>\n  * if customerCategory=ecs_of_irs_only: </br>\n     * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n  * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n* if bpId corresponds to a BP company with type=IR (customerCategory shouldn't be used), the API will return: </br>\n  * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC).  </br>\n* if bpId corresponds to a BP company with type=DR (customerCategory shouldn't be used), the API will return: </br>\n  * issues submitted by users belonging to any of the EC companies linked to this BP DR company (BP DR --> EC).  </br>\n* if bpId corresponds to a BP company with bpType=VAD, the API will return: </br>\n  * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n  * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC), </br>\n  * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC).  </br>\n* if bpId corresponds to a BP company with bpType=IR, the API will return: </br>\n  * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC). </br>\n* if bpId corresponds to a BP company with bpType=DR, the API will return: </br>\n  * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP DR --> EC). </br>\n   </br>\nOnly one BP's companyId can be provided in this filter. </br>\nIf the companyIs set in the field bpId does not correspond to a BP company, no issues will match. </br>\nThe filter companyId can be used additionally, for example to request the issues submitted by users belonging to the BP company as well. </br>\nThe user must have superadmin, support or bp_admin role to use this filter (not taken into account otherwise). </br>\nIf provided, the logged in user must have administration rights on the requested BP company. </br>",
        "name": "bpId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"all\"",
        "description": "Allows to specify the kind of companies associated to the requested bpId filter for which the list of issues is requested. </br>\nThis query parameter is especially designed for the case of BP with bpType=VAD (to provide the flexibility on the list of issues returned depending on the client's needs). If the BP set in bpId don't have bpType=VAD, some values of customerCategory won't return any results (irs_only, ecs_of_irs_only and irs_with_ecs_of_irs_only should not be used if bpId correspond to a DR or an IR). </br>\nThis query parameter is only taken into account if the bpId query parameter is also provided (not taken into account otherwise). </br>\nThe logs will be returned depending on the bpType of the BP company selected by the parameter bpId and on the requested customerCategory: </br>\n* if bpId corresponds to a BP company with bpType=VAD, the API will return: </br>\n  * if customerCategory=all: </br>\n     * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC), </br>\n     * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n  * if customerCategory=ecs_only: </br>\n     * issues submitted by users belonging to any of the EC companies directly linked to this BP VAD company (BP VAD --> EC). </br>\n  * if customerCategory=irs_only: </br>\n     * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR). </br>\n  * if customerCategory=ecs_of_irs_only: </br>\n     * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n  * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     * issues submitted by users belonging to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR), </br>\n     * issues submitted by users belonging to any of the EC companies linked to any of the BP companies with bpType=IR linked to this BP VAD company (BP VAD --> BP IR --> EC). </br>\n* if bpId corresponds to a BP company with type=IR, the API will return: </br>\n  * if customerCategory=all: </br>\n     * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC). </br>\n  * if customerCategory=ecs_only: </br>\n     * issues submitted by users belonging to any of the EC companies linked to this BP IR company (BP IR --> EC). </br>\n  * if customerCategory=irs_only: </br>\n     * no results (a BP company with type=IR can't be linked to another BP company with type=IR). </br>\n  * if customerCategory=ecs_of_irs_only: </br>\n     * no results (a BP company with type=IR can't be linked to another BP company with type=IR). </br>\n  * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     * no results (a BP company with type=IR can't be linked to another BP company with type=IR). </br>\n* if bpId corresponds to a BP company with type=DR, the API will return: </br>\n  * if customerCategory=all: </br>\n     * issues submitted by users belonging to any of the EC companies linked to this BP DR company (BP DR --> EC). </br>\n  * if customerCategory=ecs_only: </br>\n     * issues submitted by users belonging to any of the EC companies linked to this BP DR company (BP DR --> EC). </br>\n  * if customerCategory=irs_only: </br>\n     * no results (a BP company with type=IR can't be linked to a BP company with type=DR). </br>\n  * if customerCategory=ecs_of_irs_only: </br>\n     * no results (a BP company with type=IR can't be linked to a BP company with type=DR). </br>\n  * if customerCategory=irs_with_ecs_of_irs_only: </br>\n     * no results (a BP company with type=IR can't be linked to a BP company with type=DR). </br>\n</br>\nDefault value : all. Possibles values : all, ecs_only, irs_only, ecs_of_irs_only, irs_with_ecs_of_irs_only </br>",
        "name": "customerCategory"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter issues on the name provided in this option (filter on associated user's displayName and company's name). </br>\nThe filtering is case insensitive and on partial name match: all issues having the user's displayName or the company's name containing the provided name value will be returned (whatever the position of the match). </br>\nEx: if filtering is done on Phil, issues created by users or companies match the filter: 'Philip Smith' (user displayName), 'John Philip' (user displayName), 'Philip Morris' (company name), 'This company name is Philips' (company name), ... </br>",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter issues list on the version(s) provided in this option. </br>\nThe filtering is case insensitive and on partial version match. Ex: if filtering is done on 1.112, all issues with the version starting by 1.112 match the filter: '1.112' (exact match), '1.112.2', '1.112.3', '1.1121', ... </br>",
        "name": "version"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter issues list on the device(s) provided in this option. </br>\nNote: room corresponds to Rainbow Room </br>\nDefault value : android,desktop,ios,room,web",
        "name": "device"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List issues which have been created after the given date (uses creationDate field).",
        "name": "fromCreationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List issues which have been created before the given date (uses creationDate field).",
        "name": "toCreationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List issues which occurred after the given date (uses occurrenceDate field).",
        "name": "fromOccurrenceDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "List issues which occurred before the given date (uses occurrenceDate field).",
        "name": "toOccurrenceDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less logs context details in response. </br>\n* small: id userId companyId device description </br>\n* medium: id userId companyId device version description creationDate </br>\n* full: All fields </br>\n</br>\nDefault value : small. Possibles values : small, medium, full </br>",
        "name": "format"
      }
    ],
    "description": "This API allows to retrieve the list of issues. </BR>\n    The list of issues (logs contexts) that a user can retrieve depends on its roles: </BR>\n    * Users with `superadmin` or `support` role can retrieve all the issues. </br>\n    * Users with `bp_admin` role can retrieve all the issues created by users belonging to their EC companies and to their company. </br>\n    * In the case of BP with type VAD, they can retrieve all the issues created by users belonging to all the EC companies linked directly to the BP VAD and all the EC companies linked to their BP IR companies. </br>\n    * Users with `admin` role retrieve the issues created by users belonging to the companies they can manage: </br>\n     * an `organization_admin` gets all the issues created by users belonging to all the companies he manages (i.e. companies having organisationId equal to his organisationId) </br>\n     * a `company_admin` gets all the issues created by users belonging to his company </br>\n      </BR>\n     This API provides some query parameters allowing to filter the list of issues depending on the needs: </BR>\n     * `companyId` filter allows to retrieve only the issues created by users of a given company </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n| manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n| model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n| os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n| name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n| version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n| browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n| attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n| name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n| version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |"
      }
    ],
    "longname": "module:AdminService#getListOfIssues",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getListOfIssues",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getListOfIssuesForUser\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} format=\"small\" Allows to retrieve more or less logs context details in response. </br>\n     * * small: id userId companyId device description </br>\n     * * medium: id userId companyId device version description creationDate </br>\n     * * full: All fields </br>\n     * Default value : small. Possibles values : small, medium, full\n     * @category Customer Care - Users Logs\n     * @description\n     *     This API allows to consult the list of issues associated to a user or a Rainbow Room. </BR>\n     *     So that, as administrator (BP, Organisation, Company), support, superadmin, it is then possible to start issue resolution process with Rainbow Customer Care team. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n     * | manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n     * | model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n     * | os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n     * | name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n     * | browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n     * | attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     * | name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     * | version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14647,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getListOfIssuesForUser",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less logs context details in response. </br>\n* small: id userId companyId device description </br>\n* medium: id userId companyId device version description creationDate </br>\n* full: All fields </br>\nDefault value : small. Possibles values : small, medium, full",
        "name": "format"
      }
    ],
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "description": "This API allows to consult the list of issues associated to a user or a Rainbow Room. </BR>\n    So that, as administrator (BP, Organisation, Company), support, superadmin, it is then possible to start issue resolution process with Rainbow Customer Care team. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| hardware optionnel | Object | When relevant, details regarding the hardware of the device on which the issue occurred |\n| manufacturer optionnel | string | When relevant, manufacturer of the device on which the issue occurred<br> |\n| model optionnel | string | When relevant, model of the device on which the issue occurred<br> |\n| os optionnel | Object | When relevant, details regarding the Operating System on which the issue occurred |\n| name optionnel | string | When relevant, name of the Operating System on which the issue occurred<br> |\n| version optionnel | string | When relevant, version of the Operating System on which the issue occurred<br> |\n| browser optionnel | Object | When relevant, details regarding the browser on which the issue occurred |\n| attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n| name optionnel | string | When relevant, name of the browser on which the issue occurred<br> |\n| version optionnel | string | When relevant, name of the browser on which the issue occurred<br> |"
      }
    ],
    "longname": "module:AdminService#getListOfIssuesForUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getListOfIssuesForUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getListOfResourcesForUser\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users resources\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @description\n     *     This API allows to have the list of resources a user selected to connect to Rainbow infrastructure. </BR>\n     So that, as administrator (Superadmin, Support, BP, Organisation, Company), I can ask a user to upload logs if he agree. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * example of result :\n     * ```json\n     * {\n     * \"jid_im\": [\n     * {\n     * \"resource\": \"web\\_win\\_1.67.2_P0EnyMvN\",\n     * \"date\": \"2020-02-11T17:45:18.231395Z\"\n     * },\n     * {\n     * \"resource\": \"web\\_win\\_1.67.2_ajqyiThi\",\n     * \"date\": \"2020-02-11T17:31:31.409537Z\",\n     * \"show\": \"xa\", \"status\": \"away\"\n     * } ]\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15388,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getListOfResourcesForUser",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users resources",
        "value": "Customer Care - Users resources"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      }
    ],
    "description": "This API allows to have the list of resources a user selected to connect to Rainbow infrastructure. </BR>\n     So that, as administrator (Superadmin, Support, BP, Organisation, Company), I can ask a user to upload logs if he agree. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\nexample of result :\n```json\n{\n\"jid_im\": [\n{\n\"resource\": \"web\\_win\\_1.67.2_P0EnyMvN\",\n\"date\": \"2020-02-11T17:45:18.231395Z\"\n},\n{\n\"resource\": \"web\\_win\\_1.67.2_ajqyiThi\",\n\"date\": \"2020-02-11T17:31:31.409537Z\",\n\"show\": \"xa\", \"status\": \"away\"\n} ]\n}\n```"
      }
    ],
    "longname": "module:AdminService#getListOfResourcesForUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getListOfResourcesForUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getMembersOfCloudPBXGroups\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId Company unique identifier (like 569ce8c8f9336c471b98eda1).\n     * @param {number} limit Allow to specify the number of items to retrieve. Default value : 100.\n     * @param {number} offset Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0 .\n     * @param {string} sortField - Sort items list based on the given field. Default value : displayName. Possibles values : displayName, lastName, firstName\n     * @param {number} sortOrder Specify order when sorting items list. Default value : 1. Possibles values : -1, 1  .\n     * @param {string} displayName - Filter groups whose display name contains the given filter.\n     * @param {string} internalNumber - Filter members whose internal phone number contain the given filter.\n     * @description\n     *      This API allows to get all the group members of a Cloud PBX for a given company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field                  | Type        | Description                                     |\n     * |------------------------|-------------|-------------------------------------------------|\n     * | data                   | Object[]    | List of group members                          |\n     * | data.id                | string      | Member identifier                              |\n     * | data.firstName         | string      | Member firstName                               |\n     * | data.lastName          | string      | Member lastName                                |\n     * | data.internalNumber    | string      | Member internal number (cloud PBX extension)   |\n     * | data.lastAvatarUpdateDate | string   | Member last avatar update date                 |\n     * | data.groups            | Object[]    | List of groups the member belong to            |\n     * | data.groups.id         | string      | Group identifier                               |\n     * | data.groups.name       | string      | Group name                                     |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *     \"data\": [\n     *          { \"id\": \"63a075137a218ec55b19a99f\", \"firstName\": \"Bob\", \"lastName\": \"Patol\", \"internalNumber\": \"90002\", \"lastAvatarUpdateDate\": null,\n     *              \"groups\": [\n     *                  {\"id\": \"63bbe773343b506650ca5258\", \"name\": \"POL_CQ1\" }\n     *               ]\n     *          },\n     *          { \"id\": \"63a0752d7a218ec55b19a9c0\", \"firstName\": \"Carol\", \"lastName\": \"Patol\", \"internalNumber\": \"90003\", \"lastAvatarUpdateDate\": null,\n     *              \"groups\": [\n     *                  { \"id\": \"63bbe773343b506650ca5258\", \"name\": \"POL_CQ1\" }\n     *              ]\n     *           },\n     *           { \"id\": \"63a0754a7a218ec55b19a9e1\", \"firstName\": \"Dave\", \"lastName\": \"Patol\", \"internalNumber\": \"90004\", \"lastAvatarUpdateDate\": \"2023-02-16T14:00:52.564Z\",\n     *              \"groups\": [\n     *                  { \"id\": \"63bd7df89c9f5b1191d84df1\", \"name\": \"POL_GP2\" }\n     *              ]\n     *           },\n     *           { \"id\": \"63a075d17a218ec55b19aaad\", \"firstName\": \"Fiona\", \"lastName\": \"Patol\", \"internalNumber\": \"90006\", \"lastAvatarUpdateDate\": null,\n     *              \"groups\": [\n     *                  { \"id\": \"63bd7df89c9f5b1191d84df1\", \"name\": \"POL_GP2\" },\n     *                  { \"id\": \"63ebbe028f09ed5503274e63\", \"name\": \"POL_GP3\" }\n     *              ]\n     *           }\n     *     ]\n     *  }\n     *  ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16162,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getMembersOfCloudPBXGroups",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier (like 569ce8c8f9336c471b98eda1).",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the number of items to retrieve. Default value : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the position of first item to retrieve (first item if not specified). Warning: if offset > total, no results are returned. Default value : 0 .",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Sort items list based on the given field. Default value : displayName. Possibles values : displayName, lastName, firstName",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Specify order when sorting items list. Default value : 1. Possibles values : -1, 1  .",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filter groups whose display name contains the given filter.",
        "name": "displayName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filter members whose internal phone number contain the given filter.",
        "name": "internalNumber"
      }
    ],
    "description": "This API allows to get all the group members of a Cloud PBX for a given company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field                  | Type        | Description                                     |\n|------------------------|-------------|-------------------------------------------------|\n| data                   | Object[]    | List of group members                          |\n| data.id                | string      | Member identifier                              |\n| data.firstName         | string      | Member firstName                               |\n| data.lastName          | string      | Member lastName                                |\n| data.internalNumber    | string      | Member internal number (cloud PBX extension)   |\n| data.lastAvatarUpdateDate | string   | Member last avatar update date                 |\n| data.groups            | Object[]    | List of groups the member belong to            |\n| data.groups.id         | string      | Group identifier                               |\n| data.groups.name       | string      | Group name                                     |\n\n </br>example of result :\n ```json\n {\n    \"data\": [\n         { \"id\": \"63a075137a218ec55b19a99f\", \"firstName\": \"Bob\", \"lastName\": \"Patol\", \"internalNumber\": \"90002\", \"lastAvatarUpdateDate\": null,\n             \"groups\": [\n                 {\"id\": \"63bbe773343b506650ca5258\", \"name\": \"POL_CQ1\" }\n              ]\n         },\n         { \"id\": \"63a0752d7a218ec55b19a9c0\", \"firstName\": \"Carol\", \"lastName\": \"Patol\", \"internalNumber\": \"90003\", \"lastAvatarUpdateDate\": null,\n             \"groups\": [\n                 { \"id\": \"63bbe773343b506650ca5258\", \"name\": \"POL_CQ1\" }\n             ]\n          },\n          { \"id\": \"63a0754a7a218ec55b19a9e1\", \"firstName\": \"Dave\", \"lastName\": \"Patol\", \"internalNumber\": \"90004\", \"lastAvatarUpdateDate\": \"2023-02-16T14:00:52.564Z\",\n             \"groups\": [\n                 { \"id\": \"63bd7df89c9f5b1191d84df1\", \"name\": \"POL_GP2\" }\n             ]\n          },\n          { \"id\": \"63a075d17a218ec55b19aaad\", \"firstName\": \"Fiona\", \"lastName\": \"Patol\", \"internalNumber\": \"90006\", \"lastAvatarUpdateDate\": null,\n             \"groups\": [\n                 { \"id\": \"63bd7df89c9f5b1191d84df1\", \"name\": \"POL_GP2\" },\n                 { \"id\": \"63ebbe028f09ed5503274e63\", \"name\": \"POL_GP3\" }\n             ]\n          }\n    ]\n }\n ```\n</br>"
      }
    ],
    "longname": "module:AdminService#getMembersOfCloudPBXGroups",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getMembersOfCloudPBXGroups",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getMultifactorInformation\n     * @since 2.22.4\n     * @instance\n     * @async\n     * @category Multifactor Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users to retrive multifactor information in order to start activation process. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | mfaType | string | type of multifactor |\n     * | mfaSecret | string | secret of TOTP multifactor |\n     * | otpAuthUrl | string | OTP auth url computed from secret (see https://github.com/google/google-authenticator/wiki/Key-Uri-Format) |\n     * | qrcode | string | QR code generated from OTP Url |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13797,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Multifactor Rainbow Authentication",
        "value": "Multifactor Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "getMultifactorInformation",
    "since": "2.22.4",
    "scope": "instance",
    "async": true,
    "description": "This API allows Rainbow users to retrive multifactor information in order to start activation process. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| mfaType | string | type of multifactor |\n| mfaSecret | string | secret of TOTP multifactor |\n| otpAuthUrl | string | OTP auth url computed from secret (see https://github.com/google/google-authenticator/wiki/Key-Uri-Format) |\n| qrcode | string | QR code generated from OTP Url |"
      }
    ],
    "longname": "module:AdminService#getMultifactorInformation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getMultifactorInformation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getRainbowMultifactorConfiguration\n     * @since 2.29.0\n     * @instance\n     * @description\n     * This API allows to get a Rainbow multifactor configuration for a given company.\n     * </br> Users with `superadmin` role can get Rainbow multifactor configuration of any company.\n     * </br> `bp_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> `organization_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> `company_admin` users can only get Rainbow multifactor configuration of their own company.\n     *\n     * @async\n     * @param {string} companyId Company unique identifier\n     * @param {string} mfaId Rainbow policy unique identifier\n     * @category Company Rainbow Multifactor Authentication Server\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | mfaId | string | unique identifier of Rainbow multifactor authentication |\n     * | mfaType | string | Authentication multifactor type<br><br>Possibles values : `none`, `totp` |\n     * | enabledForAllCompanyUsers | Boolean | Enable or disable the use of these Rainbow multifactor authentication settings for all members of the company  <br>When several Rainbow multifactor or SSO authentication types are configured for a company, the SSO authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set or equal to `DEFAULT`). |\n     * | mfaName | string | Name of Rainbow multifactor authentication |\n     * | mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n     * | rememberDaysApplication | Number | Number of days when application and browsers are trusted |\n     * | mfaCanBeDisabled | Boolean | let the user disable the multifactor authentication |\n     *\n     * </br>example of result :\n     * ```json\n     * {\n     *     \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n     *     \"mfaType\": \"totp\",\n     *     \"mfaPolicy\" : \"untrusted_app\",\n     *     \"enabledForAllCompanyUsers\": false,\n     *     \"mfaName\": \"totp example\",\n     *     \"rememberDaysApplication\": 60\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 368,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company Rainbow Multifactor Authentication Server",
        "value": "Company Rainbow Multifactor Authentication Server"
      }
    ],
    "kind": "function",
    "name": "getRainbowMultifactorConfiguration",
    "since": "2.29.0",
    "scope": "instance",
    "description": "This API allows to get a Rainbow multifactor configuration for a given company.\n</br> Users with `superadmin` role can get Rainbow multifactor configuration of any company.\n</br> `bp_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> `organization_admin` users can only get Rainbow multifactor configuration for a company they manage (i.e. company linked to organization_admin's organization).\n</br> `company_admin` users can only get Rainbow multifactor configuration of their own company.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Rainbow policy unique identifier",
        "name": "mfaId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| mfaId | string | unique identifier of Rainbow multifactor authentication |\n| mfaType | string | Authentication multifactor type<br><br>Possibles values : `none`, `totp` |\n| enabledForAllCompanyUsers | Boolean | Enable or disable the use of these Rainbow multifactor authentication settings for all members of the company  <br>When several Rainbow multifactor or SSO authentication types are configured for a company, the SSO authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set or equal to `DEFAULT`). |\n| mfaName | string | Name of Rainbow multifactor authentication |\n| mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n| rememberDaysApplication | Number | Number of days when application and browsers are trusted |\n| mfaCanBeDisabled | Boolean | let the user disable the multifactor authentication |\n\n</br>example of result :\n```json\n{\n    \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n    \"mfaType\": \"totp\",\n    \"mfaPolicy\" : \"untrusted_app\",\n    \"enabledForAllCompanyUsers\": false,\n    \"mfaName\": \"totp example\",\n    \"rememberDaysApplication\": 60\n}\n```"
      }
    ],
    "longname": "module:AdminService#getRainbowMultifactorConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getRainbowMultifactorConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getRainbowSupportBotService\n     * @nodered true\n     * @instance\n     * @description\n     *      This API can be used to get Rainbow support bot service (Emily) </BR>\n     * @async\n     * @category Bots\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Bot service unique identifier. |\n     * | name | string | Bot title, like 'Emily'. |\n     * | jid | string | Bot service's jid, should be like 'emily.rainbow.com'. |\n     * | isRainbowSupportBot | Boolean | Indicates if the bot service corresponds to Rainbow support bot (Emily). |\n     * | capabilities | string\\[\\] | List of capabilities tags |\n     * | createdByUserId | string | Unique identifier of the bot service owner. |\n     * | avatarId | string | Identifier of the Bot service's avatar.<br> |\n     * | lastAvatarUpdateDate | Date-Time | Date of last bot avatar update.<br><br>* `null` value indicates that no avatar is set for this bot.<br>* Bot avatar can be customized by company (users from the company see the custom avatar instead of the default one set for the bot).<br>    * if the bot has an avatar and this one is not customized for the company, `lastAvatarUpdateDate` corresponds to the date when the bot's owner set an avatar to the bot.<br>    * otherwise if the bot has a customized avatar for the company, `lastAvatarUpdateDate` corresponds to the date when the administrator has set the customized avatar for this company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 124,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getRainbowSupportBotService",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Bots",
        "value": "Bots"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "scope": "instance",
    "description": "This API can be used to get Rainbow support bot service (Emily) </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Bot service unique identifier. |\n| name | string | Bot title, like 'Emily'. |\n| jid | string | Bot service's jid, should be like 'emily.rainbow.com'. |\n| isRainbowSupportBot | Boolean | Indicates if the bot service corresponds to Rainbow support bot (Emily). |\n| capabilities | string\\[\\] | List of capabilities tags |\n| createdByUserId | string | Unique identifier of the bot service owner. |\n| avatarId | string | Identifier of the Bot service's avatar.<br> |\n| lastAvatarUpdateDate | Date-Time | Date of last bot avatar update.<br><br>* `null` value indicates that no avatar is set for this bot.<br>* Bot avatar can be customized by company (users from the company see the custom avatar instead of the default one set for the bot).<br>    * if the bot has an avatar and this one is not customized for the company, `lastAvatarUpdateDate` corresponds to the date when the bot's owner set an avatar to the bot.<br>    * otherwise if the bot has a customized avatar for the company, `lastAvatarUpdateDate` corresponds to the date when the administrator has set the customized avatar for this company. |"
      }
    ],
    "longname": "module:AdminService#getRainbowSupportBotService",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getRainbowSupportBotService",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method getResultOfStartedOffice365TenantSynchronizationTask\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} tenant Office365 tenant\n     * @param {string} format=\"json\" Allows to retrieve more or less phone numbers details in response.\n     * - json: answer follows the pattern { \"data\" : { ... JSON ... }}\n     * - csv: answer follows the pattern { \"data\" : [ ... CSV ... ]}\n     * - all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }}\n     * Default value : json\n     * Possible values : csv, json, all\n     * @description\n     *     This API retrieves data describing all operations required to synchronize an Office365 tenant (csv or json format).\n     *     This API returns the result of a prior SynchronizeTenantTaskStart that triggers an asynchronous processing for a given tenant. </BR>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status optionnel | string | Asynchronous operation status</BR></BR>Possible values : `pending` |\n     * | data optionnel | Object | synchronization data |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7693,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "getResultOfStartedOffice365TenantSynchronizationTask",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Office365 tenant",
        "name": "tenant"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"json\"",
        "description": "Allows to retrieve more or less phone numbers details in response.\n- json: answer follows the pattern { \"data\" : { ... JSON ... }}\n- csv: answer follows the pattern { \"data\" : [ ... CSV ... ]}\n- all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }}\nDefault value : json\nPossible values : csv, json, all",
        "name": "format"
      }
    ],
    "description": "This API retrieves data describing all operations required to synchronize an Office365 tenant (csv or json format).\n    This API returns the result of a prior SynchronizeTenantTaskStart that triggers an asynchronous processing for a given tenant. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status optionnel | string | Asynchronous operation status</BR></BR>Possible values : `pending` |\n| data optionnel | Object | synchronization data |"
      }
    ],
    "longname": "module:AdminService#getResultOfStartedOffice365TenantSynchronizationTask",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getResultOfStartedOffice365TenantSynchronizationTask",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getSiteData\n     * @since 2.1.1\n     * @instance\n     * @async\n     * @category sites\n     * @param {string} siteId Site id. </BR>\n     * @description\n     *      This API allows administrators to get a site data by id they administrate.  </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11463,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "sites",
        "value": "sites"
      }
    ],
    "kind": "function",
    "name": "getSiteData",
    "since": "2.1.1",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site id. </BR>",
        "name": "siteId"
      }
    ],
    "description": "This API allows administrators to get a site data by id they administrate.  </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getSiteData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getSiteData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getStatsRegardingTagsOfDirectoryEntries\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory tags\n     * @param {string} companyId Allows to compute the tags statistics for the directory entries of the companyIds provided in this option.</BR>\n     * @description\n     *      This API can be used to list all the tags being assigned to the directory entries of the companies managed by the administrator, with the number of directory entries for each tags.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13366,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory tags",
        "value": "Rainbow Company Directory portal - directory tags"
      }
    ],
    "kind": "function",
    "name": "getStatsRegardingTagsOfDirectoryEntries",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to compute the tags statistics for the directory entries of the companyIds provided in this option.</BR>",
        "name": "companyId"
      }
    ],
    "description": "This API can be used to list all the tags being assigned to the directory entries of the companies managed by the administrator, with the number of directory entries for each tags.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getStatsRegardingTagsOfDirectoryEntries",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getStatsRegardingTagsOfDirectoryEntries",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getSubscriptionsOfCompanyByOfferId\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} offerId Id of the offer to filter subscriptions.\n     * @param {string} companyId Id of the company to get the subscription of the offer.\n     * @description\n     *      Method to get the subscription of one company for one offer. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6774,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "getSubscriptionsOfCompanyByOfferId",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the offer to filter subscriptions.",
        "name": "offerId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company to get the subscription of the offer.",
        "name": "companyId"
      }
    ],
    "description": "Method to get the subscription of one company for one offer. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getSubscriptionsOfCompanyByOfferId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getSubscriptionsOfCompanyByOfferId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getSystemConnectionState\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @param {string} systemId System unique identifier\n     * @param {string} format=\"small\" Allows to retrieve more or less details in response. </BR>\n     * - small: timestamp, connection </BR>\n     * - medium: timestamp, conf, csta, http </BR>\n     * - full: timestamp, xmpp, conf, csta, http </BR>\n     * </BR>\n     * Possibles values : small, medium, full </BR>\n     * @param {boolean} connectionHistory Allows to return connection history\n     * @description\n     * This API allows administrator to retrieve a given system.state </BR>\n     * </BR>\n     * superadmin and support can get all systems' state existing in Rainbow. </BR>\n     * bp_admin can only get the systems' state linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n     * organization_admin can only get systems' state linked to sites of companies under their organisation. </BR>\n     * company_admin can only get systems' state linked to sites of their company. </BR>\n     * site_admin can only get the systems' state linked to the site they administrate. </BR>\n     * </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | timestamp | string | Moment when the last update information was taken (Unix time format). |\n     * | connection | string | Connection established indicator (only shown with the format small). |\n     * | conf | string | Configuration channel connection established indicator. |\n     * | csta | string | Telephony channel connection established indicator. |\n     * | http optionnel | string | Http channel connection established indicator. |\n     * | xmpp | string | Authentication channel connection established indicator (only shown with the format full). |\n     * | connectionHistory | Object\\[\\] | history of connections. |\n     * | eventType | string | Type of connection |\n     * | eventDate | Date-Time | Date of connection |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11768,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "getSystemConnectionState",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System unique identifier",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less details in response. </BR>\n- small: timestamp, connection </BR>\n- medium: timestamp, conf, csta, http </BR>\n- full: timestamp, xmpp, conf, csta, http </BR>\n</BR>\nPossibles values : small, medium, full </BR>",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to return connection history",
        "name": "connectionHistory"
      }
    ],
    "description": "This API allows administrator to retrieve a given system.state </BR>\n</BR>\nsuperadmin and support can get all systems' state existing in Rainbow. </BR>\nbp_admin can only get the systems' state linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\norganization_admin can only get systems' state linked to sites of companies under their organisation. </BR>\ncompany_admin can only get systems' state linked to sites of their company. </BR>\nsite_admin can only get the systems' state linked to the site they administrate. </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| timestamp | string | Moment when the last update information was taken (Unix time format). |\n| connection | string | Connection established indicator (only shown with the format small). |\n| conf | string | Configuration channel connection established indicator. |\n| csta | string | Telephony channel connection established indicator. |\n| http optionnel | string | Http channel connection established indicator. |\n| xmpp | string | Authentication channel connection established indicator (only shown with the format full). |\n| connectionHistory | Object\\[\\] | history of connections. |\n| eventType | string | Type of connection |\n| eventDate | Date-Time | Date of connection |"
      }
    ],
    "longname": "module:AdminService#getSystemConnectionState",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getSystemConnectionState",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getSystemData\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @param {string} systemId System unique identifier\n     * @param {boolean} connectionHistory Allows to return connection history\n     * @description\n     *  This API allows administrator to retrieve a given system. </BR>\n     *  </BR>\n     *  superadmin and support can get all systems existing in Rainbow. </BR>\n     *  bp_admin can only get systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n     *  organization_admin can only get systems linked to sites of companies under their organisation. </BR>\n     *  company_admin can only get systems linked to sites of their company. </BR>\n     *  site_admin can only get the systems linked to the site they administrate. </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | activatingTransactionId | string | CCA Jabber Id |\n     * | jid\\_pbxagent\\_password_activating | string | CCA Jabber Id access code. The value of this field is depending on status field. The value of this field is depending on 'status' field.  </BR>\\- `activating`: This is a proposal of private access code sent to CCA and not yet acknowledged.  </BR>\\- `created, activated`: Empty string |\n     * | id  | string | System unique identifier |\n     * | name optionnel | string | System name/description |\n     * | pbxId | string | Call Control Agent (CCA) login. |\n     * | pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n     * | siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n     * | type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n     * | country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n     * | version | string | CCA software version |\n     * | jid_pbxagent optionnel | string | CCA Jabber Id |\n     * | jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n     * | jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n     * | jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n     * | status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n     * | serverPingTimeout optionnel | Number | CCA config data |\n     * | pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n     * | pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n     * | regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n     * | regexpReplace optionnel | string | A valid dialable number. |\n     * | description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n     * | pbxNationalPrefix optionnel | string | National prefix |\n     * | pbxInternationalPrefix optionnel | string | International prefix |\n     * | creationDate | Date-Time | System creation date (Read only) |\n     * | statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n     * | searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n     * | hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n     * | isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n     * | isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n     * | isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n     * | bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n     * | connectionHistory | Object\\[\\] | history of connections. |\n     * | eventType | string | Type of connection |\n     * | eventDate | Date-Time | Date of connection |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11920,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "getSystemData",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System unique identifier",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to return connection history",
        "name": "connectionHistory"
      }
    ],
    "description": "This API allows administrator to retrieve a given system. </BR>\n </BR>\n superadmin and support can get all systems existing in Rainbow. </BR>\n bp_admin can only get systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n organization_admin can only get systems linked to sites of companies under their organisation. </BR>\n company_admin can only get systems linked to sites of their company. </BR>\n site_admin can only get the systems linked to the site they administrate. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| activatingTransactionId | string | CCA Jabber Id |\n| jid\\_pbxagent\\_password_activating | string | CCA Jabber Id access code. The value of this field is depending on status field. The value of this field is depending on 'status' field.  </BR>\\- `activating`: This is a proposal of private access code sent to CCA and not yet acknowledged.  </BR>\\- `created, activated`: Empty string |\n| id  | string | System unique identifier |\n| name optionnel | string | System name/description |\n| pbxId | string | Call Control Agent (CCA) login. |\n| pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n| siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n| type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n| country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n| version | string | CCA software version |\n| jid_pbxagent optionnel | string | CCA Jabber Id |\n| jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n| jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n| jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n| status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n| serverPingTimeout optionnel | Number | CCA config data |\n| pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n| pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n| regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n| regexpReplace optionnel | string | A valid dialable number. |\n| description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n| pbxNationalPrefix optionnel | string | National prefix |\n| pbxInternationalPrefix optionnel | string | International prefix |\n| creationDate | Date-Time | System creation date (Read only) |\n| statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n| searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n| hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n| isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n| isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n| isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n| bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n| connectionHistory | Object\\[\\] | history of connections. |\n| eventType | string | Type of connection |\n| eventDate | Date-Time | Date of connection |"
      }
    ],
    "longname": "module:AdminService#getSystemData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getSystemData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getSystemDataByPbxId\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @param {string} pbxId Pbx unique identifier known by PCG\n     * @param {boolean} connectionHistory Allows to return connection history\n     * @description\n     *  This API allows administrator to retrieve a given system from its pbxId. </BR>\n     *      </BR>\n     *  superadmin and support can get all systems existing in Rainbow. </BR>\n     *  bp_admin can only get systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n     *  organization_admin can only get systems linked to sites of companies under their organisation. </BR>\n     *  company_admin can only get systems linked to sites of their company. </BR>\n     *  site_admin can only get the systems linked to the site they administrate.\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | activatingTransactionId | string | CCA Jabber Id |\n     * | jid\\_pbxagent\\_password_activating | string | CCA Jabber Id access code. The value of this field is depending on status field. The value of this field is depending on 'status' field.  </BR>\\- `activating`: This is a proposal of private access code sent to CCA and not yet acknowledged.  </BR>\\- `created, activated`: Empty string |\n     * | id  | string | System unique identifier |\n     * | name optionnel | string | System name/description |\n     * | pbxId | string | Call Control Agent (CCA) login. |\n     * | pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n     * | siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n     * | type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n     * | country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n     * | version | string | CCA software version |\n     * | jid_pbxagent optionnel | string | CCA Jabber Id |\n     * | jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n     * | jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n     * | jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n     * | status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n     * | serverPingTimeout optionnel | Number | CCA config data |\n     * | pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n     * | pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n     * | regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n     * | regexpReplace optionnel | string | A valid dialable number. |\n     * | description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n     * | pbxNationalPrefix optionnel | string | National prefix |\n     * | pbxInternationalPrefix optionnel | string | International prefix |\n     * | creationDate | Date-Time | System creation date (Read only) |\n     * | statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n     * | searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n     * | hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n     * | isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n     * | isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n     * | isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n     * | bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n     * | connectionHistory | Object\\[\\] | history of connections. |\n     * | eventType | string | Type of connection |\n     * | eventDate | Date-Time | Date of connection |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11835,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "getSystemDataByPbxId",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Pbx unique identifier known by PCG",
        "name": "pbxId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to return connection history",
        "name": "connectionHistory"
      }
    ],
    "description": "This API allows administrator to retrieve a given system from its pbxId. </BR>\n     </BR>\n superadmin and support can get all systems existing in Rainbow. </BR>\n bp_admin can only get systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n organization_admin can only get systems linked to sites of companies under their organisation. </BR>\n company_admin can only get systems linked to sites of their company. </BR>\n site_admin can only get the systems linked to the site they administrate.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| activatingTransactionId | string | CCA Jabber Id |\n| jid\\_pbxagent\\_password_activating | string | CCA Jabber Id access code. The value of this field is depending on status field. The value of this field is depending on 'status' field.  </BR>\\- `activating`: This is a proposal of private access code sent to CCA and not yet acknowledged.  </BR>\\- `created, activated`: Empty string |\n| id  | string | System unique identifier |\n| name optionnel | string | System name/description |\n| pbxId | string | Call Control Agent (CCA) login. |\n| pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n| siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n| type optionnel | string | CCA type</BR></BR>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n| country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n| version | string | CCA software version |\n| jid_pbxagent optionnel | string | CCA Jabber Id |\n| jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.</BR></BR> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.</BR> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n| jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n| jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n| status optionnel | string | CCA status report. (read only)</BR></BR> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)</BR> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code</BR> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.</BR></BR>Default value : `created`</BR></BR>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n| serverPingTimeout optionnel | Number | CCA config data |\n| pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n| pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n| regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n| regexpReplace optionnel | string | A valid dialable number. |\n| description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n| pbxNationalPrefix optionnel | string | National prefix |\n| pbxInternationalPrefix optionnel | string | International prefix |\n| creationDate | Date-Time | System creation date (Read only) |\n| statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n| searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:</BR></BR>* RAINBOW: phone numbers defined in Rainbow users</BR>* LDAP: phone numbers defined in directories according to the following priority order:</BR>    * personal directory of the user</BR>    * company directory (of the company(ies) to which the PBX is linked)</BR>    * office365 directory (of the company(ies) to which the PBX is linked)</BR></BR>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n| hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n| isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n| isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n| isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n| bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company</BR></BR>Default value : `null` |\n| connectionHistory | Object\\[\\] | history of connections. |\n| eventType | string | Type of connection |\n| eventDate | Date-Time | Date of connection |"
      }
    ],
    "longname": "module:AdminService#getSystemDataByPbxId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getSystemDataByPbxId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     *\n     * @public\n     * @nodered true\n     * @method getUserPresenceInformation\n     * @instance\n     * @nodered true\n     * @description\n     *      Get presence informations about a user </BR>\n     * </BR>\n     *      Company admin shall be able to check if a user can be reached or not, by checking the presence information (available, busy, away, etc). </BR>\n     *      Admin will have to select a user to get a presence snapshot when opening the user configuration profile. </BR>\n     *      A brute force defense is activated when too much request have been requested by the same administrator, to not overload the backend. As a result, an error 429 \"Too Many Requests\" will be returned . </BR>\n     * @param {string} userId The id of the user. If the userId is not provided, then it use the current loggedin user id.\n     * @async\n     * @category Users at running\n     * @return {Promise<any>}\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6647,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Users at running",
        "value": "Users at running"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "getUserPresenceInformation",
    "scope": "instance",
    "description": "Get presence informations about a user </BR>\n</BR>\n     Company admin shall be able to check if a user can be reached or not, by checking the presence information (available, busy, away, etc). </BR>\n     Admin will have to select a user to get a presence snapshot when opening the user configuration profile. </BR>\n     A brute force defense is activated when too much request have been requested by the same administrator, to not overload the backend. As a result, an error 429 \"Too Many Requests\" will be returned . </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The id of the user. If the userId is not provided, then it use the current loggedin user id.",
        "name": "userId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#getUserPresenceInformation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#getUserPresenceInformation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method grantCloudPBXAccessToDebugSession\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} deviceId Unique identifier of the SIP device for which the debug session access will be granted.\n     * @param {string} duration 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)\n     * @description\n     *      This API allows  to grant access to debug session on the given device.</BR>\n     *      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. </BR>\n     *      A debug session can be terminated by: </BR>\n     *      Calling the device revoke API </BR>\n     *      After debug session has timed out, a periodic check is performed by the portal to revoke expired debug sessions (periodicity defined by configuration parameter). </BR>\n     *\n     *      During debug session, adminUrl and adminPassword of the device can be retrieved by getting device information.  </BR>\n     *      Please note that adminUrl could be unreachable depending on network configuration. </BR>\n     *      When a debug session is closed, ssh access to the device is deactivated, and the admin password of the device is modified.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10414,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "grantCloudPBXAccessToDebugSession",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device for which the debug session access will be granted.",
        "name": "deviceId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "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)",
        "name": "duration"
      }
    ],
    "description": "This API allows  to grant access to debug session on the given device.</BR>\n     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. </BR>\n     A debug session can be terminated by: </BR>\n     Calling the device revoke API </BR>\n     After debug session has timed out, a periodic check is performed by the portal to revoke expired debug sessions (periodicity defined by configuration parameter). </BR>\n\n     During debug session, adminUrl and adminPassword of the device can be retrieved by getting device information.  </BR>\n     Please note that adminUrl could be unreachable depending on network configuration. </BR>\n     When a debug session is closed, ssh access to the device is deactivated, and the admin password of the device is modified.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#grantCloudPBXAccessToDebugSession",
    "memberof": "module:AdminService",
    "$longname": "AdminService#grantCloudPBXAccessToDebugSession",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method importCSVData\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} companyId ompanyId of the users in the CSV file, default to admin's companyId\n     * @param {string} label=\"none\" a text description of this import. Default value : none\n     * @param {string} noemails=true disable email sending. Default value : true\n     * @param {string} nostrict=false create of an existing user and delete of an unexisting user are not errors. Default value : false\n     * @param {string} delimiter the CSV delimiter character (will be determined by analyzing the CSV file if not provided)\n     * @param {string} comment=\"%\" the CSV comment start character, use double quotes in field values to escape this character\n     * @param {any} data The body of the POST.\n     * @description\n     *     This API allows to manage Rainbow users or devices through a CSV UTF-8 encoded file. </br>\n     *     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. </br>\n     *     Caution: To avoid multiple imports of same CSV data, the reqId returned to access the import status is a hash of the CSV data. </br>\n     *     If you really need to apply same CSV data again, you will have to delete its associated import report first. </br>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | * import summary |\n     * | reqId | string | * import request identifier |\n     * | mode | string | * provisioning mode</BR></BR>Possible values : `user`, `device` |\n     * | status | string | * Current import state, should be 'Pending' |\n     * | userId | string | * id of the requesting user |\n     * | displayName | string | * display name of the requesting user |\n     * | label | string | * description of the import |\n     * | startTime | string | * the import processing start time |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7737,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "importCSVData",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ompanyId of the users in the CSV file, default to admin's companyId",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"none\"",
        "description": "a text description of this import. Default value : none",
        "name": "label"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": true,
        "description": "disable email sending. Default value : true",
        "name": "noemails"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": false,
        "description": "create of an existing user and delete of an unexisting user are not errors. Default value : false",
        "name": "nostrict"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the CSV delimiter character (will be determined by analyzing the CSV file if not provided)",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"%\"",
        "description": "the CSV comment start character, use double quotes in field values to escape this character",
        "name": "comment"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "The body of the POST.",
        "name": "data"
      }
    ],
    "description": "This API allows to manage Rainbow users or devices through a CSV UTF-8 encoded file. </br>\n    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. </br>\n    Caution: To avoid multiple imports of same CSV data, the reqId returned to access the import status is a hash of the CSV data. </br>\n    If you really need to apply same CSV data again, you will have to delete its associated import report first. </br>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | * import summary |\n| reqId | string | * import request identifier |\n| mode | string | * provisioning mode</BR></BR>Possible values : `user`, `device` |\n| status | string | * Current import state, should be 'Pending' |\n| userId | string | * id of the requesting user |\n| displayName | string | * display name of the requesting user |\n| label | string | * description of the import |\n| startTime | string | * the import processing start time |"
      }
    ],
    "longname": "module:AdminService#importCSVData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#importCSVData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method importCSVdataForSynchronizeDirectory\n     * @since 2.15.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @description\n     *      This API allows to import the entries of a company directory with CSV UTF-8 encoded data. </BR>\n     *      All the entries defined in the CSV data are relative to the same company directory. </BR>\n     *      In case a query parameter commandId is added, the following event is sent to the initiator of the command: \"rainbow_onconnectorcommandended\"</BR>\n     *          </BR>\n     *      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.</BR>\n     *      Supported fields are:</BR>\n     *      __action__ : delete, upsert or sync</BR>\n     *      ldap_id : (mandatory)</BR>\n     *      *</BR>\n     *      firstName</BR>\n     *      lastName</BR>\n     *      companyName</BR>\n     *      workPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     *      mobilePhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     *      otherPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     *      tag{n} : (n is a number starting from 0 to 4)</BR>\n     *      department</BR>\n     *      street</BR>\n     *      city</BR>\n     *      postalCode</BR>\n     *      state</BR>\n     *      country</BR>\n     *      jobTitle</BR>\n     *      eMail</BR>\n     *      custom1</BR>\n     *      custom2</BR>\n     *      </BR>\n     *      delete: allows to delete an entry. upsert: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     *      Remark: empty fields are not taken into account. sync: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     *      Remark: empty fields are taken into account (if a field is empty we will try to update it with empty value).</BR>\n     *      </BR>\n     *      return an {Object}  of synchronization data. </BR>\n     * @return {Promise<any>}\n     * @param {string} delimiter=\"%\" CSV delimiter character (will be determined by analyzing the CSV file if not provided)\n     * @param {string} comment CSV comment start character. Default value : %\n     * @param {string} commandId commandId if the check csv request comes from connector on behalf of admin command, ity will generates a report\n     * @param {string} label=\"none\" A text description of this import. Default value : none\n     * @param {string} csvData string with the body of the CSV data.\n     * @param {string} ldapConfigId Allows to specify the ldap domain on which the command should be run (in case of multi domain).\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8444,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "importCSVdataForSynchronizeDirectory",
    "since": "2.15.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "description": "This API allows to import the entries of a company directory with CSV UTF-8 encoded data. </BR>\n     All the entries defined in the CSV data are relative to the same company directory. </BR>\n     In case a query parameter commandId is added, the following event is sent to the initiator of the command: \"rainbow_onconnectorcommandended\"</BR>\n         </BR>\n     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.</BR>\n     Supported fields are:</BR>\n     __action__ : delete, upsert or sync</BR>\n     ldap_id : (mandatory)</BR>\n     *</BR>\n     firstName</BR>\n     lastName</BR>\n     companyName</BR>\n     workPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     mobilePhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     otherPhoneNumber{n} : (n is a number starting from 0 or 9)</BR>\n     tag{n} : (n is a number starting from 0 to 4)</BR>\n     department</BR>\n     street</BR>\n     city</BR>\n     postalCode</BR>\n     state</BR>\n     country</BR>\n     jobTitle</BR>\n     eMail</BR>\n     custom1</BR>\n     custom2</BR>\n     </BR>\n     delete: allows to delete an entry. upsert: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     Remark: empty fields are not taken into account. sync: allows to modify an entry (update or create if doesn't exists) with filled fields.</BR>\n     Remark: empty fields are taken into account (if a field is empty we will try to update it with empty value).</BR>\n     </BR>\n     return an {Object}  of synchronization data. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"%\"",
        "description": "CSV delimiter character (will be determined by analyzing the CSV file if not provided)",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CSV comment start character. Default value : %",
        "name": "comment"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "commandId if the check csv request comes from connector on behalf of admin command, ity will generates a report",
        "name": "commandId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"none\"",
        "description": "A text description of this import. Default value : none",
        "name": "label"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "string with the body of the CSV data.",
        "name": "csvData"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to specify the ldap domain on which the command should be run (in case of multi domain).",
        "name": "ldapConfigId"
      }
    ],
    "longname": "module:AdminService#importCSVdataForSynchronizeDirectory",
    "memberof": "module:AdminService",
    "$longname": "AdminService#importCSVdataForSynchronizeDirectory",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method ImportDirectoryCsvFile\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} companyId The company id of the directory to export.</BR>\n     * @param {string} fileFullPath The full file path to import.\n     * @param {string} label The label used for the import.\n     * @description\n     *      This API allows administrators to import the directory from a CSV file.</BR>\n     * @return {Promise<any>} .\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13208,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "ImportDirectoryCsvFile",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The company id of the directory to export.</BR>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The full file path to import.",
        "name": "fileFullPath"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The label used for the import.",
        "name": "label"
      }
    ],
    "description": "This API allows administrators to import the directory from a CSV file.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "."
      }
    ],
    "longname": "module:AdminService#ImportDirectoryCsvFile",
    "memberof": "module:AdminService",
    "$longname": "AdminService#ImportDirectoryCsvFile",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method importRainbowVoiceUsersWithCSVdata\n     * @since 2.5.1\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} companyId ompanyId of the users in the CSV file, default to admin's companyId\n     * @param {string} label a text description of this import. default undefined.\n     * @param {boolean} noemails=true disable email sending. default true.\n     * @param {boolean} nostrict=false create of an existing user and delete of an unexisting user are not errors. default false.\n     * @param {string} delimiter the CSV delimiter character (will be determined by analyzing the CSV file if not provided).\n     * @param {string} comment=\"%\" the CSV comment start character, use double quotes in field values to escape this character. default \"%\"\n     * @param {string} csvData the csv of the user and device to synchronize.\n     * @description\n     *      This API allows to perform provisioning for Rainbow Voice (Rainbow Users and Subscribers management + DDIs and Sip devices attachment) through a CSV UTF-8 encoded file. </BR>\n     *      The first line of the CSV data describes the content format. </BR>\n     *      Most of the field names are the field names of the admin createUser API. </BR>\n     *      Additional field used for Subscriber management is: shortNumber </BR>\n     *      Additional field used for DDI attachment is: ddiE164Number  </BR>\n     *      Additional field used for Sip device attachment is: macAddress </BR>\n     *  </BR>\n     *      Supported fields for \"user\" management are: </BR>\n     *      __action__    upsert, delete or detach </BR>\n     *      loginEmail    (mandatory) </BR>\n     *      password    (mandatory) </BR>\n     *      title </BR>\n     *      firstName </BR>\n     *      lastName </BR>\n     *      nickName </BR>\n     *      businessPhone{n}    (n is a number starting from 0 or 1) </BR>\n     *      mobilePhone{n}    (n is a number starting from 0 or 1) </BR>\n     *      email{n}    (n is a number starting from 0 or 1) </BR>\n     *      tags{n}    (n is a number starting from 0 to 4) </BR>\n     *      jobTitle </BR>\n     *      department </BR>\n     *      userInfo1 </BR>\n     *      userInfo2 </BR>\n     *      country </BR>\n     *      language </BR>\n     *      timezone </BR>\n     *      visibility </BR>\n     *      isInitialized </BR>\n     *      authenticationType </BR>\n     *      service{n} </BR>\n     *      accountType </BR>\n     *      photoUrl </BR>\n     *       </BR>\n     *      Supported fields for \"subscriber\" management are: </BR>\n     * </BR>\n     *      loginEmail    (mandatory) </BR>\n     *      shortNumber </BR>\n     * </BR>\n     *      Supported fields for \"SIP Device\" management are: </BR>\n     * </BR>\n     *      loginEmail    (mandatory) </BR>\n     *      macAddress </BR>\n     * </BR>\n     *      Supported fields for \"DDI\" management are: </BR>\n     * </BR>\n     *      loginEmail    (mandatory) </BR>\n     *      ddiE164Number </BR>\n     * </BR>\n     *      __action__ description : </BR>\n     *      upsert: allows to modify user (update or create if doesn't exist). It attaches also a subscriber (if field shortNumber is filled) , attaches a Sip Device (if field macAddress is filled) and attaches a DDI (if field ddiE164Number is filled) </BR>\n     *      Remark: empty fields are not taken into account. </BR>\n     * </BR>\n     *      detach: allows to detach subscriber (if field shortNumber is filled) ; to detach Sip Device (if field macAddress is filled) and to detach DDI (if field ddiE164Number is filled) </BR>\n     *      If field shortNumber is filled; detach action is done not only on subscriber but also on Sip Device and DDI automatically (even if fields macAddress and ddiE164Number are not filled) </BR>\n     *    </BR>\n     *      delete: allows to delete a user (if user is attached to a subscriber ; this subscriber + DDI + Sip device are automatically detached) </BR>\n     *       </BR>\n     *      Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. </BR>\n     *   </BR>\n     *      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. </BR>\n     * </BR>\n     *      Error codes: </BR>\n     *      2001 'company {companyId} has no Cloud Pbx' </BR>\n     *      2002 'ShortNumber {shortNumber} not in line with Cloud PBX Numbering Plan for company {companyId}' </BR>\n     *      2003 'ShortNumber {shortNumber} is already assigned to someone else inside this company {companyId}' </BR>\n     *      2004 'user {userId} is already assigned into another PBX of the company {companyId}' </BR>\n     *      2005 'failed to create subscriber for user {userId} with shortNumber {shortNumber} into system {systemId}' </BR>\n     *      2006 'failed to update subscriber number for user {userId} with this new shortNumber {shortNumber} into system {systemId}' </BR>\n     *      2007 'there is no existing Sip Device with this macAddress {macAddress}' </BR>\n     *      2008 'the existing Sip Device with this macAddress {macAddress} is not belonging to the requested company {companyId}' </BR>\n     *      2009 'the existing Sip Device with this macAddress {macAddress} is attached to someone else: userId={userId}' </BR>\n     *      2010 'another Sip Device with macAddress {macAddress} is attached to user={userId}' </BR>\n     *      2011 'cannot assign/unassign a Sip device to this user {userId} ; he is not yet a subscriber' </BR>\n     *      2012 'failed to attach this Sip Device {macAddress} with this user {userId} %s' </BR>\n     *      2013 'cannot assign a DDI to this user {userId} ; he is not yet a subscriber' </BR>\n     *      2014 'there is no existing DDI with this number {ddiE164Number}' </BR>\n     *      2015 'the existing DDI with this number {ddiE164Number} is attached to someone else: userId={userId}' </BR>\n     *      2016 'another DDI with number {ddiE164Number} is attached to user={userId}' </BR>\n     *      2017 'failed to attach this DDI {ddiE164Number} with this user {userId}' </BR>\n     *      2018 'failed to detach subscriber for user {userId}, no shortNumber is provided' </BR>\n     *      2019 'failed to detach this subscriber {shortNumber into the request} from this user {userId}, user is attached to another subscriber {real subscriber shortNumber}' </BR>\n     *      2020 'cannot detach a DDI to this user {userId} ; he is no more a subscriber' </BR>\n     *      2021 'failed to detach this DDI {ddiE164Number} with this user {userId}' </BR>\n     *      2022 'failed to detach this Sip Device {macAddress} with this user {userId}' </BR>\n     *      </BR>\n     *\n     *      Sample :\n     *      <code class=\"  language-csv\">\n     *          __action__;loginEmail                   ;shortNumber;   macAddress        ; ddiE164Number    ;password     ;title;firstName  ;lastName;language;service0         ;service1\n     *          upsert    ;lupin00@ejo.company.com      ;           ;                     ;                  ;Password_123 ;Mr   ;Arsene00   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n     *          upsert    ;lupin01@ejo.company.com      ; 81011     ;                     ;                  ;Password_123 ;Mr   ;Arsene01   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n     *          upsert    ;lupin02@ejo.company.com      ; 81012     ;   aa:bb:cc:dd:ee:02 ;                  ;Password_123 ;Mr   ;Arsene02   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n     *          delete    ;lupin13@ejo.company.com      ; 81023     ;   aa:bb:cc:dd:ee:13 ; 33298300513      ;Password_123 ;Mr   ;Arsene13   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n     *          delete    ;lupin14@ejo.company.com      ;           ;                     ;                  ;             ;     ;           ;        ;        ;                 ;</code>\n     *\n     *      return an {Object}  . </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8206,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "importRainbowVoiceUsersWithCSVdata",
    "since": "2.5.1",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ompanyId of the users in the CSV file, default to admin's companyId",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "a text description of this import. default undefined.",
        "name": "label"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "disable email sending. default true.",
        "name": "noemails"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": false,
        "description": "create of an existing user and delete of an unexisting user are not errors. default false.",
        "name": "nostrict"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the CSV delimiter character (will be determined by analyzing the CSV file if not provided).",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"%\"",
        "description": "the CSV comment start character, use double quotes in field values to escape this character. default \"%\"",
        "name": "comment"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the csv of the user and device to synchronize.",
        "name": "csvData"
      }
    ],
    "description": "This API allows to perform provisioning for Rainbow Voice (Rainbow Users and Subscribers management + DDIs and Sip devices attachment) through a CSV UTF-8 encoded file. </BR>\n     The first line of the CSV data describes the content format. </BR>\n     Most of the field names are the field names of the admin createUser API. </BR>\n     Additional field used for Subscriber management is: shortNumber </BR>\n     Additional field used for DDI attachment is: ddiE164Number  </BR>\n     Additional field used for Sip device attachment is: macAddress </BR>\n </BR>\n     Supported fields for \"user\" management are: </BR>\n     __action__    upsert, delete or detach </BR>\n     loginEmail    (mandatory) </BR>\n     password    (mandatory) </BR>\n     title </BR>\n     firstName </BR>\n     lastName </BR>\n     nickName </BR>\n     businessPhone{n}    (n is a number starting from 0 or 1) </BR>\n     mobilePhone{n}    (n is a number starting from 0 or 1) </BR>\n     email{n}    (n is a number starting from 0 or 1) </BR>\n     tags{n}    (n is a number starting from 0 to 4) </BR>\n     jobTitle </BR>\n     department </BR>\n     userInfo1 </BR>\n     userInfo2 </BR>\n     country </BR>\n     language </BR>\n     timezone </BR>\n     visibility </BR>\n     isInitialized </BR>\n     authenticationType </BR>\n     service{n} </BR>\n     accountType </BR>\n     photoUrl </BR>\n      </BR>\n     Supported fields for \"subscriber\" management are: </BR>\n</BR>\n     loginEmail    (mandatory) </BR>\n     shortNumber </BR>\n</BR>\n     Supported fields for \"SIP Device\" management are: </BR>\n</BR>\n     loginEmail    (mandatory) </BR>\n     macAddress </BR>\n</BR>\n     Supported fields for \"DDI\" management are: </BR>\n</BR>\n     loginEmail    (mandatory) </BR>\n     ddiE164Number </BR>\n</BR>\n     __action__ description : </BR>\n     upsert: allows to modify user (update or create if doesn't exist). It attaches also a subscriber (if field shortNumber is filled) , attaches a Sip Device (if field macAddress is filled) and attaches a DDI (if field ddiE164Number is filled) </BR>\n     Remark: empty fields are not taken into account. </BR>\n</BR>\n     detach: allows to detach subscriber (if field shortNumber is filled) ; to detach Sip Device (if field macAddress is filled) and to detach DDI (if field ddiE164Number is filled) </BR>\n     If field shortNumber is filled; detach action is done not only on subscriber but also on Sip Device and DDI automatically (even if fields macAddress and ddiE164Number are not filled) </BR>\n   </BR>\n     delete: allows to delete a user (if user is attached to a subscriber ; this subscriber + DDI + Sip device are automatically detached) </BR>\n      </BR>\n     Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. </BR>\n  </BR>\n     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. </BR>\n</BR>\n     Error codes: </BR>\n     2001 'company {companyId} has no Cloud Pbx' </BR>\n     2002 'ShortNumber {shortNumber} not in line with Cloud PBX Numbering Plan for company {companyId}' </BR>\n     2003 'ShortNumber {shortNumber} is already assigned to someone else inside this company {companyId}' </BR>\n     2004 'user {userId} is already assigned into another PBX of the company {companyId}' </BR>\n     2005 'failed to create subscriber for user {userId} with shortNumber {shortNumber} into system {systemId}' </BR>\n     2006 'failed to update subscriber number for user {userId} with this new shortNumber {shortNumber} into system {systemId}' </BR>\n     2007 'there is no existing Sip Device with this macAddress {macAddress}' </BR>\n     2008 'the existing Sip Device with this macAddress {macAddress} is not belonging to the requested company {companyId}' </BR>\n     2009 'the existing Sip Device with this macAddress {macAddress} is attached to someone else: userId={userId}' </BR>\n     2010 'another Sip Device with macAddress {macAddress} is attached to user={userId}' </BR>\n     2011 'cannot assign/unassign a Sip device to this user {userId} ; he is not yet a subscriber' </BR>\n     2012 'failed to attach this Sip Device {macAddress} with this user {userId} %s' </BR>\n     2013 'cannot assign a DDI to this user {userId} ; he is not yet a subscriber' </BR>\n     2014 'there is no existing DDI with this number {ddiE164Number}' </BR>\n     2015 'the existing DDI with this number {ddiE164Number} is attached to someone else: userId={userId}' </BR>\n     2016 'another DDI with number {ddiE164Number} is attached to user={userId}' </BR>\n     2017 'failed to attach this DDI {ddiE164Number} with this user {userId}' </BR>\n     2018 'failed to detach subscriber for user {userId}, no shortNumber is provided' </BR>\n     2019 'failed to detach this subscriber {shortNumber into the request} from this user {userId}, user is attached to another subscriber {real subscriber shortNumber}' </BR>\n     2020 'cannot detach a DDI to this user {userId} ; he is no more a subscriber' </BR>\n     2021 'failed to detach this DDI {ddiE164Number} with this user {userId}' </BR>\n     2022 'failed to detach this Sip Device {macAddress} with this user {userId}' </BR>\n     </BR>\n\n     Sample :\n     <code class=\"  language-csv\">\n         __action__;loginEmail                   ;shortNumber;   macAddress        ; ddiE164Number    ;password     ;title;firstName  ;lastName;language;service0         ;service1\n         upsert    ;lupin00@ejo.company.com      ;           ;                     ;                  ;Password_123 ;Mr   ;Arsene00   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n         upsert    ;lupin01@ejo.company.com      ; 81011     ;                     ;                  ;Password_123 ;Mr   ;Arsene01   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n         upsert    ;lupin02@ejo.company.com      ; 81012     ;   aa:bb:cc:dd:ee:02 ;                  ;Password_123 ;Mr   ;Arsene02   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n         delete    ;lupin13@ejo.company.com      ; 81023     ;   aa:bb:cc:dd:ee:13 ; 33298300513      ;Password_123 ;Mr   ;Arsene13   ;Lupin   ;fr      ;\"Enterprise Demo\";\"Voice Enterprise 3-Year prepaid\"\n         delete    ;lupin14@ejo.company.com      ;           ;                     ;                  ;             ;     ;           ;        ;        ;                 ;</code>\n\n     return an {Object}  . </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#importRainbowVoiceUsersWithCSVdata",
    "memberof": "module:AdminService",
    "$longname": "AdminService#importRainbowVoiceUsersWithCSVdata",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method initiateEmailTemplate\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n     * </br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`\n     * @description\n     *      This API allows to create basis for the template to customize. This skeleton is linked with the company. But is not yet activated\n     * An error occurs when the template name is not allowed or when it was already created for this company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | templateName | string | The name of the template |\n     * | companyId | string | The companyId for which the template is dedicated. |\n     * | subject | string | The email subject content. |\n     * | mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n     * | textFormat | string | The email content in text format. |\n     * | isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n     * | tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *   {\n     *          \"companyId\": \"598857f360c749e5890ff2f9\",\n     *          \"templateName\": \"enduser_account_terminated\",\n     *          \"mjmlFormat\": \"<mjml><mj-body></mj-body></mjml>\",\n     *          \"subject\": \"{{ __({phrase: \\\"Your Rainbow account has been closed\\\", locale: locale}) | safe }}\",\n     *          \"textFormat\": \"{{ __({phrase: \\\"Your administrator {{by_displayName}} (from company {{from_companyName}}) has closed your Rainbow account.\\\", locale: locale}, {by_displayName: by_displayName, from_companyName: from_companyName}) }}\\n\\n{{ __({phrase: \\\"This operation cannot be undone, and from now on, you will no longer have access to the Rainbow service.\\\", locale: locale}) }}\\n\\n{{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}:\\n{{ publicWebsiteURL }}\\n\\nCopyright © 2018 Alcatel-Lucent Enterprise\",\n     *          \"isActive\": false,\n     *          \"tested\" : false\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5106,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "initiateEmailTemplate",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n</br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`",
        "name": "templateName"
      }
    ],
    "description": "This API allows to create basis for the template to customize. This skeleton is linked with the company. But is not yet activated\nAn error occurs when the template name is not allowed or when it was already created for this company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| templateName | string | The name of the template |\n| companyId | string | The companyId for which the template is dedicated. |\n| subject | string | The email subject content. |\n| mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n| textFormat | string | The email content in text format. |\n| isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n| tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n\n </br>example of result :\n ```json\n  {\n         \"companyId\": \"598857f360c749e5890ff2f9\",\n         \"templateName\": \"enduser_account_terminated\",\n         \"mjmlFormat\": \"<mjml><mj-body></mj-body></mjml>\",\n         \"subject\": \"{{ __({phrase: \\\"Your Rainbow account has been closed\\\", locale: locale}) | safe }}\",\n         \"textFormat\": \"{{ __({phrase: \\\"Your administrator {{by_displayName}} (from company {{from_companyName}}) has closed your Rainbow account.\\\", locale: locale}, {by_displayName: by_displayName, from_companyName: from_companyName}) }}\\n\\n{{ __({phrase: \\\"This operation cannot be undone, and from now on, you will no longer have access to the Rainbow service.\\\", locale: locale}) }}\\n\\n{{ __({phrase: \\\"Learn more\\\", locale: locale}) }} {{ __({phrase: \\\"about Rainbow\\\", locale: locale}) }}:\\n{{ publicWebsiteURL }}\\n\\nCopyright © 2018 Alcatel-Lucent Enterprise\",\n         \"isActive\": false,\n         \"tested\" : false\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#initiateEmailTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#initiateEmailTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method initiateLogsContext\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users Logs\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string}  occurrenceDate  Date when the issue occurred. If not provided, occurrenceDate is set by default to the issue's creation date.\n     * @param {string} occurrenceDateTimezone Timezone name when the issue occurred. </BR>\n     * Allowed values: one of the timezone names defined in IANA tz database. </BR>\n     * Timezone name are composed as follow: Area/Location (ex: Europe/Paris, America/New_York,...) </BR>\n     *  </BR>\n     * If not provided, occurrenceDateTimezone is set to the user's timezone if available, to \"UTC\" otherwise. </BR>\n     * @param {string} type Initial scenario </BR>\n     * * `feedback`: The customer submits an issue. `userId` parameter must be the logged in user Id in this case. </BR>\n     * * `ask`: A bot or an admin has contacted a customer to complete an issue </BR>\n     * </BR>\n     * Possibles values : `feedback`, `ask` </BR>\n     * @param {string} description Issue description\n     * @param {string} resourceId Mandatory when type is ask, this is the resource of the device from which we need to get logs (in case of multi-devices configuration)\n     * @param {string} externalRef Free field\n     * @param {string} device Device type </BR>\n     * Note: room corresponds to Rainbow Room </BR>\n     * Possibles values : android, desktop, ios, room, web </BR>\n     * @param {Array<string>} attachments An Array of file descriptor Id. </BR>\n     * Forbidden when type is ask </BR>\n     * Mandatory with at least one valid fileId when type is feedback When the logs context is created, the logged in user looses his ownership for theses files. </BR>\n     * @param {string} version Device version\n     * @param {object} deviceDetails When relevant, optional details regarding the device on which the issue occurred </BR>\n     * * hardware optionnel Object When relevant, details regarding the hardware of the device on which the issue occurred </BR>\n     * * manufacturer optionnel string When relevant, manufacturer of the device on which the issue occurred </BR>\n     * * model optionnel string When relevant, model of the device on which the issue occurred </BR>\n     * * os optionnel Object When relevant, details regarding the Operating System on which the issue occurred </BR>\n     * * name optionnel string When relevant, name of the Operating System on which the issue occurred </BR>\n     * * version optionnel string When relevant, version of the Operating System on which the issue occurred </BR>\n     * * browser optionnel Object When relevant, details regarding the browser on which the issue occurred </BR>\n     * * name optionnel string When relevant, name of the browser on which the issue occurred </BR>\n     * * version optionnel string When relevant, name of the browser on which the issue occurred </BR>\n     * @description\n     *     This API allows to Initialise a context to submit logs. This logs context may contains all fields necessary to finally build a ticket to submit an issue. </BR>\n     * </BR>\n     * * userId </BR>\n     * * companyId </BR>\n     * * device </BR>\n     * * version </BR>\n     * * occurrenceDate </BR>\n     * * occurrenceDateTimezone </BR>\n     * * description </BR>\n     * * attachments </BR>\n     * </BR>\n     *  When type is `feedback`, some files **>may**\\> be attached but are not mandatory. Inconsistencies may lead to an error (errorDetailsCode: 409003 / Attachments inconsistency) </BR>\n     *   </BR>\n     * * file doesn't exist </BR>\n     * * file not uploaded </BR>\n     * * file doesn't belong to the userId </BR>\n     * * file is not a log file (the file descriptor must include the field 'tags.purpose' = \"logs\" or 'tags.purpose' = \"client_logs\" </BR>\n     * </BR>\n     *  When type is `ask`, resourceId field is mandatory. So that the customercare portal is able to send a Stanza/Message to the right user's device to get his agreement to receive his logs. </BR>\n     *  For the case 'As Admin, ask to manage a user', the administrator must use the `getListOfResourcesForUser` API </BR>\n     *  to select the right resource. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14787,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "initiateLogsContext",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Date when the issue occurred. If not provided, occurrenceDate is set by default to the issue's creation date.",
        "name": "occurrenceDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Timezone name when the issue occurred. </BR>\nAllowed values: one of the timezone names defined in IANA tz database. </BR>\nTimezone name are composed as follow: Area/Location (ex: Europe/Paris, America/New_York,...) </BR>\n </BR>\nIf not provided, occurrenceDateTimezone is set to the user's timezone if available, to \"UTC\" otherwise. </BR>",
        "name": "occurrenceDateTimezone"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Initial scenario </BR>\n* `feedback`: The customer submits an issue. `userId` parameter must be the logged in user Id in this case. </BR>\n* `ask`: A bot or an admin has contacted a customer to complete an issue </BR>\n</BR>\nPossibles values : `feedback`, `ask` </BR>",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Issue description",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Mandatory when type is ask, this is the resource of the device from which we need to get logs (in case of multi-devices configuration)",
        "name": "resourceId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field",
        "name": "externalRef"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Device type </BR>\nNote: room corresponds to Rainbow Room </BR>\nPossibles values : android, desktop, ios, room, web </BR>",
        "name": "device"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "An Array of file descriptor Id. </BR>\nForbidden when type is ask </BR>\nMandatory with at least one valid fileId when type is feedback When the logs context is created, the logged in user looses his ownership for theses files. </BR>",
        "name": "attachments"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Device version",
        "name": "version"
      },
      {
        "type": {
          "names": [
            "object"
          ]
        },
        "description": "When relevant, optional details regarding the device on which the issue occurred </BR>\n* hardware optionnel Object When relevant, details regarding the hardware of the device on which the issue occurred </BR>\n* manufacturer optionnel string When relevant, manufacturer of the device on which the issue occurred </BR>\n* model optionnel string When relevant, model of the device on which the issue occurred </BR>\n* os optionnel Object When relevant, details regarding the Operating System on which the issue occurred </BR>\n* name optionnel string When relevant, name of the Operating System on which the issue occurred </BR>\n* version optionnel string When relevant, version of the Operating System on which the issue occurred </BR>\n* browser optionnel Object When relevant, details regarding the browser on which the issue occurred </BR>\n* name optionnel string When relevant, name of the browser on which the issue occurred </BR>\n* version optionnel string When relevant, name of the browser on which the issue occurred </BR>",
        "name": "deviceDetails"
      }
    ],
    "description": "This API allows to Initialise a context to submit logs. This logs context may contains all fields necessary to finally build a ticket to submit an issue. </BR>\n</BR>\n* userId </BR>\n* companyId </BR>\n* device </BR>\n* version </BR>\n* occurrenceDate </BR>\n* occurrenceDateTimezone </BR>\n* description </BR>\n* attachments </BR>\n</BR>\n When type is `feedback`, some files **>may**\\> be attached but are not mandatory. Inconsistencies may lead to an error (errorDetailsCode: 409003 / Attachments inconsistency) </BR>\n  </BR>\n* file doesn't exist </BR>\n* file not uploaded </BR>\n* file doesn't belong to the userId </BR>\n* file is not a log file (the file descriptor must include the field 'tags.purpose' = \"logs\" or 'tags.purpose' = \"client_logs\" </BR>\n</BR>\n When type is `ask`, resourceId field is mandatory. So that the customercare portal is able to send a Stanza/Message to the right user's device to get his agreement to receive his logs. </BR>\n For the case 'As Admin, ask to manage a user', the administrator must use the `getListOfResourcesForUser` API </BR>\n to select the right resource. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |"
      }
    ],
    "longname": "module:AdminService#initiateLogsContext",
    "memberof": "module:AdminService",
    "$longname": "AdminService#initiateLogsContext",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method inviteUserInCompany\n     * @instance\n     * @description\n     *      Invite a new user to join a company in Rainbow </BR>\n     * @param {string} email The email address of the contact to invite\n     * @param {string} companyId     The id of the company where the user will be invited in\n     * @param {string} language=\"en-US\"  The language of the message to send. Default is `en-US`\n     * @param {string} message=\"\" A custom message to send\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Created invitation or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1704,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Created invitation or an error object depending on the result",
        "value": "{Object} - Created invitation or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "inviteUserInCompany",
    "scope": "instance",
    "description": "Invite a new user to join a company in Rainbow </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The email address of the contact to invite",
        "name": "email"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The id of the company where the user will be invited in",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"en-US\"",
        "description": "The language of the message to send. Default is `en-US`",
        "name": "language"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"\"",
        "description": "A custom message to send",
        "name": "message"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#inviteUserInCompany",
    "memberof": "module:AdminService",
    "$longname": "AdminService#inviteUserInCompany",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method listCloudPBXDDINumbersAssociated\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {number} limit=100 Allow to specify the number of DDI numbers to retrieve. Default : 100.\n     * @param {number} offset Allow to specify the position of first DDI number to retrieve (first site if not specified)\n     * Warning: if offset > total, no results are returned\n     * @param {string} sortField=\"number\" Sort DDI numbers list based on the given field. Default : \"number\"\n     * @param {number} sortOrder=1 Specify order when sorting DDI numbers list. Default : 1. Valid values : -1, 1.\n     * @param {boolean} isAssignedToUser Allows to filter DDI numbers list if they are assigned to a user or not\n     * @param {boolean} isAssignedToGroup Allows to filter DDI numbers list if they are assigned to a group or not (e.g. hunting group)\n     * @param {boolean} isAssignedToIVR Allows to filter DDI numbers list if they are assigned to a IVR or not\n     * @param {boolean} isAssignedToAutoAttendant Allows to filter DDI numbers list if they are assigned to a Auto attendant or not\n     * @param {boolean} isAssigned Allows to filter DDI numbers list if they are assigned (to a user or to a group or to a IVR) or not assigned\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers\n     * @description\n     *      This API allows to get the list of DDI numbers associated to a CloudPBX.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11015,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers"
      }
    ],
    "kind": "function",
    "name": "listCloudPBXDDINumbersAssociated",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of DDI numbers to retrieve. Default : 100.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the position of first DDI number to retrieve (first site if not specified)\nWarning: if offset > total, no results are returned",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"number\"",
        "description": "Sort DDI numbers list based on the given field. Default : \"number\"",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting DDI numbers list. Default : 1. Valid values : -1, 1.",
        "name": "sortOrder"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter DDI numbers list if they are assigned to a user or not",
        "name": "isAssignedToUser"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter DDI numbers list if they are assigned to a group or not (e.g. hunting group)",
        "name": "isAssignedToGroup"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter DDI numbers list if they are assigned to a IVR or not",
        "name": "isAssignedToIVR"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter DDI numbers list if they are assigned to a Auto attendant or not",
        "name": "isAssignedToAutoAttendant"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter DDI numbers list if they are assigned (to a user or to a group or to a IVR) or not assigned",
        "name": "isAssigned"
      }
    ],
    "async": true,
    "description": "This API allows to get the list of DDI numbers associated to a CloudPBX.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#listCloudPBXDDINumbersAssociated",
    "memberof": "module:AdminService",
    "$longname": "AdminService#listCloudPBXDDINumbersAssociated",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method readAllTicketsOnASameCompany\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users ticket\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @description\n     *     This API allows to read all context regarding submitted tickets to Zendesk in the same company . The company is calculated with userId information found in DB. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * example of result :\n     * ```json\n     * [\n     * {\n     * \"externalRef\": \"xxxxxxx\",\n     * \"internalRef\": \"xxxxxxx\",\n     * \"subject\": \"ringing problem\",\n     * \"description\": \"Where is the volume button of my iphone?\",\n     * \"additionalDescription\": \"Where is my rainbow icon on my mac? \",\n     * \"resource\": \"web\\_win\\_xxxxx\",\n     * \"logs\": []\n     * },\n     * {\n     * \"externalRef\": \"xxxxxxx\",\n     * \"internalRef\": \"xxxxxxx\",\n     * \"subject\": \"Screen problem\",\n     * \"description\": \"I forgot to turn on my iphone, the screen stay in black, I disappointed to not receive any Rainbow notification.\",\n     * \"resource\": \"web\\_win\\_xxxxx\"\n     * }\n     * ]\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15669,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "readAllTicketsOnASameCompany",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users ticket",
        "value": "Customer Care - Users ticket"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      }
    ],
    "description": "This API allows to read all context regarding submitted tickets to Zendesk in the same company . The company is calculated with userId information found in DB. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\nexample of result :\n```json\n[\n{\n\"externalRef\": \"xxxxxxx\",\n\"internalRef\": \"xxxxxxx\",\n\"subject\": \"ringing problem\",\n\"description\": \"Where is the volume button of my iphone?\",\n\"additionalDescription\": \"Where is my rainbow icon on my mac? \",\n\"resource\": \"web\\_win\\_xxxxx\",\n\"logs\": []\n},\n{\n\"externalRef\": \"xxxxxxx\",\n\"internalRef\": \"xxxxxxx\",\n\"subject\": \"Screen problem\",\n\"description\": \"I forgot to turn on my iphone, the screen stay in black, I disappointed to not receive any Rainbow notification.\",\n\"resource\": \"web\\_win\\_xxxxx\"\n}\n]\n```"
      }
    ],
    "longname": "module:AdminService#readAllTicketsOnASameCompany",
    "memberof": "module:AdminService",
    "$longname": "AdminService#readAllTicketsOnASameCompany",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method readAnAtriumTicketInformation\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users ticket\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @description\n     *     This API allows to read a context from a submitted ticket to Zendesk. </BR>\n     *     This context may contains </BR>\n     * * externalRef </BR>\n     * * subject </BR>\n     * * description </BR>\n     * * additional description </BR>\n     * * resource </BR>\n     * * logs. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * example of result :\n     * ```json\n     * {\n     * \"externalRef\": \"xxxxxxx\",\n     * \"internalRef\": \"xxxxxxx\",\n     * \"subject\": \"ringing problem\",\n     * \"description\": \"Hello Houston, we've got a problem.\",\n     * \"additionalDescription\": \"my phone neither\",\n     * \"resource\": \"web\\_win\\_xxxxx\",\n     * \"logs\": []\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15614,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "readAnAtriumTicketInformation",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users ticket",
        "value": "Customer Care - Users ticket"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      }
    ],
    "description": "This API allows to read a context from a submitted ticket to Zendesk. </BR>\n    This context may contains </BR>\n* externalRef </BR>\n* subject </BR>\n* description </BR>\n* additional description </BR>\n* resource </BR>\n* logs. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\nexample of result :\n```json\n{\n\"externalRef\": \"xxxxxxx\",\n\"internalRef\": \"xxxxxxx\",\n\"subject\": \"ringing problem\",\n\"description\": \"Hello Houston, we've got a problem.\",\n\"additionalDescription\": \"my phone neither\",\n\"resource\": \"web\\_win\\_xxxxx\",\n\"logs\": []\n}\n```"
      }
    ],
    "longname": "module:AdminService#readAnAtriumTicketInformation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#readAnAtriumTicketInformation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method rebootCloudPBXSIPDevice\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} deviceId Unique identifier of the SIP device access will be revoked\n     * @description\n     *      This API allows  to reboot a SIP deskphone device. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10513,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "rebootCloudPBXSIPDevice",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device access will be revoked",
        "name": "deviceId"
      }
    ],
    "description": "This API allows  to reboot a SIP deskphone device. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#rebootCloudPBXSIPDevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#rebootCloudPBXSIPDevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method registerUserByEmailFirstStep\n     * @param  {Object} userInfo user info requesting a self-register </BR>\n     *  { </BR>\n     *   // Email of the user requesting a self-register email with a temporary token </BR>\n     *   // Possibles values : /^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/ </BR>\n     *   \"email\": string, </BR>\n     * </BR>\n     *   // Language of the email notification. </BR>\n     *   // Language format is composed of locale using format ISO 639-1, with optionally the regional variation using ISO 3166‑1 alpha-2 (separated by hyphen). </BR>\n     *   // Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ... </BR>\n     *   // More information about the format can be found on this link: https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes </BR>\n     *   // If lang is not provided (or no translation available for provided language), email is sent in English. </BR>\n     *   // Valeur par défaut : en </BR>\n     *   // Size : 2..5 </BR>\n     *   \"lang\": string </BR>\n     * } </BR>\n     *\n     * @instance\n     * @description\n     *      This API allows to send a self-register email to a user. A temporary user token is generated and send in the email body. This token is required in the self register validation workflow with API `registerUserByEmailSecondStepWithToken`.</BR>\n     * @async\n     * @category Companies and users management\n     * @fulfil {Object} - Json object containing details regarding the operation.\n     * @category async\n     * @return {Promise<Object>} - result :\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Details regarding the operation |\n     * | status | String | Status of the operation |\n     * | email | String | Email address used to send the self-register email |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1879,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing details regarding the operation.",
        "value": "{Object} - Json object containing details regarding the operation."
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "registerUserByEmailFirstStep",
    "params": [
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "user info requesting a self-register </BR>\n { </BR>\n  // Email of the user requesting a self-register email with a temporary token </BR>\n  // Possibles values : /^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/ </BR>\n  \"email\": string, </BR>\n</BR>\n  // Language of the email notification. </BR>\n  // Language format is composed of locale using format ISO 639-1, with optionally the regional variation using ISO 3166‑1 alpha-2 (separated by hyphen). </BR>\n  // Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ... </BR>\n  // More information about the format can be found on this link: https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes </BR>\n  // If lang is not provided (or no translation available for provided language), email is sent in English. </BR>\n  // Valeur par défaut : en </BR>\n  // Size : 2..5 </BR>\n  \"lang\": string </BR>\n} </BR>",
        "name": "userInfo"
      }
    ],
    "scope": "instance",
    "description": "This API allows to send a self-register email to a user. A temporary user token is generated and send in the email body. This token is required in the self register validation workflow with API `registerUserByEmailSecondStepWithToken`.</BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object>"
          ]
        },
        "description": "- result :\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Details regarding the operation |\n| status | String | Status of the operation |\n| email | String | Email address used to send the self-register email |"
      }
    ],
    "longname": "module:AdminService#registerUserByEmailFirstStep",
    "memberof": "module:AdminService",
    "$longname": "AdminService#registerUserByEmailFirstStep",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method registerUserByEmailSecondStepWithToken\n     * @param  {Object} userLoginInfo user info requesting a self-register. </BR>\n     * { </BR>\n     *   // User email address (used for login). </BR>\n     *   // Must be unique (409 error is returned if a user already exists with the same email address).\n     *   \"loginEmail\": string, </BR>\n     * </BR>\n     *   // User password. </BR>\n     *   // Rules: </BR>\n     *   // - More than 8 characters, </BR>\n     *   //   ⚠️ Warning: the minimal password length will soon be increased to 12, planned to be effective mid-June 2023 (8 characters are still accepted until this date). </BR>\n     *   // - At least 1 capital letter, </BR>\n     *   // - 1 number, </BR>\n     *   // - 1 special character. </BR>\n     *   \"password\": string, </BR>\n     * </BR>\n     *   // User temporary token (obtained from [POST /api/rainbow/enduser/v1.0/notifications/emails/self-register](#api-enduser_notifications_emails-EmailSelfRegister) API). </BR>\n     *   // Do not use if `invitationId`, `joinCompanyInvitationId`, `joinCompanyLinkId` or `openInviteId` is specified. </BR>\n     *   // Size : 6 </BR>\n     *   \"temporaryToken\": string </BR>\n     * } </BR>\n     *\n     * @instance\n     * @description\n     *      This API allows a user to self register a user account in Rainbow application. The token must be retrieved with `registerUserByEmailFirstStep` </BR>\n     * @async\n     * @category Companies and users management\n     * @fulfil {Object} - Json object containing details regarding the operation.\n     * @category async\n     @return {Promise<Object>} - result :\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when the user is assigned to both file servers.<br><br>* `same_than_company`: The same mainStorage setting than the user's company's is applied to the user. if the mainStorage of the company is changed the user's mainStorage will use this company new setting.<br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n     * | useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `same_than_company`: The same useExternalStorage setting than the user's company's is applied to the user. if the useExternalStorage of the company is changed the user's useExternalStorage will use this company new setting.<br>* `enabled`: Assign the user to the External File Storage.<br>* `disabled`: Unassign the user from the External File Storage. |\n     * | useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `same_than_company`: The same useRainbowStorage setting than the user's company's is applied to the user. if the useRainbowStorage of the company is changed the user's useRainbowStorage will use this company new setting.<br>* `enabled`: Assign the user to the default Rainbow File Storage.<br>* `disabled`: Unassign the user from the default Rainbow File Storage. |\n     * | canSetInvisiblePresenceCustomisation | String | Select the capability for a user to set invisible presence.  <br>Defines how a user can set invisible presence.  <br>canSetInvisiblePresenceCustomisation can be:<br><br>* `same_than_company`: The same canSetInvisiblePresenceCustomisation setting than the user's company's is applied to the user. if the canSetInvisiblePresenceCustomisation of the company is changed the user's canSetInvisiblePresenceCustomisation will use this company new setting.<br>* `enabled`: The user can set invisible presence.<br>* `disabled`: The user can't set invisible presence. |\n     * | canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines how a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `same_than_company`: The same canCallParticipantPbxNumberCustomisation setting than the user's company's is applied to the user. if the canCallParticipantPbxNumberCustomisation of the company is changed the user's canCallParticipantPbxNumberCustomisation will use this company new setting.<br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n     * | canUseTaskCustomisation | String | Activate/Deactivate the capability for a user to use Rainbow tasks.  <br>Defines if a user can use Rainbow tasks.  <br>canUseTaskCustomisation can be:<br><br>* `same_than_company`: The same canUseTaskCustomisation setting than the user's company's is applied to the user. if the canUseTaskCustomisation of the company is changed the user's canUseTaskCustomisation will use this company new setting.<br>* `enabled`: The user can use Rainbow tasks.<br>* `disabled`: The user can't use Rainbow tasks. |\n     * | canUseSendReportCustomisation | String | Activate/Deactivate the capability for a user to send report.  <br>Defines if a user can send report.  <br>canUseSendReportCustomisation can be:<br><br>* `same_than_company`: The same canUseSendReportCustomisation setting than the user's company's is applied to the user. if the canUseSendReportCustomisation of the company is changed the user's canUseSendReportCustomisation will use this company new setting.<br>* `enabled`: The user can send report.<br>* `disabled`: The user can't send report. |\n     * | canUseTestConfigCustomisation | String | Activate/Deactivate the capability for a user to test the configuration.  <br>Defines if a user can test the configuration.  <br>canUseTestConfigCustomisation can be:<br><br>* `same_than_company`: The same canUseTestConfigCustomisation setting than the user's company's is applied to the user. if the canUseTestConfigCustomisation of the company is changed the user's canUseTestConfigCustomisation will use this company new setting.<br>* `enabled`: The user can test the configuration.<br>* `disabled`: The user can't test the configuration. |\n     * | canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `same_than_company`: The same canDownloadAppCustomisation setting than the user's company's is applied to the user. if the canDownloadAppCustomisation of the company is changed the user's canDownloadAppCustomisation will use this company new setting.<br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n     * | canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `same_than_company`: The same canAccessStoreCustomisation setting than the user's company's is applied to the user. if the canAccessStoreCustomisation of the company is changed the user's canAccessStoreCustomisation will use this company new setting.<br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n     * | canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `same_than_company`: The same canAccessHelpCenterCustomisation setting than the user's company's is applied to the user. if the canAccessHelpCenterCustomisation of the company is changed the user's canAccessHelpCenterCustomisation will use this company new setting.<br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n     * | canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `same_than_company`: The same canAccessFaqCustomisation setting than the user's company's is applied to the user. if the canAccessFaqCustomisation of the company is changed the user's canAccessFaqCustomisation will use this company new setting.<br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n     * | canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `same_than_company`: The same canAccessWhatsNew setting than the user's company's is applied to the user. if the canAccessWhatsNew of the company is changed the user's canAccessWhatsNew will use this company new setting.<br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n     * | imPopupDuration optionnel | Number | Defines the IM popup duration.<br><br>* If the imPopupDuration is not defined or null, the same imPopupDuration setting than the user's company's is applied to the user.<br>* Otherwise, a new imPopupDuration is set for the user. |\n     * | useTeamsMode optionnel | String | Activate/Deactivate the capability for a user to use the Teams mode.  <br>Defines if a user can use the Teams mode.  <br>useTeamsMode can be:<br><br>* `same_than_company`: The same useTeamsMode setting than the user's company's is applied to the user. if the useTeamsMode of the company is changed the user's useTeamsMode will use this company new setting.<br>* `enabled`: The user can use the Teams mode.<br>* `disabled`: The user can't use the Teams mode. |\n     * | useSoftPhoneMode | String | Activate/Force/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `same_than_company`: The same useSoftPhoneMode setting than the user's company's is applied to the user. if the useSoftPhoneMode of the company is changed the user's useSoftPhoneMode will use this company new setting.<br>* `enabled`: The user can use the softphone mode.<br>* `forced`: The user can use the softphone mode only on Web application.<br>* `disabled`: The user can't use the softphone mode. |\n     * | useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `same_than_company`: The same useComputerMode setting than the user's company's is applied to the user. if the useComputerMode of the company is changed the user's useComputerMode will use this company new setting.<br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n     * | useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `same_than_company`: The same useOtherPhoneMode setting than the user's company's is applied to the user. if the useOtherPhoneMode of the company is changed the user's useOtherPhoneMode will use this company new setting.<br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n     * | meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `same_than_company`: The same meetingRecordingCustomisation setting than the user's company's is applied to the user. if the meetingRecordingCustomisation of the company is changed the user's meetingRecordingCustomisation will use this company new setting.<br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n     * | eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for Elearning progress.  <br>Defines if a user can earn badges for Elearning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `same_than_company`: The same eLearningGamificationCustomisation setting than the user's company's is applied to the user. if the eLearningGamificationCustomisation of the company is changed the user's eLearningGamificationCustomisation will use this company new setting.<br>* `enabled`: The user can earn badges for Elearning progress.<br>* `disabled`: The user can't earn badges for Elearning progress. |\n     * | eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a Elearning training.  <br>Defines if a user can participate on an Elearning training.  <br>eLearningCustomisation can be:<br><br>* `same_than_company`: The same eLearningCustomisation setting than the user's company's is applied to the user. if the useSpeakingTimeStatistics of the company is changed the user's eLearningCustomisation will use this company new setting.<br>* `enabled`: The user can participate on an Elearning training.<br>* `disabled`: The user can't participate on an Elearning training. |\n     * | useWebRTCAudioAsRBVoiceUser | String | Technical flag for Rainbow voice users.  <br>Whatever the customisation template applied for the user, if he has a Rainbow Voice licence useWebRTCAudioAsRBVoiceUser is enabled else it is disabled. |\n     * | useRoomAsRBVoiceUser | String | Technical flag for Rainbow voice users.  <br>Whatever the customisation template applied for the user, if he has a Rainbow Voice licence useRoomAsRBVoiceUser is enabled else it is disabled. |\n     * | selectedAppCustomisationTemplate | String | To log the last template applied to the user. |\n     * | useSpeakingTimeStatistics | String | Activate/Deactivate the capability for a user to see speaking time statistics.  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `same_than_company`: The same useSpeakingTimeStatistics setting than the user's company's is applied to the user. if the useSpeakingTimeStatistics of the company is changed the user's useSpeakingTimeStatistics will use this company new setting.<br>* `enabled`: The user can use meeting speaking time statistics.<br>* `disabled`: The user can't use meeting speaking time statistics. |\n     * | readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `same_than_company`: The same readReceiptsCustomisation setting than the user's company's is applied to the user. if the readReceiptsCustomisation of the company is changed the user's readReceiptsCustomisation will use this company new setting.<br>* `enabled`: The user allows the sender to check if an IM is read.<br>* `disabled`: The user doesn't allow the sender to check if an IM is read. |\n     * | useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `same_than_company`: The same useDialOutCustomisation setting than the user's company's is applied to the user. if the useDialOutCustomisation of the company is changed the user's useDialOutCustomisation will use this company new setting.<br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n     * | forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the capability for a user to loose the ownership on one file..  <br>One user can drop the ownership to another Rainbow user of the same company.  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `same_than_company`: The same forbidFileOwnerChangeCustomisation setting than the user's company's is applied to the user. if the forbidFileOwnerChangeCustomisation of the company is changed the user's forbidFileOwnerChangeCustomisation will use this company new setting.<br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n     * | fileTransferCustomisation | String | Activate/Deactivate the capability for a user to copy a file from a conversation then share it inside another conversation.  <br>The file cannot be re-shared.  <br>fileTransferCustomisation can be:<br><br>* `same_than_company`: The same fileTransferCustomisation setting than the user's company's is applied to the user. if the fileTransferCustomisation of the company is changed the user's fileTransferCustomisation will use this company new setting.<br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n     * | fileCopyCustomisation | String | Activate/Deactivate the capability for one user to copy any file he receives in his personal cloud space  <br>fileCopyCustomisation can be:<br><br>* `same_than_company`: The same fileCopyCustomisation setting than the user's company's is applied to the user. if the fileCopyCustomisation of the company is changed the user's fileCopyCustomisation will use this company new setting.<br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n     * | useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `same_than_company`: The same useGifCustomisation setting than the user's company's is applied to the user. if the useGifCustomisation of the company is changed the user's useGifCustomisation will use this company new setting.<br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n     * | recordingConversationCustomisation | String | Activate/Deactivate the capability for a user to record a conversation.  <br>Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>recordingConversationCustomisation can be:<br><br>* `same_than_company`: The same recordingConversationCustomisation setting than the user's company's is applied to the user. if the recordingConversationCustomisation of the company is changed the user's recordingConversationCustomisation will use this company new setting.<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n     * | changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `same_than_company`: The same changeSettingsCustomisation setting than the user's company's is applied to the user. if the changeSettingsCustomisation of the company is changed the user's changeSettingsCustomisation will use this company new setting.<br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. |\n     * | changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify telephony settings.  <br>Define if a user has the right to modify some telephony settigs like forward activation...  <br>changeTelephonyCustomisation can be:<br><br>* `same_than_company`: The same changeTelephonyCustomisation setting than the user's company's is applied to the user. if the changeTelephonyCustomisation of the company is changed the user's changeTelephonyCustomisation will use this company new setting.<br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n     * | overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `same_than_company`: The same overridePresenceCustomisation setting than the user's company's is applied to the user. if the overridePresenceCustomisation of the company is changed the user's overridePresenceCustomisation will use this company new setting.<br>* `enabled`: The user can change his presence.<br>* `disabled`: The user can't change his presence. |\n     * | fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage..  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `same_than_company`: The same fileStorageCustomisation setting than the user's company's is applied to the user. if the fileStorageCustomisation of the company is changed the user's fileStorageCustomisation will use this company new setting.<br>* `enabled`: The user can manage and share files.<br>* `disabled`: The user can't manage and share files. |\n     * | userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `same_than_company`: The same userProfileCustomisation setting than the user's company's is applied to the user. if the userProfileCustomisation of the company is changed the user's userProfileCustomisation will use this company new setting.<br>* `enabled`: The user can modify his profile.<br>* `disabled`: The user can't modify his profile. |\n     * | instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `same_than_company`: The same instantMessagesCustomisation setting than the user's company's is applied to the user. if the instantMessagesCustomisation of the company is changed the user's instantMessagesCustomisation will use this company new setting.<br>* `enabled`: The user can use instant messages.<br>* `disabled`: The user can't use instant messages. |\n     * | useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCAudioCustomisation can be:<br><br>* `same_than_company`: The same useWebRTCAudioCustomisation setting than the user's company's is applied to the user. if the useWebRTCAudioCustomisation of the company is changed the user's useWebRTCAudioCustomisation will use this company new setting.<br>* `enabled`: The user can switch to a Web RTC audio conversation.<br>* `disabled`: The user can't switch to a Web RTC audio conversation. |\n     * | useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `same_than_company`: The same useWebRTCVideoCustomisation setting than the user's company's is applied to the user. if the useWebRTCVideoCustomisation of the company is changed the user's useWebRTCVideoCustomisation will use this company new setting.<br>* `enabled`: The user can switch to a Web RTC video conversation.<br>* `disabled`: The user can't switch to a Web RTC video conversation. |\n     * | useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `same_than_company`: The same useChannelCustomisation setting than the user's company's is applied to the user. if the useChannelCustomisation of the company is changed the user's useChannelCustomisation will use this company new setting.<br>* `enabled`: The user can use some channels.<br>* `disabled`: The user can't use some channel. |\n     * | phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `same_than_company`: The same phoneMeetingCustomisation setting than the user's company's is applied to the user. if the phoneMeetingCustomisation of the company is changed the user's phoneMeetingCustomisation will use this company new setting.<br>* `enabled`: The user can join phone meetings.<br>* `disabled`: The user can't join phone meetings. |\n     * | useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `same_than_company`: The same useRoomCustomisation setting than the user's company's is applied to the user. if the useRoomCustomisation of the company is changed the user's useRoomCustomisation will use this company new setting.<br>* `enabled`: The user can use bubbles.<br>* `disabled`: The user can't use bubbles. |\n     * | softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services but to focus to telephony services  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `same_than_company`: The same softphoneOnlyCustomisation setting than the user's company's is applied to the user. if the softphoneOnlyCustomisation of the company is changed the user's softphoneOnlyCustomisation will use this company new setting.<br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n     * | userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName)  <br>Define if the user can change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `same_than_company`: The same userTitleNameCustomisation setting than the user's company's is applied to the user. if the userTitleNameCustomisation of the company is changed the user's userTitleNameCustomisation will use this company new setting.<br>* `enabled`: Whatever the userTitleNameCustomisation of the company setting, the user can change some profile data.<br>* `disabled`: Whatever the userTitleNameCustomisation of the company setting, the user can't change some profile data. |\n     * | fileSharingCustomisation | String | Activate/Deactivate file sharing capability per user  <br>Define if the user can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `same_than_company`: The same fileSharingCustomisation setting than the user's company's is applied to the user. if the fileSharingCustomisation of the company is changed the user's fileSharingCustomisation will use this company new setting.<br>* `enabled`: Whatever the fileSharingCustomisation of the company setting, the user can use the file sharing service.<br>* `disabled`: Whatever the fileSharingCustomisation of the company setting, the user can't use the file sharing service. |\n     * | data | Object | User Object. |\n     * | isInDefaultCompany | Boolean | Is user in default company |\n     * | id  | String | User unique identifier |\n     * | loginEmail | String | User email address (used for login) |\n     * | loginPhone optionnel | Object | User phone number (used for login) |\n     * | E164 | String | User phone number in E164 format. Used for login and to send passwordless code to the user by SMS when passwordless authentication is enabled for this user with a policy configured to send the code by SMS.<br><br>Ordre de grandeur : `1..32` |\n     * | isValidated | Boolean | Specifies that the loginPhone.E164 can be used to authenticate the user. |\n     * | national optionnel | String | User phone number in national format. Can be used for login, but there is a risk several users have a same national number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n     * | nationalWithoutPrefix optionnel | String | User phone number in national format without national prefix. Can be used for login, but there is a risk several users have a same nationalWithoutPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n     * | E164WithoutPrefix optionnel | String | User phone number in E164 format without '+' prefix. Can be used for login, but there is a risk several users have a same E164WithoutPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n     * | E164WithNationalPrefix optionnel | String | User phone number in E164 format with the national prefix. Can be used for login, but there is a risk several users have a same E164WithNationalPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n     * | firstName | String | User first name |\n     * | E164WithNationalPrefixWithoutPrefix optionnel | String | User phone number in E164 format with the national prefix but without '+' prefix. Can be used for login, but there is a risk several users have a same E164WithNationalPrefixWithoutPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n     * | lastName | String | User last name |\n     * | displayName | String | User display name (firstName + lastName concatenated on server side) |\n     * | nickName optionnel | String | User nickName |\n     * | title optionnel | String | User title (honorifics title, like Mr, Mrs, Sir, Lord, Lady, Dr, Prof,...) |\n     * | jobTitle optionnel | String | User job title |\n     * | department optionnel | String | User department |\n     * | tags optionnel | String\\[\\] | An Array of free tags associated to the user.  <br>A maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters.  <br>`tags` can only be set by users who have administrator rights on the user. The user can't modify the tags.  <br>The tags are visible by the user and all users belonging to his organisation/company, and can be used with the search API to search the user based on his tags. |\n     * | emails | Object\\[\\] | Array of user emails addresses objects |\n     * | email | String | User email address |\n     * | type | String | Email type, one of `home`, `work`, `other` |\n     * | phoneNumbers | Object\\[\\] | Array of user phone numbers objects.  <br>Phone number objects can:<br><br>* be created by user (information filled by user),<br>* come from association with a system (pbx) device (association is done by admin). |\n     * | phoneNumberId | String | Phone number unique id in phone-numbers directory collection. |\n     * | number optionnel | String | User phone number (as entered by user) |\n     * | numberE164 optionnel | String | User E.164 phone number, computed by server from `number` and `country` fields |\n     * | country | String | Phone number country (ISO 3166-1 alpha3 format)  <br>`country` field is automatically computed using the following algorithm when creating/updating a phoneNumber entry:<br><br>* If `number` is provided and is in E164 format, `country` is computed from E164 number<br>* Else if `country` field is provided in the phoneNumber entry, this one is used<br>* Else user `country` field is used |\n     * | isFromSystem | Boolean | Boolean indicating if phone is linked to a system (pbx). |\n     * | shortNumber optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), short phone number (corresponds to the number monitored by PCG).  <br>Only usable within the same PBX.  <br>Only PCG can set this field. |\n     * | internalNumber optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), internal phone number.  <br>Usable within a PBX group.  <br>Admins and users can modify this internalNumber field. |\n     * | systemId optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), unique identifier of that system in Rainbow database. |\n     * | pbxId optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), unique identifier of that pbx. |\n     * | type | String | Phone number type<br><br>Possibles values : `home`, `work`, `other`, `login`, `rainbow` |\n     * | deviceType | String | Phone number device type, one of `landline`, `mobile`, `fax`, `other`. |\n     * | isVisibleByOthers | Boolean | Allow user to choose if the phone number is visible by other users or not.  <br>Note that administrators can see all the phone numbers, even if `isVisibleByOthers` is set to false.  <br>Note that phone numbers linked to a system (`isFromSystem`=true) are always visible, `isVisibleByOthers` can't be set to false for these numbers. |\n     * | redirectNumber optionnel | String | User redirect phone number (as entered by user) |\n     * | isRedirectNumberEditable optionnel | String | Indicates if the redirect phone number is editable by a user |\n     * | country | String | User country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API [GET /api/rainbow/enduser/v1.0/countries](/enduser/#api-countries-getCountries) |\n     * | state optionnel | String | When country is 'USA' or 'CAN', a state can be defined. Else it is not managed (null).<br><br>The list of allowed states can be obtained using the API [GET /api/rainbow/enduser/v1.0/countries](/enduser/#api-countries-getCountries) for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n     * | language optionnel | String | User language (ISO 639-1 code format, with possibility of regional variation. Ex: both 'en' and 'en-US' are supported) |\n     * | timezone optionnel | String | User timezone name |\n     * | jid_im | String | User Jabber IM identifier |\n     * | jid_tel | String | User Jabber TEL identifier |\n     * | jid_password | String | User Jabber IM and TEL password |\n     * | roles | String\\[\\] | List of user roles (Array of String)  <br>Note: `company_support` role is only used for support redirection. If a user writes a #support ticket and have the role `company_support`, the ticket will be sent to ALE's support (otherwise the ticket is sent to user's company's `supportEmail` address is set, ALE otherwise). |\n     * | adminType | String | In case of user's is 'admin', define the subtype (organisation\\_admin, company\\_admin, site_admin (default undefined) |\n     * | companyId | String | User company unique identifier |\n     * | organisationId | String | In addition to User companyId, optional identifier to indicate the user belongs also to an organization |\n     * | siteId | String | In addition to User companyId, optional identifier to indicate the user belongs also to a site |\n     * | companyName | String | User company name |\n     * | selectedProgKeysGroupId | String | Identifier of the assigned company's telephonyKey group |\n     * | visibility | String | User visibility  <br>Define if the user can be searched by users being in other company and if the user can search users being in other companies.  <br>Visibility can be:<br><br>* `same_than_company`: The same visibility than the user's company's is applied to the user. When this user visibility is used, if the visibility of the company is changed the user's visibility will use this company new visibility.<br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users  <br>    External users mean 'public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Possibles values : `same_than_company`, `public`, `private`, `closed`, `isolated`, `none` |\n     * | isActive | Boolean | Is user active |\n     * | isInitialized | Boolean | Is user initialized |\n     * | initializationDate | Date-Time | User initialization date |\n     * | activationDate | Date-Time | User activation date |\n     * | creationDate | Date-Time | User creation date |\n     * | lastUpdateDate | Date-Time | Date of last user update (whatever the field updated) |\n     * | lastAvatarUpdateDate | Date-Time | Date of last user avatar create/update, null if no avatar |\n     * | createdBySelfRegister | Boolean | true if user has been created using self register |\n     * | createdByAdmin optionnel | Object | If user has been created by an admin or superadmin, contain userId and loginEmail of the admin who created this user |\n     * | userId | String | userId of the admin who created this user |\n     * | loginEmail | String | loginEmail of the admin who created this user |\n     * | invitedBy optionnel | Object | If user has been created from an email invitation sent by another rainbow user, contain the date the invitation was sent and userId and loginEmail of the user who invited this user |\n     * | userId | String | userId of the user who invited this user |\n     * | authenticationType optionnel | String | User authentication type (if not set company default authentication will be used)<br><br>Possibles values : `DEFAULT`, `RAINBOW`, `SAML`, `OIDC` |\n     * | loginEmail | String | loginEmail of the user who invited this user |\n     * | authenticationExternalUid optionnel | String | User external authentication ID Allows to authenticate the user based on an external identifier (company's SSO server (SAML or OIDC), Teams, Outlook, ...) |\n     * | firstLoginDate | Date-Time | Date of first user login (only set the first time user logs in, null if user never logged in) |\n     * | lastLoginDate | Date-Time | Date of last user login (defined even if user is logged out) |\n     * | loggedSince | Date-Time | Date of last user login (null if user is logged out) |\n     * | lastSeenDate | Date-Time | Approximate date when the user has been seen on Rainbow (null if user never logged in)  <br>This date is updated:<br><br>* When the user logs in (either from login API, SAML/OIDC SSO, OAuth)<br>* When the token of the user is refreshed (using the API GET /api/rainbow/authentication/v1.0/renew, done automatically by the clients before the token expires and not visible by the user)<br>* When the user logs out |\n     * | isTerminated | Boolean | Indicates if the Rainbow account of this user has been deleted |\n     * | isAlertNotificationEnabled | Boolean | Is user subscribed to Rainbow Alert Offer |\n     * | guestMode | Boolean | Indicated a user embedded in a chat or conference room, as guest, with limited rights until he finalizes his registration. |\n     * | timeToLive optionnel | Number | Duration in second to wait before automatically starting a user deletion from the creation date.  <br>Once the timeToLive has been reached, the user won't be usable to use APIs anymore (error 401523). His account may then be deleted from the database at any moment.  <br>Value -1 means timeToLive is disable (i.e. user account will not expire). |\n     * | userInfo1 optionnel | String | Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) |\n     * | userInfo2 optionnel | String | 2nd Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) |\n     * | profiles | Object\\[\\] | User profile Objects. |\n     * | subscriptionId | String | Id of company subscription to which user profile is assigned (one of the subscriptions available to user's company) |\n     * | offerId | String | Id of the Rainbow offer to which company subscription is attached |\n     * | offerName | String | Name of the Rainbow offer to which company subscription is attached |\n     * | profileId | String | Id of the Rainbow profile to which company subscription is attached |\n     * | profileName | String | Name of the Rainbow profile to which company subscription is attached |\n     * | status | String | Status of the company subscription to which user profile is assigned  <br>  <br>Possible values: `active`, `alerting`, `hold`, `terminated` |\n     * | isDefault | Boolean | Indicates if this profile is linked to user's company's subscription to default offer (i.e. Essential) |\n     * | assignationDate | String | Date when the subscription was attached to user profile |\n     * | canBeSold | Boolean | Indicates if the offer is billed.  <br>Some offers will not be billed (Essential, Demo, ...). |\n     * | offerTechnicalDescription optionnel | string | Offer technical description.<br><br>Ordre de grandeur : `1..512` |\n     * | businessModel optionnel | string | Indicates the business model associated to this offer (number of users, usage, ...)<br><br>* `nb_users`: Licencing business model. Subscriptions having this business model are billed according to the number of users bought for it.<br>* `usage`: Subscriptions having this business model are billed based on service consumption (whatever the number of users assigned to the subscription of this offer).<br>* `flat_fee`: Subscriptions having this business model are billed based on a flat fee (same price each month for the company which subscribe to this offer).<br>* `none`: no business model. Should be used for offers which are not sold (like Essential...).<br><br>Valeur par défaut : `none`<br><br>Possibles values : `nb_users`, `usage`, `flat_fee`, `none` |\n     * | businessSpecific optionnel | String\\[\\] | Indicates if the subscription is related to specific(s) business (for verticals like HDS)<br><br>* `NONE`: This subscription is used if the company does not have a businessSpecific field.<br>* `HDS`: This subscription is used if the company have a businessSpecific HDS (HealthCare).<br><br>Valeur par défaut : `[\"NONE\"]`<br><br>Possibles values : `NONE`, `HDS` |\n     * | isExclusive optionnel | Boolean | Indicates if the offer is exclusive for assignation to a user profile (if the user has already an exclusive offer assigned, it won't be possible to assign a second exclusive offer). |\n     * | isPrepaid optionnel | Boolean | Indicates if the profile is linked to a prepaid subscription |\n     * | prepaidDuration optionnel | Number | Prepaid subscription duration (in month).  <br>Only set if `isPrepaid` is true. |\n     * | zuoraOfferId optionnel | string | ID of the related offer in Zuora (if offer can be sold) |\n     * | zuoraProductRatePlanId optionnel | string | ID of the ProductRatePlanId to used in Zuora (if offer can be sold) |\n     * | zuoraProductRatePlanChargeId optionnel | string | ID of the ProductRatePlanChargeId used in Zuora (if offer can be sold) |\n     * | hasConference optionnel | Boolean | Indicates if the profile contains conference services |\n     * | isDemo optionnel | Boolean | Indicates if the profile is linked to a demo subscription |\n     * | useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `same_than_company`: The same useScreenSharingCustomisation setting than the user's company's is applied to the user. if the useScreenSharingCustomisation of the company is changed the user's useScreenSharingCustomisation will use this company new setting.<br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n     * | mfaRainbowAuth optionnel | Object\\[\\] | Rainbow authentication policy Object. |\n     * | mfaRainbowPolicyId optionnel | String | Id of company rainbow policy to which user profile is assigned |\n     * | mfaStatus optionnel | String | status of the activation of the rainbow policy<br><br>Possibles values : `init`, `enabled`, `disabled` |\n     * | mfaTrustedApps optionnel | Object\\[\\] | list of trusted application of rainbow policy |\n     * | appId optionnel | String | id of a trusted application of rainbow policy |\n     * | appName optionnel | String | name of a trusted application of rainbow policy |\n     * | rainbowPasswordlessPolicy optionnel | Object\\[\\] | Rainbow passwordless authentication policy Object. |\n     * | rainbowPasswordlessPolicyId optionnel | String | Id of company rainbow passwordless policy to which user is assigned |\n     * | sendToEmail optionnel | String | Optional email used to send passwordless code to the user (instead of his loginEmail address) when passwordless authentication is enabled for the user and the associated company's passwordless policy has `sendEmail`=true. |\n     * | customData optionnel | Object | User's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the user's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 20 keys,<br>* max key length: 64 characters,<br>* max value length: 4096 characters. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1957,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing details regarding the operation.",
        "value": "{Object} - Json object containing details regarding the operation."
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "registerUserByEmailSecondStepWithToken",
    "params": [
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "user info requesting a self-register. </BR>\n{ </BR>\n  // User email address (used for login). </BR>\n  // Must be unique (409 error is returned if a user already exists with the same email address).\n  \"loginEmail\": string, </BR>\n</BR>\n  // User password. </BR>\n  // Rules: </BR>\n  // - More than 8 characters, </BR>\n  //   ⚠️ Warning: the minimal password length will soon be increased to 12, planned to be effective mid-June 2023 (8 characters are still accepted until this date). </BR>\n  // - At least 1 capital letter, </BR>\n  // - 1 number, </BR>\n  // - 1 special character. </BR>\n  \"password\": string, </BR>\n</BR>\n  // User temporary token (obtained from [POST /api/rainbow/enduser/v1.0/notifications/emails/self-register](#api-enduser_notifications_emails-EmailSelfRegister) API). </BR>\n  // Do not use if `invitationId`, `joinCompanyInvitationId`, `joinCompanyLinkId` or `openInviteId` is specified. </BR>\n  // Size : 6 </BR>\n  \"temporaryToken\": string </BR>\n} </BR>",
        "name": "userLoginInfo"
      }
    ],
    "scope": "instance",
    "description": "This API allows a user to self register a user account in Rainbow application. The token must be retrieved with `registerUserByEmailFirstStep` </BR>",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object>"
          ]
        },
        "description": "- result :\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when the user is assigned to both file servers.<br><br>* `same_than_company`: The same mainStorage setting than the user's company's is applied to the user. if the mainStorage of the company is changed the user's mainStorage will use this company new setting.<br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n| useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `same_than_company`: The same useExternalStorage setting than the user's company's is applied to the user. if the useExternalStorage of the company is changed the user's useExternalStorage will use this company new setting.<br>* `enabled`: Assign the user to the External File Storage.<br>* `disabled`: Unassign the user from the External File Storage. |\n| useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `same_than_company`: The same useRainbowStorage setting than the user's company's is applied to the user. if the useRainbowStorage of the company is changed the user's useRainbowStorage will use this company new setting.<br>* `enabled`: Assign the user to the default Rainbow File Storage.<br>* `disabled`: Unassign the user from the default Rainbow File Storage. |\n| canSetInvisiblePresenceCustomisation | String | Select the capability for a user to set invisible presence.  <br>Defines how a user can set invisible presence.  <br>canSetInvisiblePresenceCustomisation can be:<br><br>* `same_than_company`: The same canSetInvisiblePresenceCustomisation setting than the user's company's is applied to the user. if the canSetInvisiblePresenceCustomisation of the company is changed the user's canSetInvisiblePresenceCustomisation will use this company new setting.<br>* `enabled`: The user can set invisible presence.<br>* `disabled`: The user can't set invisible presence. |\n| canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines how a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `same_than_company`: The same canCallParticipantPbxNumberCustomisation setting than the user's company's is applied to the user. if the canCallParticipantPbxNumberCustomisation of the company is changed the user's canCallParticipantPbxNumberCustomisation will use this company new setting.<br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n| canUseTaskCustomisation | String | Activate/Deactivate the capability for a user to use Rainbow tasks.  <br>Defines if a user can use Rainbow tasks.  <br>canUseTaskCustomisation can be:<br><br>* `same_than_company`: The same canUseTaskCustomisation setting than the user's company's is applied to the user. if the canUseTaskCustomisation of the company is changed the user's canUseTaskCustomisation will use this company new setting.<br>* `enabled`: The user can use Rainbow tasks.<br>* `disabled`: The user can't use Rainbow tasks. |\n| canUseSendReportCustomisation | String | Activate/Deactivate the capability for a user to send report.  <br>Defines if a user can send report.  <br>canUseSendReportCustomisation can be:<br><br>* `same_than_company`: The same canUseSendReportCustomisation setting than the user's company's is applied to the user. if the canUseSendReportCustomisation of the company is changed the user's canUseSendReportCustomisation will use this company new setting.<br>* `enabled`: The user can send report.<br>* `disabled`: The user can't send report. |\n| canUseTestConfigCustomisation | String | Activate/Deactivate the capability for a user to test the configuration.  <br>Defines if a user can test the configuration.  <br>canUseTestConfigCustomisation can be:<br><br>* `same_than_company`: The same canUseTestConfigCustomisation setting than the user's company's is applied to the user. if the canUseTestConfigCustomisation of the company is changed the user's canUseTestConfigCustomisation will use this company new setting.<br>* `enabled`: The user can test the configuration.<br>* `disabled`: The user can't test the configuration. |\n| canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `same_than_company`: The same canDownloadAppCustomisation setting than the user's company's is applied to the user. if the canDownloadAppCustomisation of the company is changed the user's canDownloadAppCustomisation will use this company new setting.<br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n| canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `same_than_company`: The same canAccessStoreCustomisation setting than the user's company's is applied to the user. if the canAccessStoreCustomisation of the company is changed the user's canAccessStoreCustomisation will use this company new setting.<br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n| canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `same_than_company`: The same canAccessHelpCenterCustomisation setting than the user's company's is applied to the user. if the canAccessHelpCenterCustomisation of the company is changed the user's canAccessHelpCenterCustomisation will use this company new setting.<br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n| canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `same_than_company`: The same canAccessFaqCustomisation setting than the user's company's is applied to the user. if the canAccessFaqCustomisation of the company is changed the user's canAccessFaqCustomisation will use this company new setting.<br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n| canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `same_than_company`: The same canAccessWhatsNew setting than the user's company's is applied to the user. if the canAccessWhatsNew of the company is changed the user's canAccessWhatsNew will use this company new setting.<br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n| imPopupDuration optionnel | Number | Defines the IM popup duration.<br><br>* If the imPopupDuration is not defined or null, the same imPopupDuration setting than the user's company's is applied to the user.<br>* Otherwise, a new imPopupDuration is set for the user. |\n| useTeamsMode optionnel | String | Activate/Deactivate the capability for a user to use the Teams mode.  <br>Defines if a user can use the Teams mode.  <br>useTeamsMode can be:<br><br>* `same_than_company`: The same useTeamsMode setting than the user's company's is applied to the user. if the useTeamsMode of the company is changed the user's useTeamsMode will use this company new setting.<br>* `enabled`: The user can use the Teams mode.<br>* `disabled`: The user can't use the Teams mode. |\n| useSoftPhoneMode | String | Activate/Force/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `same_than_company`: The same useSoftPhoneMode setting than the user's company's is applied to the user. if the useSoftPhoneMode of the company is changed the user's useSoftPhoneMode will use this company new setting.<br>* `enabled`: The user can use the softphone mode.<br>* `forced`: The user can use the softphone mode only on Web application.<br>* `disabled`: The user can't use the softphone mode. |\n| useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `same_than_company`: The same useComputerMode setting than the user's company's is applied to the user. if the useComputerMode of the company is changed the user's useComputerMode will use this company new setting.<br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n| useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `same_than_company`: The same useOtherPhoneMode setting than the user's company's is applied to the user. if the useOtherPhoneMode of the company is changed the user's useOtherPhoneMode will use this company new setting.<br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n| meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `same_than_company`: The same meetingRecordingCustomisation setting than the user's company's is applied to the user. if the meetingRecordingCustomisation of the company is changed the user's meetingRecordingCustomisation will use this company new setting.<br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n| eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for Elearning progress.  <br>Defines if a user can earn badges for Elearning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `same_than_company`: The same eLearningGamificationCustomisation setting than the user's company's is applied to the user. if the eLearningGamificationCustomisation of the company is changed the user's eLearningGamificationCustomisation will use this company new setting.<br>* `enabled`: The user can earn badges for Elearning progress.<br>* `disabled`: The user can't earn badges for Elearning progress. |\n| eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a Elearning training.  <br>Defines if a user can participate on an Elearning training.  <br>eLearningCustomisation can be:<br><br>* `same_than_company`: The same eLearningCustomisation setting than the user's company's is applied to the user. if the useSpeakingTimeStatistics of the company is changed the user's eLearningCustomisation will use this company new setting.<br>* `enabled`: The user can participate on an Elearning training.<br>* `disabled`: The user can't participate on an Elearning training. |\n| useWebRTCAudioAsRBVoiceUser | String | Technical flag for Rainbow voice users.  <br>Whatever the customisation template applied for the user, if he has a Rainbow Voice licence useWebRTCAudioAsRBVoiceUser is enabled else it is disabled. |\n| useRoomAsRBVoiceUser | String | Technical flag for Rainbow voice users.  <br>Whatever the customisation template applied for the user, if he has a Rainbow Voice licence useRoomAsRBVoiceUser is enabled else it is disabled. |\n| selectedAppCustomisationTemplate | String | To log the last template applied to the user. |\n| useSpeakingTimeStatistics | String | Activate/Deactivate the capability for a user to see speaking time statistics.  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `same_than_company`: The same useSpeakingTimeStatistics setting than the user's company's is applied to the user. if the useSpeakingTimeStatistics of the company is changed the user's useSpeakingTimeStatistics will use this company new setting.<br>* `enabled`: The user can use meeting speaking time statistics.<br>* `disabled`: The user can't use meeting speaking time statistics. |\n| readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `same_than_company`: The same readReceiptsCustomisation setting than the user's company's is applied to the user. if the readReceiptsCustomisation of the company is changed the user's readReceiptsCustomisation will use this company new setting.<br>* `enabled`: The user allows the sender to check if an IM is read.<br>* `disabled`: The user doesn't allow the sender to check if an IM is read. |\n| useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `same_than_company`: The same useDialOutCustomisation setting than the user's company's is applied to the user. if the useDialOutCustomisation of the company is changed the user's useDialOutCustomisation will use this company new setting.<br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n| forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the capability for a user to loose the ownership on one file..  <br>One user can drop the ownership to another Rainbow user of the same company.  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `same_than_company`: The same forbidFileOwnerChangeCustomisation setting than the user's company's is applied to the user. if the forbidFileOwnerChangeCustomisation of the company is changed the user's forbidFileOwnerChangeCustomisation will use this company new setting.<br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n| fileTransferCustomisation | String | Activate/Deactivate the capability for a user to copy a file from a conversation then share it inside another conversation.  <br>The file cannot be re-shared.  <br>fileTransferCustomisation can be:<br><br>* `same_than_company`: The same fileTransferCustomisation setting than the user's company's is applied to the user. if the fileTransferCustomisation of the company is changed the user's fileTransferCustomisation will use this company new setting.<br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n| fileCopyCustomisation | String | Activate/Deactivate the capability for one user to copy any file he receives in his personal cloud space  <br>fileCopyCustomisation can be:<br><br>* `same_than_company`: The same fileCopyCustomisation setting than the user's company's is applied to the user. if the fileCopyCustomisation of the company is changed the user's fileCopyCustomisation will use this company new setting.<br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n| useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `same_than_company`: The same useGifCustomisation setting than the user's company's is applied to the user. if the useGifCustomisation of the company is changed the user's useGifCustomisation will use this company new setting.<br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n| recordingConversationCustomisation | String | Activate/Deactivate the capability for a user to record a conversation.  <br>Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>recordingConversationCustomisation can be:<br><br>* `same_than_company`: The same recordingConversationCustomisation setting than the user's company's is applied to the user. if the recordingConversationCustomisation of the company is changed the user's recordingConversationCustomisation will use this company new setting.<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n| changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `same_than_company`: The same changeSettingsCustomisation setting than the user's company's is applied to the user. if the changeSettingsCustomisation of the company is changed the user's changeSettingsCustomisation will use this company new setting.<br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. |\n| changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify telephony settings.  <br>Define if a user has the right to modify some telephony settigs like forward activation...  <br>changeTelephonyCustomisation can be:<br><br>* `same_than_company`: The same changeTelephonyCustomisation setting than the user's company's is applied to the user. if the changeTelephonyCustomisation of the company is changed the user's changeTelephonyCustomisation will use this company new setting.<br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n| overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `same_than_company`: The same overridePresenceCustomisation setting than the user's company's is applied to the user. if the overridePresenceCustomisation of the company is changed the user's overridePresenceCustomisation will use this company new setting.<br>* `enabled`: The user can change his presence.<br>* `disabled`: The user can't change his presence. |\n| fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage..  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `same_than_company`: The same fileStorageCustomisation setting than the user's company's is applied to the user. if the fileStorageCustomisation of the company is changed the user's fileStorageCustomisation will use this company new setting.<br>* `enabled`: The user can manage and share files.<br>* `disabled`: The user can't manage and share files. |\n| userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `same_than_company`: The same userProfileCustomisation setting than the user's company's is applied to the user. if the userProfileCustomisation of the company is changed the user's userProfileCustomisation will use this company new setting.<br>* `enabled`: The user can modify his profile.<br>* `disabled`: The user can't modify his profile. |\n| instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `same_than_company`: The same instantMessagesCustomisation setting than the user's company's is applied to the user. if the instantMessagesCustomisation of the company is changed the user's instantMessagesCustomisation will use this company new setting.<br>* `enabled`: The user can use instant messages.<br>* `disabled`: The user can't use instant messages. |\n| useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCAudioCustomisation can be:<br><br>* `same_than_company`: The same useWebRTCAudioCustomisation setting than the user's company's is applied to the user. if the useWebRTCAudioCustomisation of the company is changed the user's useWebRTCAudioCustomisation will use this company new setting.<br>* `enabled`: The user can switch to a Web RTC audio conversation.<br>* `disabled`: The user can't switch to a Web RTC audio conversation. |\n| useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `same_than_company`: The same useWebRTCVideoCustomisation setting than the user's company's is applied to the user. if the useWebRTCVideoCustomisation of the company is changed the user's useWebRTCVideoCustomisation will use this company new setting.<br>* `enabled`: The user can switch to a Web RTC video conversation.<br>* `disabled`: The user can't switch to a Web RTC video conversation. |\n| useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `same_than_company`: The same useChannelCustomisation setting than the user's company's is applied to the user. if the useChannelCustomisation of the company is changed the user's useChannelCustomisation will use this company new setting.<br>* `enabled`: The user can use some channels.<br>* `disabled`: The user can't use some channel. |\n| phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `same_than_company`: The same phoneMeetingCustomisation setting than the user's company's is applied to the user. if the phoneMeetingCustomisation of the company is changed the user's phoneMeetingCustomisation will use this company new setting.<br>* `enabled`: The user can join phone meetings.<br>* `disabled`: The user can't join phone meetings. |\n| useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `same_than_company`: The same useRoomCustomisation setting than the user's company's is applied to the user. if the useRoomCustomisation of the company is changed the user's useRoomCustomisation will use this company new setting.<br>* `enabled`: The user can use bubbles.<br>* `disabled`: The user can't use bubbles. |\n| softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services but to focus to telephony services  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `same_than_company`: The same softphoneOnlyCustomisation setting than the user's company's is applied to the user. if the softphoneOnlyCustomisation of the company is changed the user's softphoneOnlyCustomisation will use this company new setting.<br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n| userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName)  <br>Define if the user can change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `same_than_company`: The same userTitleNameCustomisation setting than the user's company's is applied to the user. if the userTitleNameCustomisation of the company is changed the user's userTitleNameCustomisation will use this company new setting.<br>* `enabled`: Whatever the userTitleNameCustomisation of the company setting, the user can change some profile data.<br>* `disabled`: Whatever the userTitleNameCustomisation of the company setting, the user can't change some profile data. |\n| fileSharingCustomisation | String | Activate/Deactivate file sharing capability per user  <br>Define if the user can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `same_than_company`: The same fileSharingCustomisation setting than the user's company's is applied to the user. if the fileSharingCustomisation of the company is changed the user's fileSharingCustomisation will use this company new setting.<br>* `enabled`: Whatever the fileSharingCustomisation of the company setting, the user can use the file sharing service.<br>* `disabled`: Whatever the fileSharingCustomisation of the company setting, the user can't use the file sharing service. |\n| data | Object | User Object. |\n| isInDefaultCompany | Boolean | Is user in default company |\n| id  | String | User unique identifier |\n| loginEmail | String | User email address (used for login) |\n| loginPhone optionnel | Object | User phone number (used for login) |\n| E164 | String | User phone number in E164 format. Used for login and to send passwordless code to the user by SMS when passwordless authentication is enabled for this user with a policy configured to send the code by SMS.<br><br>Ordre de grandeur : `1..32` |\n| isValidated | Boolean | Specifies that the loginPhone.E164 can be used to authenticate the user. |\n| national optionnel | String | User phone number in national format. Can be used for login, but there is a risk several users have a same national number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n| nationalWithoutPrefix optionnel | String | User phone number in national format without national prefix. Can be used for login, but there is a risk several users have a same nationalWithoutPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n| E164WithoutPrefix optionnel | String | User phone number in E164 format without '+' prefix. Can be used for login, but there is a risk several users have a same E164WithoutPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n| E164WithNationalPrefix optionnel | String | User phone number in E164 format with the national prefix. Can be used for login, but there is a risk several users have a same E164WithNationalPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n| firstName | String | User first name |\n| E164WithNationalPrefixWithoutPrefix optionnel | String | User phone number in E164 format with the national prefix but without '+' prefix. Can be used for login, but there is a risk several users have a same E164WithNationalPrefixWithoutPrefix number depending on the country (in such case, user must use E164 format to login).<br><br>Ordre de grandeur : `1..32` |\n| lastName | String | User last name |\n| displayName | String | User display name (firstName + lastName concatenated on server side) |\n| nickName optionnel | String | User nickName |\n| title optionnel | String | User title (honorifics title, like Mr, Mrs, Sir, Lord, Lady, Dr, Prof,...) |\n| jobTitle optionnel | String | User job title |\n| department optionnel | String | User department |\n| tags optionnel | String\\[\\] | An Array of free tags associated to the user.  <br>A maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters.  <br>`tags` can only be set by users who have administrator rights on the user. The user can't modify the tags.  <br>The tags are visible by the user and all users belonging to his organisation/company, and can be used with the search API to search the user based on his tags. |\n| emails | Object\\[\\] | Array of user emails addresses objects |\n| email | String | User email address |\n| type | String | Email type, one of `home`, `work`, `other` |\n| phoneNumbers | Object\\[\\] | Array of user phone numbers objects.  <br>Phone number objects can:<br><br>* be created by user (information filled by user),<br>* come from association with a system (pbx) device (association is done by admin). |\n| phoneNumberId | String | Phone number unique id in phone-numbers directory collection. |\n| number optionnel | String | User phone number (as entered by user) |\n| numberE164 optionnel | String | User E.164 phone number, computed by server from `number` and `country` fields |\n| country | String | Phone number country (ISO 3166-1 alpha3 format)  <br>`country` field is automatically computed using the following algorithm when creating/updating a phoneNumber entry:<br><br>* If `number` is provided and is in E164 format, `country` is computed from E164 number<br>* Else if `country` field is provided in the phoneNumber entry, this one is used<br>* Else user `country` field is used |\n| isFromSystem | Boolean | Boolean indicating if phone is linked to a system (pbx). |\n| shortNumber optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), short phone number (corresponds to the number monitored by PCG).  <br>Only usable within the same PBX.  <br>Only PCG can set this field. |\n| internalNumber optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), internal phone number.  <br>Usable within a PBX group.  <br>Admins and users can modify this internalNumber field. |\n| systemId optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), unique identifier of that system in Rainbow database. |\n| pbxId optionnel | String | **\\[Only for phone numbers linked to a system (pbx)\\]**  <br>If phone is linked to a system (pbx), unique identifier of that pbx. |\n| type | String | Phone number type<br><br>Possibles values : `home`, `work`, `other`, `login`, `rainbow` |\n| deviceType | String | Phone number device type, one of `landline`, `mobile`, `fax`, `other`. |\n| isVisibleByOthers | Boolean | Allow user to choose if the phone number is visible by other users or not.  <br>Note that administrators can see all the phone numbers, even if `isVisibleByOthers` is set to false.  <br>Note that phone numbers linked to a system (`isFromSystem`=true) are always visible, `isVisibleByOthers` can't be set to false for these numbers. |\n| redirectNumber optionnel | String | User redirect phone number (as entered by user) |\n| isRedirectNumberEditable optionnel | String | Indicates if the redirect phone number is editable by a user |\n| country | String | User country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API [GET /api/rainbow/enduser/v1.0/countries](/enduser/#api-countries-getCountries) |\n| state optionnel | String | When country is 'USA' or 'CAN', a state can be defined. Else it is not managed (null).<br><br>The list of allowed states can be obtained using the API [GET /api/rainbow/enduser/v1.0/countries](/enduser/#api-countries-getCountries) for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n| language optionnel | String | User language (ISO 639-1 code format, with possibility of regional variation. Ex: both 'en' and 'en-US' are supported) |\n| timezone optionnel | String | User timezone name |\n| jid_im | String | User Jabber IM identifier |\n| jid_tel | String | User Jabber TEL identifier |\n| jid_password | String | User Jabber IM and TEL password |\n| roles | String\\[\\] | List of user roles (Array of String)  <br>Note: `company_support` role is only used for support redirection. If a user writes a #support ticket and have the role `company_support`, the ticket will be sent to ALE's support (otherwise the ticket is sent to user's company's `supportEmail` address is set, ALE otherwise). |\n| adminType | String | In case of user's is 'admin', define the subtype (organisation\\_admin, company\\_admin, site_admin (default undefined) |\n| companyId | String | User company unique identifier |\n| organisationId | String | In addition to User companyId, optional identifier to indicate the user belongs also to an organization |\n| siteId | String | In addition to User companyId, optional identifier to indicate the user belongs also to a site |\n| companyName | String | User company name |\n| selectedProgKeysGroupId | String | Identifier of the assigned company's telephonyKey group |\n| visibility | String | User visibility  <br>Define if the user can be searched by users being in other company and if the user can search users being in other companies.  <br>Visibility can be:<br><br>* `same_than_company`: The same visibility than the user's company's is applied to the user. When this user visibility is used, if the visibility of the company is changed the user's visibility will use this company new visibility.<br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users  <br>    External users mean 'public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Possibles values : `same_than_company`, `public`, `private`, `closed`, `isolated`, `none` |\n| isActive | Boolean | Is user active |\n| isInitialized | Boolean | Is user initialized |\n| initializationDate | Date-Time | User initialization date |\n| activationDate | Date-Time | User activation date |\n| creationDate | Date-Time | User creation date |\n| lastUpdateDate | Date-Time | Date of last user update (whatever the field updated) |\n| lastAvatarUpdateDate | Date-Time | Date of last user avatar create/update, null if no avatar |\n| createdBySelfRegister | Boolean | true if user has been created using self register |\n| createdByAdmin optionnel | Object | If user has been created by an admin or superadmin, contain userId and loginEmail of the admin who created this user |\n| userId | String | userId of the admin who created this user |\n| loginEmail | String | loginEmail of the admin who created this user |\n| invitedBy optionnel | Object | If user has been created from an email invitation sent by another rainbow user, contain the date the invitation was sent and userId and loginEmail of the user who invited this user |\n| userId | String | userId of the user who invited this user |\n| authenticationType optionnel | String | User authentication type (if not set company default authentication will be used)<br><br>Possibles values : `DEFAULT`, `RAINBOW`, `SAML`, `OIDC` |\n| loginEmail | String | loginEmail of the user who invited this user |\n| authenticationExternalUid optionnel | String | User external authentication ID Allows to authenticate the user based on an external identifier (company's SSO server (SAML or OIDC), Teams, Outlook, ...) |\n| firstLoginDate | Date-Time | Date of first user login (only set the first time user logs in, null if user never logged in) |\n| lastLoginDate | Date-Time | Date of last user login (defined even if user is logged out) |\n| loggedSince | Date-Time | Date of last user login (null if user is logged out) |\n| lastSeenDate | Date-Time | Approximate date when the user has been seen on Rainbow (null if user never logged in)  <br>This date is updated:<br><br>* When the user logs in (either from login API, SAML/OIDC SSO, OAuth)<br>* When the token of the user is refreshed (using the API GET /api/rainbow/authentication/v1.0/renew, done automatically by the clients before the token expires and not visible by the user)<br>* When the user logs out |\n| isTerminated | Boolean | Indicates if the Rainbow account of this user has been deleted |\n| isAlertNotificationEnabled | Boolean | Is user subscribed to Rainbow Alert Offer |\n| guestMode | Boolean | Indicated a user embedded in a chat or conference room, as guest, with limited rights until he finalizes his registration. |\n| timeToLive optionnel | Number | Duration in second to wait before automatically starting a user deletion from the creation date.  <br>Once the timeToLive has been reached, the user won't be usable to use APIs anymore (error 401523). His account may then be deleted from the database at any moment.  <br>Value -1 means timeToLive is disable (i.e. user account will not expire). |\n| userInfo1 optionnel | String | Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) |\n| userInfo2 optionnel | String | 2nd Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) |\n| profiles | Object\\[\\] | User profile Objects. |\n| subscriptionId | String | Id of company subscription to which user profile is assigned (one of the subscriptions available to user's company) |\n| offerId | String | Id of the Rainbow offer to which company subscription is attached |\n| offerName | String | Name of the Rainbow offer to which company subscription is attached |\n| profileId | String | Id of the Rainbow profile to which company subscription is attached |\n| profileName | String | Name of the Rainbow profile to which company subscription is attached |\n| status | String | Status of the company subscription to which user profile is assigned  <br>  <br>Possible values: `active`, `alerting`, `hold`, `terminated` |\n| isDefault | Boolean | Indicates if this profile is linked to user's company's subscription to default offer (i.e. Essential) |\n| assignationDate | String | Date when the subscription was attached to user profile |\n| canBeSold | Boolean | Indicates if the offer is billed.  <br>Some offers will not be billed (Essential, Demo, ...). |\n| offerTechnicalDescription optionnel | string | Offer technical description.<br><br>Ordre de grandeur : `1..512` |\n| businessModel optionnel | string | Indicates the business model associated to this offer (number of users, usage, ...)<br><br>* `nb_users`: Licencing business model. Subscriptions having this business model are billed according to the number of users bought for it.<br>* `usage`: Subscriptions having this business model are billed based on service consumption (whatever the number of users assigned to the subscription of this offer).<br>* `flat_fee`: Subscriptions having this business model are billed based on a flat fee (same price each month for the company which subscribe to this offer).<br>* `none`: no business model. Should be used for offers which are not sold (like Essential...).<br><br>Valeur par défaut : `none`<br><br>Possibles values : `nb_users`, `usage`, `flat_fee`, `none` |\n| businessSpecific optionnel | String\\[\\] | Indicates if the subscription is related to specific(s) business (for verticals like HDS)<br><br>* `NONE`: This subscription is used if the company does not have a businessSpecific field.<br>* `HDS`: This subscription is used if the company have a businessSpecific HDS (HealthCare).<br><br>Valeur par défaut : `[\"NONE\"]`<br><br>Possibles values : `NONE`, `HDS` |\n| isExclusive optionnel | Boolean | Indicates if the offer is exclusive for assignation to a user profile (if the user has already an exclusive offer assigned, it won't be possible to assign a second exclusive offer). |\n| isPrepaid optionnel | Boolean | Indicates if the profile is linked to a prepaid subscription |\n| prepaidDuration optionnel | Number | Prepaid subscription duration (in month).  <br>Only set if `isPrepaid` is true. |\n| zuoraOfferId optionnel | string | ID of the related offer in Zuora (if offer can be sold) |\n| zuoraProductRatePlanId optionnel | string | ID of the ProductRatePlanId to used in Zuora (if offer can be sold) |\n| zuoraProductRatePlanChargeId optionnel | string | ID of the ProductRatePlanChargeId used in Zuora (if offer can be sold) |\n| hasConference optionnel | Boolean | Indicates if the profile contains conference services |\n| isDemo optionnel | Boolean | Indicates if the profile is linked to a demo subscription |\n| useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `same_than_company`: The same useScreenSharingCustomisation setting than the user's company's is applied to the user. if the useScreenSharingCustomisation of the company is changed the user's useScreenSharingCustomisation will use this company new setting.<br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n| mfaRainbowAuth optionnel | Object\\[\\] | Rainbow authentication policy Object. |\n| mfaRainbowPolicyId optionnel | String | Id of company rainbow policy to which user profile is assigned |\n| mfaStatus optionnel | String | status of the activation of the rainbow policy<br><br>Possibles values : `init`, `enabled`, `disabled` |\n| mfaTrustedApps optionnel | Object\\[\\] | list of trusted application of rainbow policy |\n| appId optionnel | String | id of a trusted application of rainbow policy |\n| appName optionnel | String | name of a trusted application of rainbow policy |\n| rainbowPasswordlessPolicy optionnel | Object\\[\\] | Rainbow passwordless authentication policy Object. |\n| rainbowPasswordlessPolicyId optionnel | String | Id of company rainbow passwordless policy to which user is assigned |\n| sendToEmail optionnel | String | Optional email used to send passwordless code to the user (instead of his loginEmail address) when passwordless authentication is enabled for the user and the associated company's passwordless policy has `sendEmail`=true. |\n| customData optionnel | Object | User's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the user's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 20 keys,<br>* max key length: 64 characters,<br>* max value length: 4096 characters. |"
      }
    ],
    "longname": "module:AdminService#registerUserByEmailSecondStepWithToken",
    "memberof": "module:AdminService",
    "$longname": "AdminService#registerUserByEmailSecondStepWithToken",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method rejectLogsRequest\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users Logs\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} logId Logs context unique identifier\n     * @description\n     *     When an Admin or Emily bot ask to manage a user, the targeted device receives an event type management. </BR>\n     *     </BR>\n     *     </BR>\n     *      `rainbow_onlogsconfig` with an action equal to \"request\".\n     * </BR>\n     * Then it will have to: </BR>\n     * * acknowledge or reject the request </BR>\n     * </BR>\n     * This API is to reject de request. An event type management `rainbow_onlogsconfig` with an action equal to \"reject\" is raised.\n     * </BR>\n     * Then it's up to the administrator or the bot to delete the logs context and to stop interacting with the user. </BR>\n     * Without an aknowledgment, it's forbidden to update the given logs context. </BR>\n     * </BR>\n     * Some errors occurs when: </BR>\n     * * Logs context not found (resource not found) </BR>\n     * * The logged in user is not involved in this logs context </BR>\n     * * `Permission already granted. It can no longer be revoked` </BR>\n     * </BR>\n     * This API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL) </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Logs context unique identifier. |\n     * | type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n     * | permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n     * | userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n     * | userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n     * | companyId | string | Unique identifier of the userId 's Company |\n     * | companyName | string | Name of the userId 's Company |\n     * | originatorId | string | When type is `ask`, an admin or a bot userId. |\n     * | problemNumber | Number | Ticket number (integer incremented per company) |\n     * | creationDate | Date-Time | Logs context creation date |\n     * | occurrenceDate | Date-Time | Date when the issue occurred |\n     * | occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n     * | description | string | Issue description |\n     * | resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n     * | externalRef | string | Free field |\n     * | device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n     * | version | string | Device version |\n     * | deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n     * | attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15133,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "rejectLogsRequest",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier",
        "name": "logId"
      }
    ],
    "description": "When an Admin or Emily bot ask to manage a user, the targeted device receives an event type management. </BR>\n    </BR>\n    </BR>\n     `rainbow_onlogsconfig` with an action equal to \"request\".\n</BR>\nThen it will have to: </BR>\n* acknowledge or reject the request </BR>\n</BR>\nThis API is to reject de request. An event type management `rainbow_onlogsconfig` with an action equal to \"reject\" is raised.\n</BR>\nThen it's up to the administrator or the bot to delete the logs context and to stop interacting with the user. </BR>\nWithout an aknowledgment, it's forbidden to update the given logs context. </BR>\n</BR>\nSome errors occurs when: </BR>\n* Logs context not found (resource not found) </BR>\n* The logged in user is not involved in this logs context </BR>\n* `Permission already granted. It can no longer be revoked` </BR>\n</BR>\nThis API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL) </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Logs context unique identifier. |\n| type | string | Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue |\n| permission | string | User has currently accepted to provide his logs. Default value ('declined' when type is `ask`, `granted` when type is 'feedback'<br><br>* `declined`<br>* `granted`<br><br>Default value: `declined` when type is `ask`, `granted` when type is `feedback` |\n| userId | string | Unique identifier of the customer (user or Rainbow Tv) |\n| userDisplayName | string | Display name of the customer (user or Rainbow Tv) |\n| companyId | string | Unique identifier of the userId 's Company |\n| companyName | string | Name of the userId 's Company |\n| originatorId | string | When type is `ask`, an admin or a bot userId. |\n| problemNumber | Number | Ticket number (integer incremented per company) |\n| creationDate | Date-Time | Logs context creation date |\n| occurrenceDate | Date-Time | Date when the issue occurred |\n| occurrenceDateTimezone | string | Timezone name when the issue occurred.<br><br>Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones).  <br>Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) |\n| description | string | Issue description |\n| resourceId | string | When type is `ask`, this is the resource of the device from which we need to get logs (in case of multi-devices configuration) |\n| externalRef | string | Free field |\n| device | string | Device type<br><br>Note: `room` corresponds to Rainbow Room<br><br>Possibles values : `android`, `desktop`, `ios`, `room`, `web` |\n| version | string | Device version |\n| deviceDetails optionnel | Object | When relevant, optional details regarding the device on which the issue occurred |\n| attachments | string\\[\\] | An Array of file descriptor Id<br><br>* To belong as logs context attachment, a file descriptor must contain the field tags.purpose with the value `log` |"
      }
    ],
    "longname": "module:AdminService#rejectLogsRequest",
    "memberof": "module:AdminService",
    "$longname": "AdminService#rejectLogsRequest",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method removeAdministratorFromGroup\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @param {string} userId Superadmin or Support unique identifier\n     * @category Customer Care - Administrators Group\n     * @description\n     *     This API allows to remove one administrator from the group. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Delete operation status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14362,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "removeAdministratorFromGroup",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Superadmin or Support unique identifier",
        "name": "userId"
      }
    ],
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Administrators Group",
        "value": "Customer Care - Administrators Group"
      }
    ],
    "description": "This API allows to remove one administrator from the group. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Delete operation status message. |"
      }
    ],
    "longname": "module:AdminService#removeAdministratorFromGroup",
    "memberof": "module:AdminService",
    "$longname": "AdminService#removeAdministratorFromGroup",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method removeCloudPBXAssociationSubscriberAndSIPdevice\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier of the CloudPBX Subscriber on which the Sip device association must be deleted.\n     * @param {string} deviceId Unique identifier of the SIP device to free\n     * @description\n     *      This API allows to remove association between subscriber and the Sip Device (SIP device becomes available for another subscriber).</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10751,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Subscribers"
      }
    ],
    "kind": "function",
    "name": "removeCloudPBXAssociationSubscriberAndSIPdevice",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier of the CloudPBX Subscriber on which the Sip device association must be deleted.",
        "name": "phoneNumberId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device to free",
        "name": "deviceId"
      }
    ],
    "description": "This API allows to remove association between subscriber and the Sip Device (SIP device becomes available for another subscriber).</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#removeCloudPBXAssociationSubscriberAndSIPdevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#removeCloudPBXAssociationSubscriberAndSIPdevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method removeTagFromAllDirectoryEntries\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory tags\n     * @param {string} companyId Allows to list the tags for the directory entries of the companyIds provided in this option. </BR>\n     * If companyId is not provided, the tags are listed for all the directory entries of the companies managed by the logged in administrator.</BR>\n     * @param {string} tag tag to remove.\n     * @description\n     *      This API allows administrators to remove a tag being assigned to some directory entries of the companies managed by the administrator.</BR>\n     *      The parameter companyId can be used to limit the removal of the tag on the directory entries of the specified company(ies).</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13288,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory tags",
        "value": "Rainbow Company Directory portal - directory tags"
      }
    ],
    "kind": "function",
    "name": "removeTagFromAllDirectoryEntries",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to list the tags for the directory entries of the companyIds provided in this option. </BR>\nIf companyId is not provided, the tags are listed for all the directory entries of the companies managed by the logged in administrator.</BR>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "tag to remove.",
        "name": "tag"
      }
    ],
    "description": "This API allows administrators to remove a tag being assigned to some directory entries of the companies managed by the administrator.</BR>\n     The parameter companyId can be used to limit the removal of the tag on the directory entries of the specified company(ies).</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#removeTagFromAllDirectoryEntries",
    "memberof": "module:AdminService",
    "$longname": "AdminService#removeTagFromAllDirectoryEntries",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method renameTagForAllAssignedDirectoryEntries\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory tags\n     * @param {string} companyId Allows to rename a tag for the directory entries of the companyIds provided in this option.</BR>\n     * If companyId is not provided, the tag is renamed from all the directory entries of all the companies managed by the logged in administrator.</BR>\n     * @param {string} tag tag to rename.\n     * @param {string} newTagName New tag name.\n     * @description\n     *      This API allows administrators to rename a tag being assigned to some directory entries of the companies managed by the administrator.</BR>\n     *      The parameter companyId can be used to limit the renaming of the tag on the directory entries of the specified company(ies).</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13324,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory tags",
        "value": "Rainbow Company Directory portal - directory tags"
      }
    ],
    "kind": "function",
    "name": "renameTagForAllAssignedDirectoryEntries",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to rename a tag for the directory entries of the companyIds provided in this option.</BR>\nIf companyId is not provided, the tag is renamed from all the directory entries of all the companies managed by the logged in administrator.</BR>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "tag to rename.",
        "name": "tag"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "New tag name.",
        "name": "newTagName"
      }
    ],
    "description": "This API allows administrators to rename a tag being assigned to some directory entries of the companies managed by the administrator.</BR>\n     The parameter companyId can be used to limit the renaming of the tag on the directory entries of the specified company(ies).</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#renameTagForAllAssignedDirectoryEntries",
    "memberof": "module:AdminService",
    "$longname": "AdminService#renameTagForAllAssignedDirectoryEntries",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method renewExpiredApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to renew an expired application.\n     *\n     * </br> Users with `superadmin` role can renew an expired application.\n     * </br> Users with `admin` role can renew an expired application.\n     * </br> Users with `app_admin` role can renew an expired application.\n     * </br> Users with `app_superadmin` role can renew an expired application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17158,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "renewExpiredApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to renew an expired application.\n\n</br> Users with `superadmin` role can renew an expired application.\n</br> Users with `admin` role can renew an expired application.\n</br> Users with `app_admin` role can renew an expired application.\n</br> Users with `app_superadmin` role can renew an expired application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#renewExpiredApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#renewExpiredApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method requestDeploymentOfApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to request deployment of an application.\n     *\n     * </br> Users with `superadmin` role can request deployment of an application.\n     * </br> Users with `admin` role can request deployment of an application.\n     * </br> Users with `app_admin` role can request deployment of an application.\n     * </br> Users with `app_superadmin` role can request deployment of an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17181,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "requestDeploymentOfApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to request deployment of an application.\n\n</br> Users with `superadmin` role can request deployment of an application.\n</br> Users with `admin` role can request deployment of an application.\n</br> Users with `app_admin` role can request deployment of an application.\n</br> Users with `app_superadmin` role can request deployment of an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#requestDeploymentOfApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#requestDeploymentOfApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method requestToJoinCompany\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company requests\n     * @async\n     * @description\n     *       This API allows logged in user to send a request to join a company. </br>\n     *       This API can only be used by user himself. </br>\n     *       User must be in **Default** company and have only `user` role. </br>\n     *       This API can be called with one of these three parameters, depending of the use case: </br>\n     *       * `requestedCompanyId`: in the case the company can be found by the user (public company), the user can send the join company request directly using the companyId of the requested company. </br>\n     *       In that case, all users having role/admin type company_admin for the requested company will be notified (they will receive an email and a XMPP message (see below)). </br>\n     *       * `requestedCompanyAdminId`: in the case the company can not be found by the user (private company), the user must know the loginEmail of a company_admin of the company he wants to join. </br>\n     *       He will first have to invite this company_admin by email (invite user process. </br>\n     *       Once the company\\_admin will be in user's contact, he will be able to request to join company\\_admin's company using company_admin id. </br>\n     *       All users having role/admin type company\\_admin for the requested company\\_admin's company will be notified (they will receive an email and a XMPP message (see below)). </br>\n     *       * `requestedCompanyLinkId`: in the case the user received a joinCompanyLink Id from a company admin, he can use it to send the join company request to the associated company. </br>\n     *       All users having role/admin type company_admin for the company associated to the joinCompanyInvite will be notified (they will receive an email and a XMPP message (see below)). </br> </br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company request unique Id |\n     * | requestingUserId | string | Requesting user unique Rainbow Id |\n     * | requestingUserLoginEmail | string | Requesting user email |\n     * | requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n     * | requestedCompanyName | string | Name of the company the requesting user wants to join |\n     * | status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n     * | requestingDate | Date-Time | Date the request was created |\n     * | requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n     * | companyAdminId | string |     |\n     * | requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n     * | companyAdminLoginEmail | string |     |\n     *\n     * @param {string} requestedCompanyId Id of the company the user wants to join.  <br>  <br>One of `requestedCompanyId`, `requestedCompanyAdminId` or `requestedCompanyLinkId` is mandatory.\n     * @param {string} requestedCompanyAdminId Id of the company_admin of the company the user wants to join.  <br>  <br>One of `requestedCompanyId`, `requestedCompanyAdminId` or `requestedCompanyLinkId` is mandatory.\n     * @param {string} requestedCompanyLinkId  Id of the join company invite associated to the company the user wants to join.  <br>  <br>One of `requestedCompanyId`, `requestedCompanyAdminId` or `requestedCompanyLinkId` is mandatory.\n     * @param {string} lang=\"en\" Language of the email notification to use if language of company admin is not defined. <br>Language format is composed of locale using format `ISO 639-1`, with optionally the regional variation using `ISO 3166‑1 alpha-2` (separated by hyphen).  <br>Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ...  <br>More information about the format can be found on this [link](https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes).<br>Default value : `en`\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4940,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company requests",
        "value": "Company - Join company requests"
      }
    ],
    "kind": "function",
    "name": "requestToJoinCompany",
    "scope": "instance",
    "since": "2.21.0",
    "async": true,
    "description": "This API allows logged in user to send a request to join a company. </br>\n      This API can only be used by user himself. </br>\n      User must be in **Default** company and have only `user` role. </br>\n      This API can be called with one of these three parameters, depending of the use case: </br>\n      * `requestedCompanyId`: in the case the company can be found by the user (public company), the user can send the join company request directly using the companyId of the requested company. </br>\n      In that case, all users having role/admin type company_admin for the requested company will be notified (they will receive an email and a XMPP message (see below)). </br>\n      * `requestedCompanyAdminId`: in the case the company can not be found by the user (private company), the user must know the loginEmail of a company_admin of the company he wants to join. </br>\n      He will first have to invite this company_admin by email (invite user process. </br>\n      Once the company\\_admin will be in user's contact, he will be able to request to join company\\_admin's company using company_admin id. </br>\n      All users having role/admin type company\\_admin for the requested company\\_admin's company will be notified (they will receive an email and a XMPP message (see below)). </br>\n      * `requestedCompanyLinkId`: in the case the user received a joinCompanyLink Id from a company admin, he can use it to send the join company request to the associated company. </br>\n      All users having role/admin type company_admin for the company associated to the joinCompanyInvite will be notified (they will receive an email and a XMPP message (see below)). </br> </br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company request unique Id |\n| requestingUserId | string | Requesting user unique Rainbow Id |\n| requestingUserLoginEmail | string | Requesting user email |\n| requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n| requestedCompanyName | string | Name of the company the requesting user wants to join |\n| status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n| requestingDate | Date-Time | Date the request was created |\n| requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n| companyAdminId | string |     |\n| requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n| companyAdminLoginEmail | string |     |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company the user wants to join.  <br>  <br>One of `requestedCompanyId`, `requestedCompanyAdminId` or `requestedCompanyLinkId` is mandatory.",
        "name": "requestedCompanyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company_admin of the company the user wants to join.  <br>  <br>One of `requestedCompanyId`, `requestedCompanyAdminId` or `requestedCompanyLinkId` is mandatory.",
        "name": "requestedCompanyAdminId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the join company invite associated to the company the user wants to join.  <br>  <br>One of `requestedCompanyId`, `requestedCompanyAdminId` or `requestedCompanyLinkId` is mandatory.",
        "name": "requestedCompanyLinkId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"en\"",
        "description": "Language of the email notification to use if language of company admin is not defined. <br>Language format is composed of locale using format `ISO 639-1`, with optionally the regional variation using `ISO 3166‑1 alpha-2` (separated by hyphen).  <br>Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ...  <br>More information about the format can be found on this [link](https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes).<br>Default value : `en`",
        "name": "lang"
      }
    ],
    "longname": "module:AdminService#requestToJoinCompany",
    "memberof": "module:AdminService",
    "$longname": "AdminService#requestToJoinCompany",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method resendJoinCompanyRequest\n     * @instance\n     * @since 2.21.0\n     * @category Company - Join company requests\n     * @async\n     * @description\n     *       This API can be used by logged in user to re-send a request to join a company. </br>\n     *       This API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL). </br>\n     *       User must be in Default company and have only user role. </br>\n     *       If request is canceled or declined, it is set back to pending and then re-sent. </br>\n     *       If request is accepted or auto-accepted, error 409 is returned.  </br>\n     * @return {Promise<any>} the result of the operation.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Join company request unique Id |\n     * | requestingUserId | string | Requesting user unique Rainbow Id |\n     * | requestingUserLoginEmail | string | Requesting user email |\n     * | requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n     * | requestedCompanyName | string | Name of the company the requesting user wants to join |\n     * | status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n     * | requestingDate | Date-Time | Date the request was created |\n     * | requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n     * | lastNotificationDate | Date-Time | Date when the last email notification was sent |\n     * | requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n     * | companyAdminId | string |     |\n     * | requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n     * | companyAdminLoginEmail | string |     |\n     *\n     * @param {string} joinCompanyRequestId Join company request unique identifier\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4879,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company - Join company requests",
        "value": "Company - Join company requests"
      }
    ],
    "kind": "function",
    "name": "resendJoinCompanyRequest",
    "scope": "instance",
    "since": "2.21.0",
    "async": true,
    "description": "This API can be used by logged in user to re-send a request to join a company. </br>\n      This API can only be used by user himself (i.e. userId of logged in user = value of userId parameter in URL). </br>\n      User must be in Default company and have only user role. </br>\n      If request is canceled or declined, it is set back to pending and then re-sent. </br>\n      If request is accepted or auto-accepted, error 409 is returned.  </br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "the result of the operation.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Join company request unique Id |\n| requestingUserId | string | Requesting user unique Rainbow Id |\n| requestingUserLoginEmail | string | Requesting user email |\n| requestedCompanyId | string | Unique Id of the company the requesting user wants to join |\n| requestedCompanyName | string | Name of the company the requesting user wants to join |\n| status | string | Request status: one of `pending`, `accepted`, `declined`, `canceled` |\n| requestingDate | Date-Time | Date the request was created |\n| requestedNotificationLanguage | string | Requested notification language to use if language of company admin is not defined (used to re-send email request in that language) |\n| lastNotificationDate | Date-Time | Date when the last email notification was sent |\n| requestedToCompanyAdmin optionnel | Object | If the request was sent to a company administrator this field is present |\n| companyAdminId | string |     |\n| requestedCompanyInvitationId | string | If the request was sent using a JoinCompanyInvite id, this field is set with this Id |\n| companyAdminLoginEmail | string |     |"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company request unique identifier",
        "name": "joinCompanyRequestId"
      }
    ],
    "longname": "module:AdminService#resendJoinCompanyRequest",
    "memberof": "module:AdminService",
    "$longname": "AdminService#resendJoinCompanyRequest",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method resetRecoveryCodeForMultifactorAuthentication\n     * @since 2.22.4\n     * @instance\n     * @async\n     * @category Multifactor Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users to reset recovery code for multifactor authentication. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | status message |\n     * | mfaRecoveryCode | string | new recovery code |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13880,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Multifactor Rainbow Authentication",
        "value": "Multifactor Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "resetRecoveryCodeForMultifactorAuthentication",
    "since": "2.22.4",
    "scope": "instance",
    "async": true,
    "description": "This API allows Rainbow users to reset recovery code for multifactor authentication. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | status message |\n| mfaRecoveryCode | string | new recovery code |"
      }
    ],
    "longname": "module:AdminService#resetRecoveryCodeForMultifactorAuthentication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#resetRecoveryCodeForMultifactorAuthentication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method restartApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to restart an application.\n     *\n     * </br> Users with `superadmin` role can restart an application.\n     * </br> Users with `admin` role can restart an application.\n     * </br> Users with `app_admin` role can restart an application.\n     * </br> Users with `app_superadmin` role can restart an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17204,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "restartApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to restart an application.\n\n</br> Users with `superadmin` role can restart an application.\n</br> Users with `admin` role can restart an application.\n</br> Users with `app_admin` role can restart an application.\n</br> Users with `app_superadmin` role can restart an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#restartApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#restartApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method retrieveAllLdapConnectorUsersData\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} companyId the id of the company that allows to filter connectors list on the companyIds provided in this option.\n     * @param {string} format=\"small\" Allows to retrieve more or less user details in response.\n     * small: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\n     * medium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\n     * full: all user fields\n     * default : small\n     * Values : small, medium, full\n     * @param {number} limit=100 Allow to specify the number of users to retrieve. Default value : 100\n     * @param {number} offset Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.\n     * @param {string} sortField=\"displayName\" Sort user list based on the given field. Default : displayName\n     * @param {number} sortOrder=1 Specify order when sorting user list. Default : 1. Values : -1, 1\n     * @description\n     *     This API allows administrators to retrieve all the ldap connectors. </BR>\n     *     Users with superadmin, support role can retrieve the connectors from any company. </BR>\n     *     Users with bp_admin or bp_finance role can only retrieve the connectors in companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     *     Users with admin role can only retrieve the connectors in companies they can manage. That is to say: </BR>\n     *     an organization_admin can retrieve the connectors only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     *     a company_admin can only retrieve the connectors in his company. </BR>\n     *     This API can return more or less connector information using format option in query string arguments (default is small). </BR>\n     * </BR>\n     *      return { // List of connector Objects. </BR>\n     *          id string TV unique identifier. </BR>\n     *          name string TV name. </BR>\n     *          location optionnel string Location of the TV. </BR>\n     *          locationDetail optionnel string More detail on the location of the TV. </BR>\n     *          room optionnel string Name of the room where the TV is located. </BR>\n     *          companyId string company linked to the TV. </BR>\n     *          activationCode string Activation code (6 digits). The activationCode may be null in the case its generation in multi-environment database failed. In that case, a security mechanism takes place to generate this activation code asynchronously (try every minutes until the code creation is successful). As soon as the activation code is successfully generated in multi-environment database, the TV is updated accordingly (activationCode set to the generated code value) and with activationCodeGenerationStatus updated to done. </BR>\n     *          codeUpdateDate date Date of last activation code update. </BR>\n     *          status string TV status:    unassociated (no TV user).    associated with a TV user (the TV has been activated). </BR>\n     *          statusUpdatedDate Date-Time Date of last tv status update. </BR>\n     *          subscriptionId string Subscription to use when activating TV. </BR>\n     *          loginEmail string User email address (used for login) </BR>\n     *          firstName string User first name </BR>\n     *          lastName string User last name </BR>\n     *          displayName string User display name (firstName + lastName concatenated on server side) </BR>\n     *          nickName optionnel string User nickName </BR>\n     *          title optionnel string User title (honorifics title, like Mr, Mrs, Sir, Lord, Lady, Dr, Prof,...) </BR>\n     *          jobTitle optionnel string User job title </BR>\n     *          department optionnel string User department </BR>\n     *          tags optionnel string[] An Array of free tags associated to the user. A maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. tags can only be set by users who have administrator rights on the user. The user can't modify the tags. The tags are visible by the user and all users belonging to his organisation/company, and can be used with the search API to search the user based on his tags. </BR>\n     *          emails Object[] Array of user emails addresses objects </BR>\n     *             email string User email address </BR>\n     *             type string Email type, one of home, work, other </BR>\n     *          phoneNumbers Object[] Array of user phone numbers objects. Phone number objects can:   be created by user (information filled by user), come from association with a system (pbx) device (association is done by admin). </BR>\n     *              phoneNumberId string Phone number unique id in phone-numbers directory collection. </BR>\n     *              number optionnel string User phone number (as entered by user) </BR>\n     *              numberE164 optionnel string User E.164 phone number, computed by server from number and country fields </BR>\n     *              country     string Phone number country (ISO 3166-1 alpha3 format) country field is automatically computed using the following algorithm when creating/updating a phoneNumber entry: If number is provided and is in E164 format, country is computed from E164 number Else if country field is provided in the phoneNumber entry, this one is used Else user country field is used   isFromSystem boolean boolean indicating if phone is linked to a system (pbx). </BR>\n     *              shortNumber optionnel       string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), short phone number (corresponds to the number monitored by PCG). Only usable within the same PBX. Only PCG can set this field. </BR>\n     *              internalNumber optionnel    string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), internal phone number. Usable within a PBX group. Admins and users can modify this internalNumber field. </BR>\n     *              systemId optionnel  string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), unique identifier of that system in Rainbow database. </BR>\n     *              pbxId optionnel     string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), unique identifier of that pbx. </BR>\n     *              type        string Phone number type, one of home, work, other. </BR>\n     *              deviceType  string Phone number device type, one of landline, mobile, fax, other. </BR>\n     *              isVisibleByOthers   boolean Allow user to choose if the phone number is visible by other users or not. Note that administrators can see all the phone numbers, even if isVisibleByOthers is set to false. Note that phone numbers linked to a system (isFromSystem=true) are always visible, isVisibleByOthers can't be set to false for these numbers. </BR>\n     *         country  string User country (ISO 3166-1 alpha3 format) </BR>\n     *         state optionnel  string When country is 'USA' or 'CAN', a state can be defined. Else it is not managed (null). </BR>\n     *         language optionnel       string User language (ISO 639-1 code format, with possibility of regional variation. Ex: both 'en' and 'en-US' are supported) </BR>\n     *         timezone optionnel       string User timezone name </BR>\n     *         jid_im   string User Jabber IM identifier </BR>\n     *         jid_tel  string User Jabber TEL identifier </BR>\n     *         jid_password     string User Jabber IM and TEL password </BR>\n     *         roles    string[] List of user roles (Array of string) Note: company_support role is only used for support redirection. If a user writes a #support ticket and have the role company_support, the ticket will be sent to ALE's support (otherwise the ticket is sent to user's company's supportEmail address is set, ALE otherwise). </BR>\n     *         adminType        string In case of user's is 'admin', define the subtype (organisation_admin, company_admin, site_admin (default undefined) </BR>\n     *         organisationId   string In addition to User companyId, optional identifier to indicate the user belongs also to an organization </BR>\n     *         siteId   string In addition to User companyId, optional identifier to indicate the user belongs also to a site </BR>\n     *         companyName      string User company name </BR>\n     *         visibility       string User visibility Define if the user can be searched by users being in other company and if the user can search users being in other companies. Visibility can be: </BR>\n     *         same_than_company: The same visibility than the user's company's is applied to the user. When this user visibility is used, if the visibility of the company is changed the user's visibility will use this company new visibility. </BR>\n     *         public: User can be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n     *         private: User can't be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n     *         closed: User can't be searched by external users / can't search external users. User can invite external users / can be invited by external users </BR>\n     *         isolated: User can't be searched by external users / can't search external users. User can't invite external users / can't be invited by external users </BR>\n     *         none: Default value reserved for guest. User can't be searched by any users (even within the same company) / can search external users. User can invite external users / can be invited by external users </BR>\n     *         External users mean 'public user not being in user's company nor user's organisation nor a company visible by user's company. Values(same_than_company, public, private, closed, isolated, none) </BR>\n     *         isActive         boolean Is user active  </BR>\n     *         isInitialized    boolean Is user initialized </BR>\n     *         initializationDate       Date-Time User initialization date </BR>\n     *         activationDate   Date-Time User activation date </BR>\n     *         creationDate     Date-Time User creation date </BR>\n     *         lastUpdateDate   Date-Time Date of last user update (whatever the field updated) </BR>\n     *         lastAvatarUpdateDate     Date-Time Date of last user avatar create/update, null if no avatar </BR>\n     *         createdBySelfRegister    boolean true if user has been created using self register </BR>\n     *         createdByAdmin optionnel         Object If user has been created by an admin or superadmin, contain userId and loginEmail of the admin who created this user </BR>\n     *         userId   string userId of the admin who created this user </BR>\n     *         loginEmail       string loginEmail of the admin who created this user </BR>\n     *         invitedBy optionnel      Object If user has been created from an email invitation sent by another rainbow user, contain the date the invitation was sent and userId and loginEmail of the user who invited this user </BR>\n     *         userId   string userId of the user who invited this user </BR>\n     *         loginEmail       string loginEmail of the user who invited this user </BR>\n     *         authenticationType optionnel     string User authentication type (if not set company default authentication will be used) Values (DEFAULT, RAINBOW, SAML, OIDC) </BR>\n     *         authenticationExternalUid optionnel      string User external authentication ID (return by identity provider in case of SAML or OIDC authenticationType) </BR>\n     *         firstLoginDate   Date-Time Date of first user login (only set the first time user logs in, null if user never logged in) </BR>\n     *         lastLoginDate    Date-Time Date of last user login (defined even if user is logged out) </BR>\n     *         loggedSince      Date-Time Date of last user login (null if user is logged out) </BR>\n     *         isTerminated     boolean Indicates if the Rainbow account of this user has been deleted </BR>\n     *         guestMode        boolean Indicated a user embedded in a chat or conference room, as guest, with limited rights until he finalizes his registration. </BR>\n     *         timeToLive optionnel     Number Duration in second to wait before automatically starting a user deletion from the creation date. Once the timeToLive has been reached, the user won't be usable to use APIs anymore (error 401523). His account may then be deleted from the database at any moment. Value -1 means timeToLive is disable (i.e. user account will not expire). </BR>\n     *         userInfo1 optionnel      string Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n     *         userInfo2 optionnel      string 2nd Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n     *         useScreenSharingCustomisation    string Activate/Deactivate the capability for a user to share a screen. Define if a user has the right to share his screen. </BR>\n     *         useScreenSharingCustomisation can be: </BR>\n     *            same_than_company: The same useScreenSharingCustomisation setting than the user's company's is applied to the user. if the useScreenSharingCustomisation of the company is changed the user's useScreenSharingCustomisation will use this company new setting. </BR>\n     *            enabled: Each user of the company can share his screen. </BR>\n     *            disabled: No user of the company can share his screen. </BR>\n     *         customData optionnel     Object User's custom data. Object with free keys/values. It is up to the client to manage the user's customData (new customData provided overwrite the existing one). Restrictions on customData Object: max 20 keys, max key length: 64 characters, max value length: 4096 characters. </BR>\n     *         activationCodeGenerationStatus   string Status the activation code generation done if the activation code generation is successful </BR>\n     *         in_progress if the activation code generation failed and the security mechanism is ongoing to try to generate it again every minute Possible values : done, in_progress </BR>\n     *         fileSharingCustomisation         string Activate/Deactivate file sharing capability per user Define if the user can use the file sharing service then, allowed to download and share file. </BR>\n     *         FileSharingCustomisation can be: </BR>\n     *            same_than_company: The same fileSharingCustomisation setting than the user's company's is applied to the user. if the fileSharingCustomisation of the company is changed the user's fileSharingCustomisation will use this company new setting. </BR>\n     *            enabled: Whatever the fileSharingCustomisation of the company setting, the user can use the file sharing service. </BR>\n     *            disabled: Whatever the fileSharingCustomisation of the company setting, the user can't use the file sharing service. </BR>\n     *         userTitleNameCustomisation       string Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) Define if the user can change some profile data. </BR>\n     *         userTitleNameCustomisation can be: </BR>\n     *            same_than_company: The same userTitleNameCustomisation setting than the user's company's is applied to the user. if the userTitleNameCustomisation of the company is changed the user's userTitleNameCustomisation will use this company new setting. </BR>\n     *            enabled: Whatever the userTitleNameCustomisation of the company setting, the user can change some profile data. </BR>\n     *            disabled: Whatever the userTitleNameCustomisation of the company setting, the user can't change some profile data. </BR>\n     *         softphoneOnlyCustomisation       string Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services but to focus to telephony services Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on. </BR>\n     *         softphoneOnlyCustomisation can be: </BR>\n     *            same_than_company: The same softphoneOnlyCustomisation setting than the user's company's is applied to the user. if the softphoneOnlyCustomisation of the company is changed the user's softphoneOnlyCustomisation will use this company new setting. </BR>\n     *            enabled: The user switch to a softphone mode only. </BR>\n     *            disabled: The user can use telephony services, chat, bubbles, channels meeting services and so on. </BR>\n     *         useRoomCustomisation     string Activate/Deactivate the capability for a user to use bubbles. Define if a user can create bubbles or participate in bubbles (chat and web conference). </BR>\n     *         useRoomCustomisation can be: </BR>\n     *            same_than_company: The same useRoomCustomisation setting than the user's company's is applied to the user. if the useRoomCustomisation of the company is changed the user's useRoomCustomisation will use this company new setting. </BR>\n     *            enabled: The user can use bubbles. </BR>\n     *            disabled: The user can't use bubbles. </BR>\n     *         phoneMeetingCustomisation        string Activate/Deactivate the capability for a user to use phone meetings (PSTN conference). Define if a user has the right to join phone meetings. </BR>\n     *         phoneMeetingCustomisation can be: </BR>\n     *            same_than_company: The same phoneMeetingCustomisation setting than the user's company's is applied to the user. if the phoneMeetingCustomisation of the company is changed the user's phoneMeetingCustomisation will use this company new setting. </BR>\n     *            enabled: The user can join phone meetings. </BR>\n     *            disabled: The user can't join phone meetings. </BR>\n     *         useChannelCustomisation  string Activate/Deactivate the capability for a user to use a channel. Define if a user has the right to create channels or be a member of channels. </BR>\n     *         useChannelCustomisation can be: </BR>\n     *            same_than_company: The same useChannelCustomisation setting than the user's company's is applied to the user. if the useChannelCustomisation of the company is changed the user's useChannelCustomisation will use this company new setting. </BR>\n     *            enabled: The user can use some channels. </BR>\n     *            disabled: The user can't use some channel. </BR>\n     *         useWebRTCVideoCustomisation      string Activate/Deactivate the capability for a user to switch to a Web RTC video conversation. Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call). </BR>\n     *         useWebRTCVideoCustomisation can be: </BR>\n     *            same_than_company: The same useWebRTCVideoCustomisation setting than the user's company's is applied to the user. if the useWebRTCVideoCustomisation of the company is changed the user's useWebRTCVideoCustomisation will use this company new setting. </BR>\n     *            enabled: The user can switch to a Web RTC video conversation. </BR>\n     *            disabled: The user can't switch to a Web RTC video conversation. </BR>\n     *         useWebRTCAudioCustomisation      string Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation. Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call). </BR>\n     *         useWebRTCAudioCustomisation can be: </BR>\n     *            same_than_company: The same useWebRTCAudioCustomisation setting than the user's company's is applied to the user. if the useWebRTCAudioCustomisation of the company is changed the user's useWebRTCAudioCustomisation will use this company new setting. </BR>\n     *            enabled: The user can switch to a Web RTC audio conversation. </BR>\n     *            disabled: The user can't switch to a Web RTC audio conversation. </BR>\n     *         instantMessagesCustomisation     string Activate/Deactivate the capability for a user to use instant messages. Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications. </BR>\n     *         instantMessagesCustomisation can be: </BR>\n     *            same_than_company: The same instantMessagesCustomisation setting than the user's company's is applied to the user. if the instantMessagesCustomisation of the company is changed the user's instantMessagesCustomisation will use this company new setting. </BR>\n     *            enabled: The user can use instant messages. </BR>\n     *            disabled: The user can't use instant messages. </BR>\n     *         userProfileCustomisation         string Activate/Deactivate the capability for a user to modify his profile. Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName). </BR>\n     *         userProfileCustomisation can be: </BR>\n     *            same_than_company: The same userProfileCustomisation setting than the user's company's is applied to the user. if the userProfileCustomisation of the company is changed the user's userProfileCustomisation will use this company new setting. </BR>\n     *            enabled: The user can modify his profile. </BR>\n     *            disabled: The user can't modify his profile. </BR>\n     *         fileStorageCustomisation         string Activate/Deactivate the capability for a user to access to Rainbow file storage.. Define if a user has the right to upload/download/copy or share documents. </BR>\n     *         fileStorageCustomisation can be: </BR>\n     *            same_than_company: The same fileStorageCustomisation setting than the user's company's is applied to the user. if the fileStorageCustomisation of the company is changed the user's fileStorageCustomisation will use this company new setting. </BR>\n     *            enabled: The user can manage and share files. </BR>\n     *            disabled: The user can't manage and share files. </BR>\n     *         overridePresenceCustomisation    string Activate/Deactivate the capability for a user to use instant messages. Define if a user has the right to change his presence manually or only use automatic states. </BR>\n     *         overridePresenceCustomisation can be: </BR>\n     *            same_than_company: The same overridePresenceCustomisation setting than the user's company's is applied to the user. if the overridePresenceCustomisation of the company is changed the user's overridePresenceCustomisation will use this company new setting. </BR>\n     *            enabled: The user can change his presence. </BR>\n     *            disabled: The user can't change his presence. </BR>\n     *         changeTelephonyCustomisation     string Activate/Deactivate the ability for a user to modify telephony settings. Define if a user has the right to modify some telephony settigs like forward activation... </BR>\n     *         changeTelephonyCustomisation can be: </BR>\n     *            same_than_company: The same changeTelephonyCustomisation setting than the user's company's is applied to the user. if the changeTelephonyCustomisation of the company is changed the user's changeTelephonyCustomisation will use this company new setting. </BR>\n     *            enabled: The user can modify telephony settings. </BR>\n     *            disabled: The user can't modify telephony settings. </BR>\n     *         changeSettingsCustomisation      string Activate/Deactivate the ability for a user to change all client general settings. </BR>\n     *         changeSettingsCustomisation can be: </BR>\n     *            same_than_company: The same changeSettingsCustomisation setting than the user's company's is applied to the user. if the changeSettingsCustomisation of the company is changed the user's changeSettingsCustomisation will use this company new setting. </BR>\n     *            enabled: The user can change all client general settings. </BR>\n     *            disabled: The user can't change any client general setting. </BR>\n     *         recordingConversationCustomisation       string Activate/Deactivate the capability for a user to record a conversation. Define if a user has the right to record a conversation (for P2P and multi-party calls). </BR>\n     *         recordingConversationCustomisation can be: </BR>\n     *            same_than_company: The same recordingConversationCustomisation setting than the user's company's is applied to the user. if the recordingConversationCustomisation of the company is changed the user's recordingConversationCustomisation will use this company new setting. </BR>\n     *            enabled: The user can record a peer to peer or a multi-party call. </BR>\n     *            disabled: The user can't record a peer to peer or a multi-party call. </BR>\n     *         useGifCustomisation      string Activate/Deactivate the ability for a user to Use GIFs in conversations. Define if a user has the is allowed to send animated GIFs in conversations </BR>\n     *         useGifCustomisation can be: </BR>\n     *            same_than_company: The same useGifCustomisation setting than the user's company's is applied to the user. if the useGifCustomisation of the company is changed the user's useGifCustomisation will use this company new setting. </BR>\n     *            enabled: The user can send animated GIFs in conversations. </BR>\n     *            disabled: The user can't send animated GIFs in conversations. </BR>\n     *         fileCopyCustomisation    string Activate/Deactivate the capability for one user to copy any file he receives in his personal cloud space </BR>\n     *         fileCopyCustomisation can be: </BR>\n     *            same_than_company: The same fileCopyCustomisation setting than the user's company's is applied to the user. if the fileCopyCustomisation of the company is changed the user's fileCopyCustomisation will use this company new setting. </BR>\n     *            enabled: The user can make a copy of a file to his personal cloud space. </BR>\n     *            disabled: The user can't make a copy of a file to his personal cloud space. </BR>\n     *         fileTransferCustomisation        string Activate/Deactivate the capability for a user to copy a file from a conversation then share it inside another conversation. The file cannot be re-shared. </BR>\n     *         fileTransferCustomisation can be: </BR>\n     *            same_than_company: The same fileTransferCustomisation setting than the user's company's is applied to the user. if the fileTransferCustomisation of the company is changed the user's fileTransferCustomisation will use this company new setting. </BR>\n     *            enabled: The user can transfer a file doesn't belong to him. </BR>\n     *            disabled: The user can't transfer a file doesn't belong to him. </BR>\n     *         forbidFileOwnerChangeCustomisation       string Activate/Deactivate the capability for a user to loose the ownership on one file.. One user can drop the ownership to another Rainbow user of the same company. </BR>\n     *         forbidFileOwnerChangeCustomisation can be: </BR>\n     *            same_than_company: The same forbidFileOwnerChangeCustomisation setting than the user's company's is applied to the user. if the forbidFileOwnerChangeCustomisation of the company is changed the user's forbidFileOwnerChangeCustomisation will use this company new setting. </BR>\n     *            enabled: The user can't give the ownership of his file. </BR>\n     *            disabled: The user can give the ownership of his file. </BR>\n     *         useDialOutCustomisation  string Activate/Deactivate the capability for a user to use dial out in phone meetings. Define if a user is allowed to be called by the Rainbow conference bridge. </BR>\n     *         useDialOutCustomisation can be: </BR>\n     *            same_than_company: The same useDialOutCustomisation setting than the user's company's is applied to the user. if the useDialOutCustomisation of the company is changed the user's useDialOutCustomisation will use this company new setting. </BR>\n     *            enabled: The user can be called by the Rainbow conference bridge. </BR>\n     *            disabled: The user can't be called by the Rainbow conference bridge. </BR>\n     *         selectedAppCustomisationTemplate         string To log the last template applied to the user. </BR>\n     *      } </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8732,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveAllLdapConnectorUsersData",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the company that allows to filter connectors list on the companyIds provided in this option.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less user details in response.\nsmall: id, loginEmail, firstName, lastName, displayName, companyId, companyName, isTerminated\nmedium: id, loginEmail, firstName, lastName, displayName, jid_im, jid_tel, companyId, companyName, lastUpdateDate, lastAvatarUpdateDate, isTerminated, guestMode\nfull: all user fields\ndefault : small\nValues : small, medium, full",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Allow to specify the number of users to retrieve. Default value : 100",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Allow to specify the position of first user to retrieve (first user if not specified). Warning: if offset > total, no results are returned.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"displayName\"",
        "description": "Sort user list based on the given field. Default : displayName",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Specify order when sorting user list. Default : 1. Values : -1, 1",
        "name": "sortOrder"
      }
    ],
    "description": "This API allows administrators to retrieve all the ldap connectors. </BR>\n    Users with superadmin, support role can retrieve the connectors from any company. </BR>\n    Users with bp_admin or bp_finance role can only retrieve the connectors in companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n    Users with admin role can only retrieve the connectors in companies they can manage. That is to say: </BR>\n    an organization_admin can retrieve the connectors only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n    a company_admin can only retrieve the connectors in his company. </BR>\n    This API can return more or less connector information using format option in query string arguments (default is small). </BR>\n</BR>\n     return { // List of connector Objects. </BR>\n         id string TV unique identifier. </BR>\n         name string TV name. </BR>\n         location optionnel string Location of the TV. </BR>\n         locationDetail optionnel string More detail on the location of the TV. </BR>\n         room optionnel string Name of the room where the TV is located. </BR>\n         companyId string company linked to the TV. </BR>\n         activationCode string Activation code (6 digits). The activationCode may be null in the case its generation in multi-environment database failed. In that case, a security mechanism takes place to generate this activation code asynchronously (try every minutes until the code creation is successful). As soon as the activation code is successfully generated in multi-environment database, the TV is updated accordingly (activationCode set to the generated code value) and with activationCodeGenerationStatus updated to done. </BR>\n         codeUpdateDate date Date of last activation code update. </BR>\n         status string TV status:    unassociated (no TV user).    associated with a TV user (the TV has been activated). </BR>\n         statusUpdatedDate Date-Time Date of last tv status update. </BR>\n         subscriptionId string Subscription to use when activating TV. </BR>\n         loginEmail string User email address (used for login) </BR>\n         firstName string User first name </BR>\n         lastName string User last name </BR>\n         displayName string User display name (firstName + lastName concatenated on server side) </BR>\n         nickName optionnel string User nickName </BR>\n         title optionnel string User title (honorifics title, like Mr, Mrs, Sir, Lord, Lady, Dr, Prof,...) </BR>\n         jobTitle optionnel string User job title </BR>\n         department optionnel string User department </BR>\n         tags optionnel string[] An Array of free tags associated to the user. A maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. tags can only be set by users who have administrator rights on the user. The user can't modify the tags. The tags are visible by the user and all users belonging to his organisation/company, and can be used with the search API to search the user based on his tags. </BR>\n         emails Object[] Array of user emails addresses objects </BR>\n            email string User email address </BR>\n            type string Email type, one of home, work, other </BR>\n         phoneNumbers Object[] Array of user phone numbers objects. Phone number objects can:   be created by user (information filled by user), come from association with a system (pbx) device (association is done by admin). </BR>\n             phoneNumberId string Phone number unique id in phone-numbers directory collection. </BR>\n             number optionnel string User phone number (as entered by user) </BR>\n             numberE164 optionnel string User E.164 phone number, computed by server from number and country fields </BR>\n             country     string Phone number country (ISO 3166-1 alpha3 format) country field is automatically computed using the following algorithm when creating/updating a phoneNumber entry: If number is provided and is in E164 format, country is computed from E164 number Else if country field is provided in the phoneNumber entry, this one is used Else user country field is used   isFromSystem boolean boolean indicating if phone is linked to a system (pbx). </BR>\n             shortNumber optionnel       string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), short phone number (corresponds to the number monitored by PCG). Only usable within the same PBX. Only PCG can set this field. </BR>\n             internalNumber optionnel    string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), internal phone number. Usable within a PBX group. Admins and users can modify this internalNumber field. </BR>\n             systemId optionnel  string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), unique identifier of that system in Rainbow database. </BR>\n             pbxId optionnel     string [Only for phone numbers linked to a system (pbx)] If phone is linked to a system (pbx), unique identifier of that pbx. </BR>\n             type        string Phone number type, one of home, work, other. </BR>\n             deviceType  string Phone number device type, one of landline, mobile, fax, other. </BR>\n             isVisibleByOthers   boolean Allow user to choose if the phone number is visible by other users or not. Note that administrators can see all the phone numbers, even if isVisibleByOthers is set to false. Note that phone numbers linked to a system (isFromSystem=true) are always visible, isVisibleByOthers can't be set to false for these numbers. </BR>\n        country  string User country (ISO 3166-1 alpha3 format) </BR>\n        state optionnel  string When country is 'USA' or 'CAN', a state can be defined. Else it is not managed (null). </BR>\n        language optionnel       string User language (ISO 639-1 code format, with possibility of regional variation. Ex: both 'en' and 'en-US' are supported) </BR>\n        timezone optionnel       string User timezone name </BR>\n        jid_im   string User Jabber IM identifier </BR>\n        jid_tel  string User Jabber TEL identifier </BR>\n        jid_password     string User Jabber IM and TEL password </BR>\n        roles    string[] List of user roles (Array of string) Note: company_support role is only used for support redirection. If a user writes a #support ticket and have the role company_support, the ticket will be sent to ALE's support (otherwise the ticket is sent to user's company's supportEmail address is set, ALE otherwise). </BR>\n        adminType        string In case of user's is 'admin', define the subtype (organisation_admin, company_admin, site_admin (default undefined) </BR>\n        organisationId   string In addition to User companyId, optional identifier to indicate the user belongs also to an organization </BR>\n        siteId   string In addition to User companyId, optional identifier to indicate the user belongs also to a site </BR>\n        companyName      string User company name </BR>\n        visibility       string User visibility Define if the user can be searched by users being in other company and if the user can search users being in other companies. Visibility can be: </BR>\n        same_than_company: The same visibility than the user's company's is applied to the user. When this user visibility is used, if the visibility of the company is changed the user's visibility will use this company new visibility. </BR>\n        public: User can be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n        private: User can't be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n        closed: User can't be searched by external users / can't search external users. User can invite external users / can be invited by external users </BR>\n        isolated: User can't be searched by external users / can't search external users. User can't invite external users / can't be invited by external users </BR>\n        none: Default value reserved for guest. User can't be searched by any users (even within the same company) / can search external users. User can invite external users / can be invited by external users </BR>\n        External users mean 'public user not being in user's company nor user's organisation nor a company visible by user's company. Values(same_than_company, public, private, closed, isolated, none) </BR>\n        isActive         boolean Is user active  </BR>\n        isInitialized    boolean Is user initialized </BR>\n        initializationDate       Date-Time User initialization date </BR>\n        activationDate   Date-Time User activation date </BR>\n        creationDate     Date-Time User creation date </BR>\n        lastUpdateDate   Date-Time Date of last user update (whatever the field updated) </BR>\n        lastAvatarUpdateDate     Date-Time Date of last user avatar create/update, null if no avatar </BR>\n        createdBySelfRegister    boolean true if user has been created using self register </BR>\n        createdByAdmin optionnel         Object If user has been created by an admin or superadmin, contain userId and loginEmail of the admin who created this user </BR>\n        userId   string userId of the admin who created this user </BR>\n        loginEmail       string loginEmail of the admin who created this user </BR>\n        invitedBy optionnel      Object If user has been created from an email invitation sent by another rainbow user, contain the date the invitation was sent and userId and loginEmail of the user who invited this user </BR>\n        userId   string userId of the user who invited this user </BR>\n        loginEmail       string loginEmail of the user who invited this user </BR>\n        authenticationType optionnel     string User authentication type (if not set company default authentication will be used) Values (DEFAULT, RAINBOW, SAML, OIDC) </BR>\n        authenticationExternalUid optionnel      string User external authentication ID (return by identity provider in case of SAML or OIDC authenticationType) </BR>\n        firstLoginDate   Date-Time Date of first user login (only set the first time user logs in, null if user never logged in) </BR>\n        lastLoginDate    Date-Time Date of last user login (defined even if user is logged out) </BR>\n        loggedSince      Date-Time Date of last user login (null if user is logged out) </BR>\n        isTerminated     boolean Indicates if the Rainbow account of this user has been deleted </BR>\n        guestMode        boolean Indicated a user embedded in a chat or conference room, as guest, with limited rights until he finalizes his registration. </BR>\n        timeToLive optionnel     Number Duration in second to wait before automatically starting a user deletion from the creation date. Once the timeToLive has been reached, the user won't be usable to use APIs anymore (error 401523). His account may then be deleted from the database at any moment. Value -1 means timeToLive is disable (i.e. user account will not expire). </BR>\n        userInfo1 optionnel      string Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n        userInfo2 optionnel      string 2nd Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n        useScreenSharingCustomisation    string Activate/Deactivate the capability for a user to share a screen. Define if a user has the right to share his screen. </BR>\n        useScreenSharingCustomisation can be: </BR>\n           same_than_company: The same useScreenSharingCustomisation setting than the user's company's is applied to the user. if the useScreenSharingCustomisation of the company is changed the user's useScreenSharingCustomisation will use this company new setting. </BR>\n           enabled: Each user of the company can share his screen. </BR>\n           disabled: No user of the company can share his screen. </BR>\n        customData optionnel     Object User's custom data. Object with free keys/values. It is up to the client to manage the user's customData (new customData provided overwrite the existing one). Restrictions on customData Object: max 20 keys, max key length: 64 characters, max value length: 4096 characters. </BR>\n        activationCodeGenerationStatus   string Status the activation code generation done if the activation code generation is successful </BR>\n        in_progress if the activation code generation failed and the security mechanism is ongoing to try to generate it again every minute Possible values : done, in_progress </BR>\n        fileSharingCustomisation         string Activate/Deactivate file sharing capability per user Define if the user can use the file sharing service then, allowed to download and share file. </BR>\n        FileSharingCustomisation can be: </BR>\n           same_than_company: The same fileSharingCustomisation setting than the user's company's is applied to the user. if the fileSharingCustomisation of the company is changed the user's fileSharingCustomisation will use this company new setting. </BR>\n           enabled: Whatever the fileSharingCustomisation of the company setting, the user can use the file sharing service. </BR>\n           disabled: Whatever the fileSharingCustomisation of the company setting, the user can't use the file sharing service. </BR>\n        userTitleNameCustomisation       string Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) Define if the user can change some profile data. </BR>\n        userTitleNameCustomisation can be: </BR>\n           same_than_company: The same userTitleNameCustomisation setting than the user's company's is applied to the user. if the userTitleNameCustomisation of the company is changed the user's userTitleNameCustomisation will use this company new setting. </BR>\n           enabled: Whatever the userTitleNameCustomisation of the company setting, the user can change some profile data. </BR>\n           disabled: Whatever the userTitleNameCustomisation of the company setting, the user can't change some profile data. </BR>\n        softphoneOnlyCustomisation       string Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services but to focus to telephony services Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on. </BR>\n        softphoneOnlyCustomisation can be: </BR>\n           same_than_company: The same softphoneOnlyCustomisation setting than the user's company's is applied to the user. if the softphoneOnlyCustomisation of the company is changed the user's softphoneOnlyCustomisation will use this company new setting. </BR>\n           enabled: The user switch to a softphone mode only. </BR>\n           disabled: The user can use telephony services, chat, bubbles, channels meeting services and so on. </BR>\n        useRoomCustomisation     string Activate/Deactivate the capability for a user to use bubbles. Define if a user can create bubbles or participate in bubbles (chat and web conference). </BR>\n        useRoomCustomisation can be: </BR>\n           same_than_company: The same useRoomCustomisation setting than the user's company's is applied to the user. if the useRoomCustomisation of the company is changed the user's useRoomCustomisation will use this company new setting. </BR>\n           enabled: The user can use bubbles. </BR>\n           disabled: The user can't use bubbles. </BR>\n        phoneMeetingCustomisation        string Activate/Deactivate the capability for a user to use phone meetings (PSTN conference). Define if a user has the right to join phone meetings. </BR>\n        phoneMeetingCustomisation can be: </BR>\n           same_than_company: The same phoneMeetingCustomisation setting than the user's company's is applied to the user. if the phoneMeetingCustomisation of the company is changed the user's phoneMeetingCustomisation will use this company new setting. </BR>\n           enabled: The user can join phone meetings. </BR>\n           disabled: The user can't join phone meetings. </BR>\n        useChannelCustomisation  string Activate/Deactivate the capability for a user to use a channel. Define if a user has the right to create channels or be a member of channels. </BR>\n        useChannelCustomisation can be: </BR>\n           same_than_company: The same useChannelCustomisation setting than the user's company's is applied to the user. if the useChannelCustomisation of the company is changed the user's useChannelCustomisation will use this company new setting. </BR>\n           enabled: The user can use some channels. </BR>\n           disabled: The user can't use some channel. </BR>\n        useWebRTCVideoCustomisation      string Activate/Deactivate the capability for a user to switch to a Web RTC video conversation. Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call). </BR>\n        useWebRTCVideoCustomisation can be: </BR>\n           same_than_company: The same useWebRTCVideoCustomisation setting than the user's company's is applied to the user. if the useWebRTCVideoCustomisation of the company is changed the user's useWebRTCVideoCustomisation will use this company new setting. </BR>\n           enabled: The user can switch to a Web RTC video conversation. </BR>\n           disabled: The user can't switch to a Web RTC video conversation. </BR>\n        useWebRTCAudioCustomisation      string Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation. Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call). </BR>\n        useWebRTCAudioCustomisation can be: </BR>\n           same_than_company: The same useWebRTCAudioCustomisation setting than the user's company's is applied to the user. if the useWebRTCAudioCustomisation of the company is changed the user's useWebRTCAudioCustomisation will use this company new setting. </BR>\n           enabled: The user can switch to a Web RTC audio conversation. </BR>\n           disabled: The user can't switch to a Web RTC audio conversation. </BR>\n        instantMessagesCustomisation     string Activate/Deactivate the capability for a user to use instant messages. Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications. </BR>\n        instantMessagesCustomisation can be: </BR>\n           same_than_company: The same instantMessagesCustomisation setting than the user's company's is applied to the user. if the instantMessagesCustomisation of the company is changed the user's instantMessagesCustomisation will use this company new setting. </BR>\n           enabled: The user can use instant messages. </BR>\n           disabled: The user can't use instant messages. </BR>\n        userProfileCustomisation         string Activate/Deactivate the capability for a user to modify his profile. Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName). </BR>\n        userProfileCustomisation can be: </BR>\n           same_than_company: The same userProfileCustomisation setting than the user's company's is applied to the user. if the userProfileCustomisation of the company is changed the user's userProfileCustomisation will use this company new setting. </BR>\n           enabled: The user can modify his profile. </BR>\n           disabled: The user can't modify his profile. </BR>\n        fileStorageCustomisation         string Activate/Deactivate the capability for a user to access to Rainbow file storage.. Define if a user has the right to upload/download/copy or share documents. </BR>\n        fileStorageCustomisation can be: </BR>\n           same_than_company: The same fileStorageCustomisation setting than the user's company's is applied to the user. if the fileStorageCustomisation of the company is changed the user's fileStorageCustomisation will use this company new setting. </BR>\n           enabled: The user can manage and share files. </BR>\n           disabled: The user can't manage and share files. </BR>\n        overridePresenceCustomisation    string Activate/Deactivate the capability for a user to use instant messages. Define if a user has the right to change his presence manually or only use automatic states. </BR>\n        overridePresenceCustomisation can be: </BR>\n           same_than_company: The same overridePresenceCustomisation setting than the user's company's is applied to the user. if the overridePresenceCustomisation of the company is changed the user's overridePresenceCustomisation will use this company new setting. </BR>\n           enabled: The user can change his presence. </BR>\n           disabled: The user can't change his presence. </BR>\n        changeTelephonyCustomisation     string Activate/Deactivate the ability for a user to modify telephony settings. Define if a user has the right to modify some telephony settigs like forward activation... </BR>\n        changeTelephonyCustomisation can be: </BR>\n           same_than_company: The same changeTelephonyCustomisation setting than the user's company's is applied to the user. if the changeTelephonyCustomisation of the company is changed the user's changeTelephonyCustomisation will use this company new setting. </BR>\n           enabled: The user can modify telephony settings. </BR>\n           disabled: The user can't modify telephony settings. </BR>\n        changeSettingsCustomisation      string Activate/Deactivate the ability for a user to change all client general settings. </BR>\n        changeSettingsCustomisation can be: </BR>\n           same_than_company: The same changeSettingsCustomisation setting than the user's company's is applied to the user. if the changeSettingsCustomisation of the company is changed the user's changeSettingsCustomisation will use this company new setting. </BR>\n           enabled: The user can change all client general settings. </BR>\n           disabled: The user can't change any client general setting. </BR>\n        recordingConversationCustomisation       string Activate/Deactivate the capability for a user to record a conversation. Define if a user has the right to record a conversation (for P2P and multi-party calls). </BR>\n        recordingConversationCustomisation can be: </BR>\n           same_than_company: The same recordingConversationCustomisation setting than the user's company's is applied to the user. if the recordingConversationCustomisation of the company is changed the user's recordingConversationCustomisation will use this company new setting. </BR>\n           enabled: The user can record a peer to peer or a multi-party call. </BR>\n           disabled: The user can't record a peer to peer or a multi-party call. </BR>\n        useGifCustomisation      string Activate/Deactivate the ability for a user to Use GIFs in conversations. Define if a user has the is allowed to send animated GIFs in conversations </BR>\n        useGifCustomisation can be: </BR>\n           same_than_company: The same useGifCustomisation setting than the user's company's is applied to the user. if the useGifCustomisation of the company is changed the user's useGifCustomisation will use this company new setting. </BR>\n           enabled: The user can send animated GIFs in conversations. </BR>\n           disabled: The user can't send animated GIFs in conversations. </BR>\n        fileCopyCustomisation    string Activate/Deactivate the capability for one user to copy any file he receives in his personal cloud space </BR>\n        fileCopyCustomisation can be: </BR>\n           same_than_company: The same fileCopyCustomisation setting than the user's company's is applied to the user. if the fileCopyCustomisation of the company is changed the user's fileCopyCustomisation will use this company new setting. </BR>\n           enabled: The user can make a copy of a file to his personal cloud space. </BR>\n           disabled: The user can't make a copy of a file to his personal cloud space. </BR>\n        fileTransferCustomisation        string Activate/Deactivate the capability for a user to copy a file from a conversation then share it inside another conversation. The file cannot be re-shared. </BR>\n        fileTransferCustomisation can be: </BR>\n           same_than_company: The same fileTransferCustomisation setting than the user's company's is applied to the user. if the fileTransferCustomisation of the company is changed the user's fileTransferCustomisation will use this company new setting. </BR>\n           enabled: The user can transfer a file doesn't belong to him. </BR>\n           disabled: The user can't transfer a file doesn't belong to him. </BR>\n        forbidFileOwnerChangeCustomisation       string Activate/Deactivate the capability for a user to loose the ownership on one file.. One user can drop the ownership to another Rainbow user of the same company. </BR>\n        forbidFileOwnerChangeCustomisation can be: </BR>\n           same_than_company: The same forbidFileOwnerChangeCustomisation setting than the user's company's is applied to the user. if the forbidFileOwnerChangeCustomisation of the company is changed the user's forbidFileOwnerChangeCustomisation will use this company new setting. </BR>\n           enabled: The user can't give the ownership of his file. </BR>\n           disabled: The user can give the ownership of his file. </BR>\n        useDialOutCustomisation  string Activate/Deactivate the capability for a user to use dial out in phone meetings. Define if a user is allowed to be called by the Rainbow conference bridge. </BR>\n        useDialOutCustomisation can be: </BR>\n           same_than_company: The same useDialOutCustomisation setting than the user's company's is applied to the user. if the useDialOutCustomisation of the company is changed the user's useDialOutCustomisation will use this company new setting. </BR>\n           enabled: The user can be called by the Rainbow conference bridge. </BR>\n           disabled: The user can't be called by the Rainbow conference bridge. </BR>\n        selectedAppCustomisationTemplate         string To log the last template applied to the user. </BR>\n     } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveAllLdapConnectorUsersData",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveAllLdapConnectorUsersData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method retrieveAllOffersOfCompanyById\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} companyId Id of the company to be retrieve the offers.\n     * @param {string} format=\"small\" - Allows retrieving different levels of offer details. Options: 'small', 'medium', 'full'.\n     * @param {string} name - Filters the offer list by name.\n     * @param {boolean} canBeSold - Filters offer list by 'canBeSold' field.\n     * @param {boolean} autoSubscribe - Filters offer list by 'autoSubscribe' field.\n     * @param {boolean} isExclusive - Filters offer list by 'isExclusive' field.\n     * @param {boolean} isPrepaid - Filters offer list by 'isPrepaid' field.\n     * @param {boolean} profileId - Filters offer list by 'profileId' field.\n     * @param {boolean} offerReference - Filters offer list by 'offerReference' field.\n     * @param {boolean} sapReference - Filters offer list by 'sapReference' field.\n     * @param {number} limit=100 - Specifies the number of offers to retrieve.\n     * @param {number} offset=0 - Specifies the starting position of offers to retrieve.\n     * @param {string} sortField=\"name\" - Field to sort the offers by. Options: '_id', 'name'.\n     * @param {number} sortOrder=1 - Order for sorting. Options: 1 (ascending), -1 (descending).\n     * @description\n     *      Method to retrieve all the offers of one company on server. </BR>\n     * @return {Promise<Array<any>>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6689,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "retrieveAllOffersOfCompanyById",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company to be retrieve the offers.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows retrieving different levels of offer details. Options: 'small', 'medium', 'full'.",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Filters the offer list by name.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Filters offer list by 'canBeSold' field.",
        "name": "canBeSold"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Filters offer list by 'autoSubscribe' field.",
        "name": "autoSubscribe"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Filters offer list by 'isExclusive' field.",
        "name": "isExclusive"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Filters offer list by 'isPrepaid' field.",
        "name": "isPrepaid"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Filters offer list by 'profileId' field.",
        "name": "profileId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Filters offer list by 'offerReference' field.",
        "name": "offerReference"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Filters offer list by 'sapReference' field.",
        "name": "sapReference"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 100,
        "description": "Specifies the number of offers to retrieve.",
        "name": "limit"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 0,
        "description": "Specifies the starting position of offers to retrieve.",
        "name": "offset"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"name\"",
        "description": "Field to sort the offers by. Options: '_id', 'name'.",
        "name": "sortField"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 1,
        "description": "Order for sorting. Options: 1 (ascending), -1 (descending).",
        "name": "sortOrder"
      }
    ],
    "description": "Method to retrieve all the offers of one company on server. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Array.<any>>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveAllOffersOfCompanyById",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveAllOffersOfCompanyById",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method retrieveAllSubscriptionsOfCompanyById\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} companyId Id of the company to be retrieve the subscriptions.\n     * @param {string} format=\"small\" Allows to retrieve more or less subscription details in response. (default value: \"small\") </BR>\n     * - small: id offerId profileId isDefault</BR>\n     * - medium: id offerId profileId isDefault maxNumberUsers status</BR>\n     * - full: all offer fields, including computed user assignment fields (numberAssignedUsers, nbAssignedBPUsers, nbLicencesAssignedToECs, ...)</BR>\n     * @description\n     *      Method to retrieve all the subscriptions of one company on server. </BR>\n     * @return {Promise<Array<any>>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6736,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "retrieveAllSubscriptionsOfCompanyById",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company to be retrieve the subscriptions.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"small\"",
        "description": "Allows to retrieve more or less subscription details in response. (default value: \"small\") </BR>\n- small: id offerId profileId isDefault</BR>\n- medium: id offerId profileId isDefault maxNumberUsers status</BR>\n- full: all offer fields, including computed user assignment fields (numberAssignedUsers, nbAssignedBPUsers, nbLicencesAssignedToECs, ...)</BR>",
        "name": "format"
      }
    ],
    "description": "Method to retrieve all the subscriptions of one company on server. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Array.<any>>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveAllSubscriptionsOfCompanyById",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveAllSubscriptionsOfCompanyById",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method retrieveExternalSIPTrunkById\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @param {string} externalTrunkId External trunk unique identifier\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx SIP Trunk\n     * @description\n     *      This API allows to retrieve an external SIP trunk using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11298,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx SIP Trunk",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx SIP Trunk"
      }
    ],
    "kind": "function",
    "name": "retrieveExternalSIPTrunkById",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "External trunk unique identifier",
        "name": "externalTrunkId"
      }
    ],
    "description": "This API allows to retrieve an external SIP trunk using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveExternalSIPTrunkById",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveExternalSIPTrunkById",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method retrieveLdapConnectorAllConfigs\n     * @since 2.15.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} companyId Allows to filter connectors config list on the companyId provided in this option. In the case of admin (except superadmin and support roles), provided companyId should correspond to a company visible by logged in user's company (if some of the provided companyId are not visible by logged in user's company, connectors from these companies will not be returned). if not provided, default is admin's company.\n     * @param {boolean} supportMultiDomain=false\n     * @description\n     *      This API allows to retrieve the configurations list for the connector. </BR>\n     *      A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     *      Users with superadmin, support role can retrieve the connectors configuration from any company. </BR>\n     *      Users with bp_admin or bp_finance role can only retrieve the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     *      Users with admin role can only retrieve the connectors configuration in companies they can manage. That is to say: </BR>\n     *      an organization_admin can retrieve the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     *      a company_admin can only retrieve the connectors configuration in his company. </BR>\n     *      return { </BR>\n     *         id       string Config unique identifier. </BR>\n     *         type     string Config type  </BR>\n     *         companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n     *         settings         Object config settings </BR>\n     *             massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n     *                 headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n     *             company      Object specific settings for the company. Each key represent a setting. </BR>\n     *                 login    string login for the ldap server. </BR>\n     *                 password         string password for the ldap server. </BR>\n     *                 synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n     *                 url      string url of the ldap server. </BR>\n     *                 connectorStatus  string status of the connector (set by the connector itself). </BR>\n     *                 nextSynchronization      Date-Time date (ISO 8601 format) which defines when the next synchronization will be performed. </BR>\n     *                 enrollmentEmailEnable    boolean defines if an enrollment email is sent to new users </BR>\n     *                 synchronisationDiffMode  boolean defines if synching only users changed since last sync date </BR>\n     *                 search_rule      string filters to use when requesting the ldap server. </BR>\n     *                 lastSynchronization      Date-Time date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). </BR>\n     *                 softwareVersion  string software Version of the ldap connector (filled by the ldap connector). </BR>\n     *          } </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9274,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveLdapConnectorAllConfigs",
    "since": "2.15.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter connectors config list on the companyId provided in this option. In the case of admin (except superadmin and support roles), provided companyId should correspond to a company visible by logged in user's company (if some of the provided companyId are not visible by logged in user's company, connectors from these companies will not be returned). if not provided, default is admin's company.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": false,
        "name": "supportMultiDomain"
      }
    ],
    "description": "This API allows to retrieve the configurations list for the connector. </BR>\n     A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     Users with superadmin, support role can retrieve the connectors configuration from any company. </BR>\n     Users with bp_admin or bp_finance role can only retrieve the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     Users with admin role can only retrieve the connectors configuration in companies they can manage. That is to say: </BR>\n     an organization_admin can retrieve the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     a company_admin can only retrieve the connectors configuration in his company. </BR>\n     return { </BR>\n        id       string Config unique identifier. </BR>\n        type     string Config type  </BR>\n        companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n        settings         Object config settings </BR>\n            massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n                headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n            company      Object specific settings for the company. Each key represent a setting. </BR>\n                login    string login for the ldap server. </BR>\n                password         string password for the ldap server. </BR>\n                synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n                url      string url of the ldap server. </BR>\n                connectorStatus  string status of the connector (set by the connector itself). </BR>\n                nextSynchronization      Date-Time date (ISO 8601 format) which defines when the next synchronization will be performed. </BR>\n                enrollmentEmailEnable    boolean defines if an enrollment email is sent to new users </BR>\n                synchronisationDiffMode  boolean defines if synching only users changed since last sync date </BR>\n                search_rule      string filters to use when requesting the ldap server. </BR>\n                lastSynchronization      Date-Time date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). </BR>\n                softwareVersion  string software Version of the ldap connector (filled by the ldap connector). </BR>\n         } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveLdapConnectorAllConfigs",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveLdapConnectorAllConfigs",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method retrieveLdapConnectorAllConfigTemplates\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @description\n     *      This API allows to retrieve all the configuration templates for the connector. </BR>\n     *      return { </BR>\n     *         id       string Config unique identifier. </BR>\n     *         type     string Config type  </BR>\n     *         companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n     *         settings         Object config settings </BR>\n     *             massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n     *                 default  string default field name in ldap. </BR>\n     *                 mandatory optionnel      Boolean specify if field is mandatory. </BR>\n     *             company      Object specific settings for the company. Each key represent a setting. </BR>\n     *                  headerName      Object headerName as specified in the csv templates for the massprovisioning portal. </BR>\n     *                  settingName Object name of the setting. Each key represent a setting. As of now list of setting is \"login\", \"password\", \"synchronizationTimeInterval\", \"url\". This list can evolve. </BR>\n     *                  default optionnel       string   </BR>\n     *                  default value of the setting.  </BR>\n     *                  mandatory optionnel     string specify if field is mandatory. </BR>\n     *          } </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9231,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveLdapConnectorAllConfigTemplates",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "description": "This API allows to retrieve all the configuration templates for the connector. </BR>\n     return { </BR>\n        id       string Config unique identifier. </BR>\n        type     string Config type  </BR>\n        companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n        settings         Object config settings </BR>\n            massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n                default  string default field name in ldap. </BR>\n                mandatory optionnel      Boolean specify if field is mandatory. </BR>\n            company      Object specific settings for the company. Each key represent a setting. </BR>\n                 headerName      Object headerName as specified in the csv templates for the massprovisioning portal. </BR>\n                 settingName Object name of the setting. Each key represent a setting. As of now list of setting is \"login\", \"password\", \"synchronizationTimeInterval\", \"url\". This list can evolve. </BR>\n                 default optionnel       string   </BR>\n                 default value of the setting.  </BR>\n                 mandatory optionnel     string specify if field is mandatory. </BR>\n         } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveLdapConnectorAllConfigTemplates",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveLdapConnectorAllConfigTemplates",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method retrieveLdapConnectorConfig\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} companyId=\"user s company id\" Allows to filter connectors list on the companyId provided in this option. In the case of admin (except superadmin and support roles), provided companyId should correspond to a company visible by logged in user's company (if some of the provided companyId are not visible by logged in user's company, connectors from these companies will not be returned). if not provided, default is admin's company.\n     * @param {string} p_type=\"ldap_config\" Allows to filter connectors config list on the type provided in this option. Allowed types are: \"ldap_config\", \"ldap_config_directories\". Default value: \"ldap_config\"\n     * @description\n     *      This API allows to retrieve the configuration for the connector. </BR>\n     *      A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     *      Users with superadmin, support role can retrieve the connectors configuration from any company. </BR>\n     *      Users with bp_admin or bp_finance role can only retrieve the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     *      Users with admin role can only retrieve the connectors configuration in companies they can manage. That is to say: </BR>\n     *      an organization_admin can retrieve the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     *      a company_admin can only retrieve the connectors configuration in his company. </BR>\n     *      return { </BR>\n     *         id       string Config unique identifier. </BR>\n     *         type     string Config type  </BR>\n     *         companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n     *         settings         Object config settings </BR>\n     *             massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n     *                 headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n     *             company      Object specific settings for the company. Each key represent a setting. </BR>\n     *                 login    string login for the ldap server. </BR>\n     *                 password         string password for the ldap server. </BR>\n     *                 synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n     *                 url      string url of the ldap server. </BR>\n     *          } </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9134,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveLdapConnectorConfig",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Allows to filter connectors list on the companyId provided in this option. In the case of admin (except superadmin and support roles), provided companyId should correspond to a company visible by logged in user's company (if some of the provided companyId are not visible by logged in user's company, connectors from these companies will not be returned). if not provided, default is admin's company.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"ldap_config\"",
        "description": "Allows to filter connectors config list on the type provided in this option. Allowed types are: \"ldap_config\", \"ldap_config_directories\". Default value: \"ldap_config\"",
        "name": "p_type"
      }
    ],
    "description": "This API allows to retrieve the configuration for the connector. </BR>\n     A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     Users with superadmin, support role can retrieve the connectors configuration from any company. </BR>\n     Users with bp_admin or bp_finance role can only retrieve the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     Users with admin role can only retrieve the connectors configuration in companies they can manage. That is to say: </BR>\n     an organization_admin can retrieve the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     a company_admin can only retrieve the connectors configuration in his company. </BR>\n     return { </BR>\n        id       string Config unique identifier. </BR>\n        type     string Config type  </BR>\n        companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n        settings         Object config settings </BR>\n            massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n                headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n            company      Object specific settings for the company. Each key represent a setting. </BR>\n                login    string login for the ldap server. </BR>\n                password         string password for the ldap server. </BR>\n                synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n                url      string url of the ldap server. </BR>\n         } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveLdapConnectorConfig",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveLdapConnectorConfig",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method retrieveLDAPConnectorConfigByLdapConfigId\n     * @since 2.15.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} ldapConfigId Ldap connector unique identifier\n     * @description\n     *      This API allows to retrieve the configuration for the connector with the ldapConfigId. </BR>\n     *      A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     *      Users with superadmin, support role can retrieve the connectors configuration from any company. </BR>\n     *      Users with bp_admin or bp_finance role can only retrieve the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     *      Users with admin role can only retrieve the connectors configuration in companies they can manage. That is to say: </BR>\n     *      an organization_admin can retrieve the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     *      a company_admin can only retrieve the connectors configuration in his company. </BR>\n     *      return { </BR>\n     *         id       string Config unique identifier. </BR>\n     *         type     string Config type  </BR>\n     *         companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n     *         settings         Object config settings </BR>\n     *             massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n     *                 headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n     *             company      Object specific settings for the company. Each key represent a setting. </BR>\n     *                 login    string login for the ldap server. </BR>\n     *                 password         string password for the ldap server. </BR>\n     *                 synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n     *                 url      string url of the ldap server. </BR>\n     *                 connectorStatus  string status of the connector (set by the connector itself). </BR>\n     *                 nextSynchronization      Date-Time date (ISO 8601 format) which defines when the next synchronization will be performed. </BR>\n     *                 enrollmentEmailEnable    boolean defines if an enrollment email is sent to new users </BR>\n     *                 synchronisationDiffMode  boolean defines if synching only users changed since last sync date </BR>\n     *                 search_rule      string filters to use when requesting the ldap server. </BR>\n     *                 lastSynchronization      Date-Time date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). </BR>\n     *                 softwareVersion  string software Version of the ldap connector (filled by the ldap connector). </BR>\n     *          } </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9336,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveLDAPConnectorConfigByLdapConfigId",
    "since": "2.15.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Ldap connector unique identifier",
        "name": "ldapConfigId"
      }
    ],
    "description": "This API allows to retrieve the configuration for the connector with the ldapConfigId. </BR>\n     A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     Users with superadmin, support role can retrieve the connectors configuration from any company. </BR>\n     Users with bp_admin or bp_finance role can only retrieve the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     Users with admin role can only retrieve the connectors configuration in companies they can manage. That is to say: </BR>\n     an organization_admin can retrieve the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     a company_admin can only retrieve the connectors configuration in his company. </BR>\n     return { </BR>\n        id       string Config unique identifier. </BR>\n        type     string Config type  </BR>\n        companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n        settings         Object config settings </BR>\n            massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n                headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n            company      Object specific settings for the company. Each key represent a setting. </BR>\n                login    string login for the ldap server. </BR>\n                password         string password for the ldap server. </BR>\n                synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n                url      string url of the ldap server. </BR>\n                connectorStatus  string status of the connector (set by the connector itself). </BR>\n                nextSynchronization      Date-Time date (ISO 8601 format) which defines when the next synchronization will be performed. </BR>\n                enrollmentEmailEnable    boolean defines if an enrollment email is sent to new users </BR>\n                synchronisationDiffMode  boolean defines if synching only users changed since last sync date </BR>\n                search_rule      string filters to use when requesting the ldap server. </BR>\n                lastSynchronization      Date-Time date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). </BR>\n                softwareVersion  string software Version of the ldap connector (filled by the ldap connector). </BR>\n         } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveLDAPConnectorConfigByLdapConfigId",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveLDAPConnectorConfigByLdapConfigId",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method retrieveLdapConnectorConfigTemplate\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @param {string} type=\"ldap_template\" Allows to filter connectors config list on the type provided in this option. Allowed types are: \"ldap_template\", \"ldap_template_directories\". Default value : ldap_template\n     * @category AD/LDAP - LDAP APIs to use\n     * @description\n     *      This API allows to retrieve the configuration template for the connector. </BR>\n     *      return { </BR>\n     *         id       string Config unique identifier. </BR>\n     *         type     string Config type  </BR>\n     *         companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n     *         settings         Object config settings </BR>\n     *             massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n     *                 headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n     *             company      Object specific settings for the company. Each key represent a setting. </BR>\n     *                 login    string login for the ldap server. </BR>\n     *                 password         string password for the ldap server. </BR>\n     *                 synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n     *                 url      string url of the ldap server. </BR>\n     *          } </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9189,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveLdapConnectorConfigTemplate",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"ldap_template\"",
        "description": "Allows to filter connectors config list on the type provided in this option. Allowed types are: \"ldap_template\", \"ldap_template_directories\". Default value : ldap_template",
        "name": "type"
      }
    ],
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "description": "This API allows to retrieve the configuration template for the connector. </BR>\n     return { </BR>\n        id       string Config unique identifier. </BR>\n        type     string Config type  </BR>\n        companyId        string Allows to specify for which company the connectors configuration is done.. </BR>\n        settings         Object config settings </BR>\n            massproFromLdap      Object list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. </BR>\n                headerName       string headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. </BR>\n            company      Object specific settings for the company. Each key represent a setting. </BR>\n                login    string login for the ldap server. </BR>\n                password         string password for the ldap server. </BR>\n                synchronizationTimeInterval      string time interval between synchronization in hours. </BR>\n                url      string url of the ldap server. </BR>\n         } </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveLdapConnectorConfigTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveLdapConnectorConfigTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method retrievelistExternalSIPTrunks\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx SIP Trunk\n     * @param {string} rvcpInstanceId Allows to filter external SIP trunks by RVCP instance identifier. </BR>\n     *          This filter allows to load all external SIP trunks in relation with an RVCP Instance. </BR>\n     * @param {string} status Allows to filter external SIP trunks by status. </BR>\n     *          This filter allows to load all external SIP trunks according to their status. </BR>\n     *          Valid values : \"new\" \"active\". </BR>\n     * @param {string} trunkType Allows to filter external SIP trunks by their type. </BR>\n     * @description\n     *      This API allows superadmin or bp_admin to retrieve a list of external SIP trunks. </BR>\n     *      bp_admin can list only external SIP trunks he is allowed to use. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11336,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx SIP Trunk",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx SIP Trunk"
      }
    ],
    "kind": "function",
    "name": "retrievelistExternalSIPTrunks",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter external SIP trunks by RVCP instance identifier. </BR>\n         This filter allows to load all external SIP trunks in relation with an RVCP Instance. </BR>",
        "name": "rvcpInstanceId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter external SIP trunks by status. </BR>\n         This filter allows to load all external SIP trunks according to their status. </BR>\n         Valid values : \"new\" \"active\". </BR>",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to filter external SIP trunks by their type. </BR>",
        "name": "trunkType"
      }
    ],
    "description": "This API allows superadmin or bp_admin to retrieve a list of external SIP trunks. </BR>\n     bp_admin can list only external SIP trunks he is allowed to use. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrievelistExternalSIPTrunks",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrievelistExternalSIPTrunks",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method retrieveRainbowEntriesList\n     * @since 2.15.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @description\n     *      This API generates a file describing all companies entries (csv or json format). </BR>\n     *           </BR>\n     *\n     *      return an {Object}  of result data. </BR>\n     * @return {Promise<any>}\n     * @param {string} companyId companyId from which to retrieve entries, default to admin's companyId\n     * @param {string} format=\"json\" Allows to retrieve more or less phone numbers details in response. Default value : json. Possible values : csv, json, all\n     * @param {boolean} ldap_id=true Allows to filter entries containing a ldap_id. </br>\n     * - json: answer follows the pattern { \"data\" : { ... JSON ... }} </br>\n     * - csv: answer follows the pattern { \"data\" : [ ... CSV ... ]} </br>\n     * - all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }} </br>\n     * </br>\n     *  Default value : true </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8614,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveRainbowEntriesList",
    "since": "2.15.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "description": "This API generates a file describing all companies entries (csv or json format). </BR>\n          </BR>\n\n     return an {Object}  of result data. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "companyId from which to retrieve entries, default to admin's companyId",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"json\"",
        "description": "Allows to retrieve more or less phone numbers details in response. Default value : json. Possible values : csv, json, all",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Allows to filter entries containing a ldap_id. </br>\n- json: answer follows the pattern { \"data\" : { ... JSON ... }} </br>\n- csv: answer follows the pattern { \"data\" : [ ... CSV ... ]} </br>\n- all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }} </br>\n</br>\n Default value : true </br>",
        "name": "ldap_id"
      }
    ],
    "longname": "module:AdminService#retrieveRainbowEntriesList",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveRainbowEntriesList",
    "$kind": "method"
  },
  {
    "comment": "/**\n    * @public\n    * @method retrieveRainbowUserList\n    * @since 1.86.0\n    * @instance\n    * @async\n    * @category AD/LDAP - AD/LDAP Massprovisioning\n    * @param {string} companyId ompanyId of the users in the CSV file, default to admin's companyId.\n    * @param {string} format=\"csv\" Allows to retrieve more or less phone numbers details in response.</BR>\n     * - json: answer follows the pattern { \"data\" : { ... JSON ... }}\n     * - csv: answer follows the pattern { \"data\" : [ ... CSV ... ]}\n     * - all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }}\n     *\n     * Default value : json. Possible values : csv, json, all .\n    * @param {boolean} ldap_id=true Allows to filter users containing a ldap_id. Default value : true.\n    * @param {boolean} ldapConfigId Allows to filter users containing a ldap_id and the ldapConfigId of the ldap domain.\n    * @description\n    *      This API generates a file describing all users (csv or json format). </BR>\n    *      return an {Object}  of synchronization data. </BR>\n    * @return {Promise<any>}\n    */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8336,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "retrieveRainbowUserList",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ompanyId of the users in the CSV file, default to admin's companyId.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"csv\"",
        "description": "Allows to retrieve more or less phone numbers details in response.</BR>\n- json: answer follows the pattern { \"data\" : { ... JSON ... }}\n- csv: answer follows the pattern { \"data\" : [ ... CSV ... ]}\n- all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }}\n\nDefault value : json. Possible values : csv, json, all .",
        "name": "format"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Allows to filter users containing a ldap_id. Default value : true.",
        "name": "ldap_id"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allows to filter users containing a ldap_id and the ldapConfigId of the ldap domain.",
        "name": "ldapConfigId"
      }
    ],
    "description": "This API generates a file describing all users (csv or json format). </BR>\n     return an {Object}  of synchronization data. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#retrieveRainbowUserList",
    "memberof": "module:AdminService",
    "$longname": "AdminService#retrieveRainbowUserList",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method revokeCloudPBXAccessFromDebugSession\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} deviceId Unique identifier of the SIP device access will be revoked\n     * @description\n     *      This API allows  to revoke access to debug session on the given device. </BR>\n     *      When revoked, the debug session can no longer be used. </BR>\n     *      The admin password is no longer visible (changed). </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10467,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "revokeCloudPBXAccessFromDebugSession",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device access will be revoked",
        "name": "deviceId"
      }
    ],
    "description": "This API allows  to revoke access to debug session on the given device. </BR>\n     When revoked, the debug session can no longer be used. </BR>\n     The admin password is no longer visible (changed). </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#revokeCloudPBXAccessFromDebugSession",
    "memberof": "module:AdminService",
    "$longname": "AdminService#revokeCloudPBXAccessFromDebugSession",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method sendCommandToLdapConnectorUser\n     * @since 2.11.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} ldapId ldap connector unique identifier.\n     * @param {string} command Allows to specify a command to be performed by the ldap connector. Allowed commands are: \"manual_synchro\", \"manual_dry_run\", \"manual_synchro_directories\", \"manual_dry_run_directories\".\n     * @param {string} ldapConfigId Allows to specify the ldap domain on which the command should be run (in case of multi domain).\n     * @description\n     *      This API can be used to send a command to a ldap connector user. </BR>\n     *      BP Admin and BP Finance users can only control users being in a company linked to their BP company. </BR>\n     *      Admin users can only control users being in their own company. (superadmin, organization_admin, company_admin). </BR>\n     *\n     * @return {Promise<any>} return -\n     * </BR>\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | response Object. |\n     * | status | string | Command operation status message. |\n     * | commandId optionnel | string | Command identifier to retrieve the report (only for \"manual\\_dry\\_run\" command). |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 8968,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "sendCommandToLdapConnectorUser",
    "since": "2.11.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ldap connector unique identifier.",
        "name": "ldapId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to specify a command to be performed by the ldap connector. Allowed commands are: \"manual_synchro\", \"manual_dry_run\", \"manual_synchro_directories\", \"manual_dry_run_directories\".",
        "name": "command"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to specify the ldap domain on which the command should be run (in case of multi domain).",
        "name": "ldapConfigId"
      }
    ],
    "description": "This API can be used to send a command to a ldap connector user. </BR>\n     BP Admin and BP Finance users can only control users being in a company linked to their BP company. </BR>\n     Admin users can only control users being in their own company. (superadmin, organization_admin, company_admin). </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "return -\n</BR>\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | response Object. |\n| status | string | Command operation status message. |\n| commandId optionnel | string | Command identifier to retrieve the report (only for \"manual\\_dry\\_run\" command). |"
      }
    ],
    "longname": "module:AdminService#sendCommandToLdapConnectorUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#sendCommandToLdapConnectorUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method sendCustomerCareReport\n     * @since 2.24.1\n     * @instance\n     * @async\n     * @category Customer Care - Users Logs\n     * @param {string} logId Logs context unique identifier (received with an `rainbow_onlogsconfig` event with a \"request\" `action` parameter).\n     * @param {Array<string>} filesPath the path to the files to store in the logs context.\n     * @param {string} occurrenceDate Date when the issue occurred (ISO-8601 UTC format).\n     * @param {string} occurrenceDateTimezone Timezone name when the issue occurred. </BR>\n     * Allowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones). </BR>\n     * Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) </BR>\n     * @param {string} description Issue description\n     * @param {string} externalRef Free field\n     * @param {string} device Device type </BR>\n     * Note: room corresponds to Rainbow Room </BR>\n     * Possibles values : android, desktop, ios, room, web </BR>\n     * @param {string} version Device version\n     * @param {object} deviceDetails When relevant, optional details regarding the device on which the issue occurred\n     * * hardware optionnel Object When relevant, details regarding the hardware of the device on which the issue occurred\n     * * manufacturer optionnel string When relevant, manufacturer of the device on which the issue occurred\n     * * model optionnel string When relevant, model of the device on which the issue occurred\n     * * os optionnel Object When relevant, details regarding the Operating System on which the issue occurred\n     * * name optionnel string When relevant, name of the Operating System on which the issue occurred\n     * * version optionnel string When relevant, version of the Operating System on which the issue occurred\n     * * browser optionnel Object When relevant, details regarding the browser on which the issue occurred\n     * * name optionnel string When relevant, name of the browser on which the issue occurred\n     * * version optionnel string When relevant, name of the browser on which the issue occurred\n     * @param {string} typeOfLog=\"feedback\" is Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue\n     * @description\n     *     This API allows to store files in rainbow, and then to complete the logs context with it and provided informations. </BR>\n     *\n     *     **Note:** if a file transfert fails then the complete of logs context is not done, and an object with every transfert status is returned.\n     * @return {Promise<any>} - result\n     *  The result of the completeLogsContext call.\n     *\n     *  **Note:** if a file transfert fails then the complete of logs context is not done, and an object with every transfert status is returned.\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15209,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "sendCustomerCareReport",
    "since": "2.24.1",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users Logs",
        "value": "Customer Care - Users Logs"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Logs context unique identifier (received with an `rainbow_onlogsconfig` event with a \"request\" `action` parameter).",
        "name": "logId"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "the path to the files to store in the logs context.",
        "name": "filesPath"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Date when the issue occurred (ISO-8601 UTC format).",
        "name": "occurrenceDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Timezone name when the issue occurred. </BR>\nAllowed values: one of the timezone names defined in [IANA tz database](https://www.iana.org/time-zones). </BR>\nTimezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...) </BR>",
        "name": "occurrenceDateTimezone"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Issue description",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field",
        "name": "externalRef"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Device type </BR>\nNote: room corresponds to Rainbow Room </BR>\nPossibles values : android, desktop, ios, room, web </BR>",
        "name": "device"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Device version",
        "name": "version"
      },
      {
        "type": {
          "names": [
            "object"
          ]
        },
        "description": "When relevant, optional details regarding the device on which the issue occurred\n* hardware optionnel Object When relevant, details regarding the hardware of the device on which the issue occurred\n* manufacturer optionnel string When relevant, manufacturer of the device on which the issue occurred\n* model optionnel string When relevant, model of the device on which the issue occurred\n* os optionnel Object When relevant, details regarding the Operating System on which the issue occurred\n* name optionnel string When relevant, name of the Operating System on which the issue occurred\n* version optionnel string When relevant, version of the Operating System on which the issue occurred\n* browser optionnel Object When relevant, details regarding the browser on which the issue occurred\n* name optionnel string When relevant, name of the browser on which the issue occurred\n* version optionnel string When relevant, name of the browser on which the issue occurred",
        "name": "deviceDetails"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"feedback\"",
        "description": "is Initial scenario<br><br>* `feedback`: The customer submits an issue<br>* `ask`: A bot or an admin has contacted a customer to complete an issue",
        "name": "typeOfLog"
      }
    ],
    "description": "This API allows to store files in rainbow, and then to complete the logs context with it and provided informations. </BR>\n\n    **Note:** if a file transfert fails then the complete of logs context is not done, and an object with every transfert status is returned.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n The result of the completeLogsContext call.\n\n **Note:** if a file transfert fails then the complete of logs context is not done, and an object with every transfert status is returned."
      }
    ],
    "longname": "module:AdminService#sendCustomerCareReport",
    "memberof": "module:AdminService",
    "$longname": "AdminService#sendCustomerCareReport",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method setCloudPBXDDIAsdefault\n     * @since 2.1.0\n     * @instance\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} phoneNumberId PhoneNumber unique identifier.\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers\n     * @description\n     *      This API allows to set a DDI number as default DDI for a CloudPBX. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11252,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Phone Numbers"
      }
    ],
    "kind": "function",
    "name": "setCloudPBXDDIAsdefault",
    "since": "2.1.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier.",
        "name": "phoneNumberId"
      }
    ],
    "async": true,
    "description": "This API allows to set a DDI number as default DDI for a CloudPBX. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#setCloudPBXDDIAsdefault",
    "memberof": "module:AdminService",
    "$longname": "AdminService#setCloudPBXDDIAsdefault",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method setCompanyAppFeatureCustomisation\n     * @instance\n     * @description\n     *     This API allows administrators to set or update the feature customisation elements for the company.\n     *\n     * These elements (e.g. conversation pane, menu pane, services) will then be available to the end user to customise their rainbow application.\n     * See supported element names in above GET request.\n     *\n     * The whole object will replace the existing one, if found.\n     * The customisation object has some limitations:\n     *\n     * * Element name can't exceed 50 characters.\n     * * Element value can't exceed 50 characters.\n     * @async\n     * @param {string} companyId Company for which update of customisation elements is requested.\n     * @param {any} appFeaturesCustomisation an object:\n     * </br>\n     * </br> {\n     * </br>     \"appFeaturesCustomisation\": {\n     * </br>         \"featureConversationPane\": \"#595959\",\n     * </br>         \"callContact\": false,\n     * </br>         \"searchContact\": false,\n     * </br>         \"meeting\": false\n     * </br>     }\n     * </br> }\n     * @category Companies and users management\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | Object | Update operation status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 2794,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "setCompanyAppFeatureCustomisation",
    "scope": "instance",
    "description": "This API allows administrators to set or update the feature customisation elements for the company.\n\nThese elements (e.g. conversation pane, menu pane, services) will then be available to the end user to customise their rainbow application.\nSee supported element names in above GET request.\n\nThe whole object will replace the existing one, if found.\nThe customisation object has some limitations:\n\n* Element name can't exceed 50 characters.\n* Element value can't exceed 50 characters.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company for which update of customisation elements is requested.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "an object:\n</br>\n</br> {\n</br>     \"appFeaturesCustomisation\": {\n</br>         \"featureConversationPane\": \"#595959\",\n</br>         \"callContact\": false,\n</br>         \"searchContact\": false,\n</br>         \"meeting\": false\n</br>     }\n</br> }",
        "name": "appFeaturesCustomisation"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | Object | Update operation status message. |"
      }
    ],
    "longname": "module:AdminService#setCompanyAppFeatureCustomisation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#setCompanyAppFeatureCustomisation",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method startsAsynchronousGenerationOfOffice365TenantUserListSynchronization\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} tenant Office365 tenant\n     * @description\n     *     This API generates data describing all operations required to synchronize an Office365 tenant (csv or json format). </br>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Asynchronous operation status</BR></BR>Possible values : `pending` |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7789,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "startsAsynchronousGenerationOfOffice365TenantUserListSynchronization",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Office365 tenant",
        "name": "tenant"
      }
    ],
    "description": "This API generates data describing all operations required to synchronize an Office365 tenant (csv or json format). </br>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Asynchronous operation status</BR></BR>Possible values : `pending` |"
      }
    ],
    "longname": "module:AdminService#startsAsynchronousGenerationOfOffice365TenantUserListSynchronization",
    "memberof": "module:AdminService",
    "$longname": "AdminService#startsAsynchronousGenerationOfOffice365TenantUserListSynchronization",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method stopApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to stop an application.\n     *\n     * </br> Users with `superadmin` role can stop an application.\n     * </br> Users with `admin` role can stop an application.\n     * </br> Users with `app_admin` role can stop an application.\n     * </br> Users with `app_superadmin` role can stop an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17227,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "stopApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to stop an application.\n\n</br> Users with `superadmin` role can stop an application.\n</br> Users with `admin` role can stop an application.\n</br> Users with `app_admin` role can stop an application.\n</br> Users with `app_superadmin` role can stop an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#stopApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#stopApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method subscribeCompanyToAlertOffer\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} companyId=\"user s company id\" Id of the company to the subscription of the offer.\n     * @description\n     *      Method to subscribe one company to offer Alert. </BR>\n     *      Private offer on .Net platform. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6929,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "subscribeCompanyToAlertOffer",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Id of the company to the subscription of the offer.",
        "name": "companyId"
      }
    ],
    "description": "Method to subscribe one company to offer Alert. </BR>\n     Private offer on .Net platform. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#subscribeCompanyToAlertOffer",
    "memberof": "module:AdminService",
    "$longname": "AdminService#subscribeCompanyToAlertOffer",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method subscribeCompanyToOfferById\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} offerId Id of the offer to filter subscriptions.\n     * @param {string} companyId=\"user s company id\" Id of the company to get the subscription of the offer.\n     * @param {number} maxNumberUsers\n     * @param {boolean} autoRenew\n     * @description\n     *      Method to subscribe one company to one offer. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6808,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "subscribeCompanyToOfferById",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the offer to filter subscriptions.",
        "name": "offerId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Id of the company to get the subscription of the offer.",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "name": "maxNumberUsers"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "name": "autoRenew"
      }
    ],
    "description": "Method to subscribe one company to one offer. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#subscribeCompanyToOfferById",
    "memberof": "module:AdminService",
    "$longname": "AdminService#subscribeCompanyToOfferById",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method subscribeCompanyToVoiceEnterpriseOffer\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} companyId=\"user s company id\" Id of the company the subscription of the offer.\n     * @description\n     *      Method to subscribe one company to offer Voice Enterprise. </BR>\n     *      Private offer on .Net platform. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7000,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "subscribeCompanyToVoiceEnterpriseOffer",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Id of the company the subscription of the offer.",
        "name": "companyId"
      }
    ],
    "description": "Method to subscribe one company to offer Voice Enterprise. </BR>\n     Private offer on .Net platform. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#subscribeCompanyToVoiceEnterpriseOffer",
    "memberof": "module:AdminService",
    "$longname": "AdminService#subscribeCompanyToVoiceEnterpriseOffer",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method subscribeUserToSubscription\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} userId the id of the user which will subscribe. If not provided, the connected user is used.\n     * @param {string} subscriptionId the id of the subscription to attach to user.\n     * @description\n     *      Method to subscribe one user to a subscription of the company. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7157,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "subscribeUserToSubscription",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the user which will subscribe. If not provided, the connected user is used.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the subscription to attach to user.",
        "name": "subscriptionId"
      }
    ],
    "description": "Method to subscribe one user to a subscription of the company. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#subscribeUserToSubscription",
    "memberof": "module:AdminService",
    "$longname": "AdminService#subscribeUserToSubscription",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method synchronizeOffice365TenantUserList\n     * @since 2.12.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} tenant Office365 tenant\n     * @param {string} format=\"json\" Allows to retrieve more or less phone numbers details in response.\n     * - json: answer follows the pattern { \"data\" : { ... JSON ... }}\n     * - csv: answer follows the pattern { \"data\" : [ ... CSV ... ]}\n     * - all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }}\n     * Default value : json\n     * Possible values : csv, json, all\n     * @description\n     *     This API generates a file describing all operations required to synchronize an Office365 tenant (csv or json format). </br>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | string | synchronization data. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7825,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "synchronizeOffice365TenantUserList",
    "since": "2.12.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Office365 tenant",
        "name": "tenant"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"json\"",
        "description": "Allows to retrieve more or less phone numbers details in response.\n- json: answer follows the pattern { \"data\" : { ... JSON ... }}\n- csv: answer follows the pattern { \"data\" : [ ... CSV ... ]}\n- all: answer follows the pattern { \"data\" : { jsonContent: {...........}, csvContent: [ , , ; , , ] }}\nDefault value : json\nPossible values : csv, json, all",
        "name": "format"
      }
    ],
    "description": "This API generates a file describing all operations required to synchronize an Office365 tenant (csv or json format). </br>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result.\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | string | synchronization data. |"
      }
    ],
    "longname": "module:AdminService#synchronizeOffice365TenantUserList",
    "memberof": "module:AdminService",
    "$longname": "AdminService#synchronizeOffice365TenantUserList",
    "$kind": "method"
  },
  {
    "comment": "/**\n * @public\n * @method synchronizeUsersAndDeviceswithCSV\n * @since 1.86.0\n * @instance\n * @async\n * @category AD/LDAP - AD/LDAP Massprovisioning\n * @param {string} csvTxt the csv of the user and device to synchronize.\n * @param {string} companyId ompanyId of the users in the CSV file, default to admin's companyId\n * @param {string} label a text description of this import\n * @param {boolean} noemails=true disable email sending\n * @param {boolean} nostrict=false create of an existing user and delete of an unexisting user are not errors\n * @param {string} delimiter the CSV delimiter character (will be determined by analyzing the CSV file if not provided)\n * @param {string} comment=\"%\" the CSV comment start character, use double quotes in field values to escape this character\n * @param {string} commandId Command identifier. When runing the manual synchro, the commandId must be added as query parameter.\n * @param {string} ldapConfigId Allows to specify the ldap domain on which the command should be run (in case of multi domain).\n * @description\n *     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 </BR>\n *     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. </BR>\n * </BR>\n * Supported fields for \"user\" management are: </BR>\n * __action__  delete, upsert, sync or detach </BR>\n * loginEmail  (mandatory) </BR>\n * password  (mandatory) </BR>\n * title </BR>\n * firstName </BR>\n * lastName </BR>\n * nickName </BR>\n * businessPhone{n}  (n is a number starting from 0 or 1) </BR>\n * mobilePhone{n}  (n is a number starting from 0 or 1) </BR>\n * email{n}  (n is a number starting from 0 or 1) </BR>\n * tags{n}  (n is a number starting from 0 to 4) </BR>\n * jobTitle </BR>\n * department </BR>\n * userInfo1 </BR>\n * userInfo2 </BR>\n * country </BR>\n * language </BR>\n * timezone </BR>\n * visibility </BR>\n * isInitialized </BR>\n * authenticationType </BR>\n * service{n} </BR>\n * accountType </BR>\n * photoUrl </BR>\n * </BR>\n * Supported fields for \"device\" management are: </BR>\n * loginEmail (mandatory) </BR>\n * pbxId </BR>\n * pbxShortNumber </BR>\n * pbxInternalNumber </BR>\n * number </BR>\n * </BR>\n * 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. </BR>\n * Remark: empty fields are taken into account (if a field is empty we will try to update it with empty value). </BR>\n * </BR>\n * Caution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. Caution: for sync action: </BR>\n * As empty fields are taken into account, all fields must be filled to avoid a reset of these values </BR>\n * As empty fields are taken into account, it is better to avoid mixing sync __action__ with others actions </BR>\n * </BR>\n * @return {Promise<any>} import summary result.\n */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7956,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "synchronizeUsersAndDeviceswithCSV",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the csv of the user and device to synchronize.",
        "name": "csvTxt"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ompanyId of the users in the CSV file, default to admin's companyId",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "a text description of this import",
        "name": "label"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "disable email sending",
        "name": "noemails"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": false,
        "description": "create of an existing user and delete of an unexisting user are not errors",
        "name": "nostrict"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the CSV delimiter character (will be determined by analyzing the CSV file if not provided)",
        "name": "delimiter"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"%\"",
        "description": "the CSV comment start character, use double quotes in field values to escape this character",
        "name": "comment"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Command identifier. When runing the manual synchro, the commandId must be added as query parameter.",
        "name": "commandId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allows to specify the ldap domain on which the command should be run (in case of multi domain).",
        "name": "ldapConfigId"
      }
    ],
    "description": "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 </BR>\n    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. </BR>\n</BR>\nSupported fields for \"user\" management are: </BR>\n__action__  delete, upsert, sync or detach </BR>\nloginEmail  (mandatory) </BR>\npassword  (mandatory) </BR>\ntitle </BR>\nfirstName </BR>\nlastName </BR>\nnickName </BR>\nbusinessPhone{n}  (n is a number starting from 0 or 1) </BR>\nmobilePhone{n}  (n is a number starting from 0 or 1) </BR>\nemail{n}  (n is a number starting from 0 or 1) </BR>\ntags{n}  (n is a number starting from 0 to 4) </BR>\njobTitle </BR>\ndepartment </BR>\nuserInfo1 </BR>\nuserInfo2 </BR>\ncountry </BR>\nlanguage </BR>\ntimezone </BR>\nvisibility </BR>\nisInitialized </BR>\nauthenticationType </BR>\nservice{n} </BR>\naccountType </BR>\nphotoUrl </BR>\n</BR>\nSupported fields for \"device\" management are: </BR>\nloginEmail (mandatory) </BR>\npbxId </BR>\npbxShortNumber </BR>\npbxInternalNumber </BR>\nnumber </BR>\n</BR>\ndetach: 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. </BR>\nRemark: empty fields are taken into account (if a field is empty we will try to update it with empty value). </BR>\n</BR>\nCaution: To use the comment character ('%' by default) in a field value, surround this value with double quotes. Caution: for sync action: </BR>\nAs empty fields are taken into account, all fields must be filled to avoid a reset of these values </BR>\nAs empty fields are taken into account, it is better to avoid mixing sync __action__ with others actions </BR>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "import summary result."
      }
    ],
    "longname": "module:AdminService#synchronizeUsersAndDeviceswithCSV",
    "memberof": "module:AdminService",
    "$longname": "AdminService#synchronizeUsersAndDeviceswithCSV",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method testEmailTemplateRendering\n     * @since 2.28.3\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {any} body object of the template :\n     * <div style=\"text-align : left\">\n     * </br> {\n     * </br>   // A valid mail address.\n     * </br>   // Default value : loginEmail\n     * </br>   emailTo?: string,\n     *\n     * </br>   // A list of key/value . Data required by the template for rendering (depends of the template)\n     * </br>   inputs: object,\n     *\n     * </br>   // User language\n     * </br>   // Language format is composed of locale using format ISO 639-1, with optionally the regional variation using ISO 3166‑1 alpha-2 (separated by hyphen).\n     * </br>   // Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ...\n     * </br>   // More information about the format can be found on this link: https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes\n     * </br>   // Default value : en\n     * </br>   // Possibles values: /^([a-z]{2})(?:(?:(-)[A-Z]{2}))?$/\n     * </br>   language?: string,\n     *\n     * </br>   // One of the email template allowed to be customized.\n     * </br>   // For the entire list of allowed template names, use getEmailTemplatesDocumentation(format=small)\n     * </br>   // Possibles values :\n     * </br>   // admin_cancel_invite_user_join_company\n     * </br>   // admin_invite_user_join_company\n     * </br>   // admin_invite_user_join_company_as_admin\n     * </br>   // admin_invite_user_register_and_join_company\n     * </br>   // admin_invite_user_register_and_join_company_as_admin\n     * </br>   // admin_request_company_visibility\n     * </br>   // bp_admin_invite_ec_admin_link_his_company_to_bp\n     * </br>   // ec_admin_request_bp_admin_link_his_company_to_bp\n     * </br>   // bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir\n     * </br>   // ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir\n     * </br>   // enduser_account_creation_completed\n     * </br>   // enduser_account_terminated\n     * </br>   // enduser_account_terminated_by_himself\n     * </br>   // enduser_conversation_download\n     * </br>   // enduser_invite_somebody\n     * </br>   // enduser_chat_room_invite_guest\n     * </br>   // enduser_conference_invite_somebody\n     * </br>   // enduser_scheduled_conference_cancel_invite\n     * </br>   // enduser_scheduled_conference_invite_somebody\n     * </br>   // enduser_scheduled_conference_ical\n     * </br>   // enduser_scheduled_conference_cancel_ical\n     * </br>   // enduser_request_join_company\n     * </br>   // enduser_request_user_visibility\n     * </br>   // enduser_temporary_token_reset_password\n     * </br>   // enduser_temporary_token_self_register\n     * </br>   // enduser_offline_im_invite\n     * </br>   // enduser_guest_account_time_to_live\n     * </br>   // enduser_oauth_authentication_notification\n     * </br>   templateName: string\n     * </br> }\n     * </div>\n     * @description\n     *  This API allows to check the rendering of a given email template. When a template is rendered with success (we look for Nunjucks issues), the flag 'tested' is set.\n     * tested flag is a prerequisite to be allowed to activate the template.\n     *\n     * </br> Users with superadmin role can get all available email templates of any company.\n     * </br> Users with bp_admin role can only get email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> Users with organization_admin role can only get email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> Users with company_admin users can only get all available email templates of their own company.\n     * An specific error (500001 - Impossible to render the custom email template [templateName]. (detail : [err]) is thrown when there is some Nunjuck issue\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | operation status message. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *  \"status\":\"Email Template enduser_invite_somebody of company 5734a186070f38215854b61f successfully sent\",\n     *  \"data\":[]\n     * }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5649,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "testEmailTemplateRendering",
    "since": "2.28.3",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "object of the template :\n<div style=\"text-align : left\">\n</br> {\n</br>   // A valid mail address.\n</br>   // Default value : loginEmail\n</br>   emailTo?: string,\n\n</br>   // A list of key/value . Data required by the template for rendering (depends of the template)\n</br>   inputs: object,\n\n</br>   // User language\n</br>   // Language format is composed of locale using format ISO 639-1, with optionally the regional variation using ISO 3166‑1 alpha-2 (separated by hyphen).\n</br>   // Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ...\n</br>   // More information about the format can be found on this link: https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes\n</br>   // Default value : en\n</br>   // Possibles values: /^([a-z]{2})(?:(?:(-)[A-Z]{2}))?$/\n</br>   language?: string,\n\n</br>   // One of the email template allowed to be customized.\n</br>   // For the entire list of allowed template names, use getEmailTemplatesDocumentation(format=small)\n</br>   // Possibles values :\n</br>   // admin_cancel_invite_user_join_company\n</br>   // admin_invite_user_join_company\n</br>   // admin_invite_user_join_company_as_admin\n</br>   // admin_invite_user_register_and_join_company\n</br>   // admin_invite_user_register_and_join_company_as_admin\n</br>   // admin_request_company_visibility\n</br>   // bp_admin_invite_ec_admin_link_his_company_to_bp\n</br>   // ec_admin_request_bp_admin_link_his_company_to_bp\n</br>   // bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir\n</br>   // ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir\n</br>   // enduser_account_creation_completed\n</br>   // enduser_account_terminated\n</br>   // enduser_account_terminated_by_himself\n</br>   // enduser_conversation_download\n</br>   // enduser_invite_somebody\n</br>   // enduser_chat_room_invite_guest\n</br>   // enduser_conference_invite_somebody\n</br>   // enduser_scheduled_conference_cancel_invite\n</br>   // enduser_scheduled_conference_invite_somebody\n</br>   // enduser_scheduled_conference_ical\n</br>   // enduser_scheduled_conference_cancel_ical\n</br>   // enduser_request_join_company\n</br>   // enduser_request_user_visibility\n</br>   // enduser_temporary_token_reset_password\n</br>   // enduser_temporary_token_self_register\n</br>   // enduser_offline_im_invite\n</br>   // enduser_guest_account_time_to_live\n</br>   // enduser_oauth_authentication_notification\n</br>   templateName: string\n</br> }\n</div>",
        "name": "body"
      }
    ],
    "description": "This API allows to check the rendering of a given email template. When a template is rendered with success (we look for Nunjucks issues), the flag 'tested' is set.\ntested flag is a prerequisite to be allowed to activate the template.\n\n</br> Users with superadmin role can get all available email templates of any company.\n</br> Users with bp_admin role can only get email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> Users with organization_admin role can only get email templates for a company they manage (i.e. company linked to organization_admin's organization).\n</br> Users with company_admin users can only get all available email templates of their own company.\nAn specific error (500001 - Impossible to render the custom email template [templateName]. (detail : [err]) is thrown when there is some Nunjuck issue",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | operation status message. |\n\n </br>example of result :\n ```json\n {\n \"status\":\"Email Template enduser_invite_somebody of company 5734a186070f38215854b61f successfully sent\",\n \"data\":[]\n}\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#testEmailTemplateRendering",
    "memberof": "module:AdminService",
    "$longname": "AdminService#testEmailTemplateRendering",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method unblockApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to unblock an application.\n     *\n     * </br> Users with `superadmin` role can unblock an application.\n     * </br> Users with `admin` role can unblock an application.\n     * </br> Users with `app_admin` role can unblock an application.\n     * </br> Users with `app_superadmin` role can unblock an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17250,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "unblockApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to unblock an application.\n\n</br> Users with `superadmin` role can unblock an application.\n</br> Users with `admin` role can unblock an application.\n</br> Users with `app_admin` role can unblock an application.\n</br> Users with `app_superadmin` role can unblock an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#unblockApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#unblockApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method unSubscribeCompanyToAlertOffer\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} companyId=\"user s company id\" Id of the company to the unsubscription of the offer.\n     * @description\n     *      Method to unsubscribe one company to offer Alert. </BR>\n     *      Private offer on .Net platform. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6965,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "unSubscribeCompanyToAlertOffer",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Id of the company to the unsubscription of the offer.",
        "name": "companyId"
      }
    ],
    "description": "Method to unsubscribe one company to offer Alert. </BR>\n     Private offer on .Net platform. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#unSubscribeCompanyToAlertOffer",
    "memberof": "module:AdminService",
    "$longname": "AdminService#unSubscribeCompanyToAlertOffer",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method unSubscribeCompanyToOfferById\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} offerId Id of the offer to filter subscriptions.\n     * @param {string} companyId=\"user s company id\" Id of the company to get the subscription of the offer.\n     * @description\n     *      Method to unsubscribe one company to one offer . </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7071,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "unSubscribeCompanyToOfferById",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the offer to filter subscriptions.",
        "name": "offerId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Id of the company to get the subscription of the offer.",
        "name": "companyId"
      }
    ],
    "description": "Method to unsubscribe one company to one offer . </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#unSubscribeCompanyToOfferById",
    "memberof": "module:AdminService",
    "$longname": "AdminService#unSubscribeCompanyToOfferById",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method unSubscribeCompanyToSubscription\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} subscriptionId Id of the subscriptions to unsubscribe.\n     * @param {string} companyId=\"user s company id\" Id of the company of the subscription.\n     * @description\n     *      Method to unsubscribe one company to one subscription. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7116,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "unSubscribeCompanyToSubscription",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the subscriptions to unsubscribe.",
        "name": "subscriptionId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Id of the company of the subscription.",
        "name": "companyId"
      }
    ],
    "description": "Method to unsubscribe one company to one subscription. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#unSubscribeCompanyToSubscription",
    "memberof": "module:AdminService",
    "$longname": "AdminService#unSubscribeCompanyToSubscription",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method unSubscribeCompanyToVoiceEnterpriseOffer\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} companyId=\"user s company id\" Id of the company to the unsubscription of the offer.\n     * @description\n     *      Method to unsubscribe one company to offer Voice Enterprise. </BR>\n     *      Private offer on .Net platform. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7036,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "unSubscribeCompanyToVoiceEnterpriseOffer",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"user",
        "description": "s company id\" Id of the company to the unsubscription of the offer.",
        "name": "companyId"
      }
    ],
    "description": "Method to unsubscribe one company to offer Voice Enterprise. </BR>\n     Private offer on .Net platform. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#unSubscribeCompanyToVoiceEnterpriseOffer",
    "memberof": "module:AdminService",
    "$longname": "AdminService#unSubscribeCompanyToVoiceEnterpriseOffer",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method unSubscribeUserToSubscription\n     * @since 1.73\n     * @instance\n     * @async\n     * @category Offers and Subscriptions.\n     * @param {string} userId the id of the user which will unsubscribe. If not provided, the connected user is used.\n     * @param {string} subscriptionId the id of the subscription to unsubscribe the user.\n     * @description\n     *      Method to unsubscribe one user to a subscription. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7188,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Offers and Subscriptions.",
        "value": "Offers and Subscriptions."
      }
    ],
    "kind": "function",
    "name": "unSubscribeUserToSubscription",
    "since": "1.73",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the user which will unsubscribe. If not provided, the connected user is used.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "the id of the subscription to unsubscribe the user.",
        "name": "subscriptionId"
      }
    ],
    "description": "Method to unsubscribe one user to a subscription. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#unSubscribeUserToSubscription",
    "memberof": "module:AdminService",
    "$longname": "AdminService#unSubscribeUserToSubscription",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateAClientVersion\n     * @since 2.5.0\n     * @instance\n     * @param {string} clientId Application unique identifier to which the client version refer\n     * @param {string} version App version\n     * @async\n     * @category Clients Versions\n     * @description\n     *     This API can be used to get the minimal required version defined for a given client application (if any, otherwise a 404 http error is returned).</BR>\n     *     Users with superadmin role can retrieve the minimal required version for all client applications.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13561,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Clients Versions",
        "value": "Clients Versions"
      }
    ],
    "kind": "function",
    "name": "updateAClientVersion",
    "since": "2.5.0",
    "scope": "instance",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier to which the client version refer",
        "name": "clientId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "App version",
        "name": "version"
      }
    ],
    "async": true,
    "description": "This API can be used to get the minimal required version defined for a given client application (if any, otherwise a 404 http error is returned).</BR>\n    Users with superadmin role can retrieve the minimal required version for all client applications.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateAClientVersion",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateAClientVersion",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateAJoinCompanyLink\n     * @nodered true\n     * @instance\n     * @description\n     *      This API can be used by company admin users to update a join company link for his company. </BR>\n     *      Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>\n     * @async\n     * @param {string} companyId Company unique identifier. Default value is the current logued in user's company.</br>\n     * @param {string} joinCompanyLinkId Join company link unique identifier.\n     * @param {string} description Join company link description.\n     * @param {boolean} isEnabled=true Boolean allowing to enable or disable the join company link. </BR>\n     * * if the link is enabled, users can register using it, </BR>\n     * * if the link is disabled, users can't register using it. </BR>\n     * Default value : `true` </BR>\n     * @param {string} expirationDate Date of expiration of the Join company link </BR>\n     * If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. </BR>\n     * `expirationDate` has to be provided in UTC timezone. </BR>\n     * `expirationDate` must be greater than the current date (not possible to set expirationDate to a passed date). </BR>\n     * @param {string} maxNumberUsers Maximum number of users allowed to register in the company using this join company link. </BR>\n     * If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied.\n     * @category Company join companies links\n     * @return {Promise<Object, ErrorManager>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Join company link Object |\n     * | id  | string | Join company link unique Id |\n     * | companyId | string | Company related to the join company link |\n     * | creationDate | Date-Time | Creation date of the join company link |\n     * | createdByAdminId | string | Unique Id of the admin who created the join company link |\n     * | description optionnel | string | Join company link description |\n     * | isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n     * | expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n     * | maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n     * | nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |\n     *\n     * @fulfil {Object} - result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 783,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateAJoinCompanyLink",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company join companies links",
        "value": "Company join companies links"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - result",
        "value": "{Object} - result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "scope": "instance",
    "description": "This API can be used by company admin users to update a join company link for his company. </BR>\n     Join company links allow company administrators to generate an id that can be used by users to create their account in this company. </BR>",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier. Default value is the current logued in user's company.</br>",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company link unique identifier.",
        "name": "joinCompanyLinkId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Join company link description.",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Boolean allowing to enable or disable the join company link. </BR>\n* if the link is enabled, users can register using it, </BR>\n* if the link is disabled, users can't register using it. </BR>\nDefault value : `true` </BR>",
        "name": "isEnabled"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Date of expiration of the Join company link </BR>\nIf a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. </BR>\n`expirationDate` has to be provided in UTC timezone. </BR>\n`expirationDate` must be greater than the current date (not possible to set expirationDate to a passed date). </BR>",
        "name": "expirationDate"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Maximum number of users allowed to register in the company using this join company link. </BR>\nIf a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied.",
        "name": "maxNumberUsers"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Join company link Object |\n| id  | string | Join company link unique Id |\n| companyId | string | Company related to the join company link |\n| creationDate | Date-Time | Creation date of the join company link |\n| createdByAdminId | string | Unique Id of the admin who created the join company link |\n| description optionnel | string | Join company link description |\n| isEnabled | Boolean | Boolean allowing to enable or disable the join company link.<br><br>* if the link is enabled, users can register using it,<br>* if the link is disabled, users can't register using it. |\n| expirationDate optionnel | Date-Time | Date of expiration of the Join company link  <br>If a user tries to register using a link while its `expirationDate` is less than the current date, user registration will be denied. |\n| maxNumberUsers optionnel | Number | Maximum number of users allowed to register in the company using this join company link.  <br>If a user tries to register using a link while its `nbUsersRegistered` is equal to `maxNumberUsers`, user registration will be denied. |\n| nbUsersRegistered | Number | Number of users that used this join company link to register in the company. |"
      }
    ],
    "longname": "module:AdminService#updateAJoinCompanyLink",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateAJoinCompanyLink",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateAnAtriumTicket\n     * @since 2.24.0\n     * @instance\n     * @async\n     * @category Customer Care - Users ticket\n     * @param {string} userId User or Rainbow room unique identifier. Default value is the connected user.\n     * @param {string} ticketId ticketId Ticket unique identifier\n     * @param {string} subject Subject of the new ticket\n     * @param {string} description Description of the new ticket\n     * @param {string} additionalDescription Additional information if necessary\n     * @param {string} resource  resource used to generate anomaly\n     * @param {string} externalRef external reference used\n     * @param {Array<string>} logs An Array of log Id regarding the anomaly.\n     * @description\n     *     This API allows to update a context from logs to submit a ticket to Zendesk. </BR>\n     *     This context may contains </BR>\n     * * externalRef </BR>\n     * * subject </BR>\n     * * description </BR>\n     * * additional description </BR>\n     * * resource </BR>\n     * * logs. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * example of result :\n     * ```json\n     * {\n     * \"externalRef\": \"xxxxxxx\",\n     * \"internalRef\": \"xxxxxxx\",\n     * \"subject\": \"ringing problem\",\n     * \"description\": \"Hello Houston, we've got a problem.\",\n     * \"additionalDescription\": \"my phone neither\",\n     * \"resource\": \"web\\_win\\_xxxxx\",\n     * \"logs\": []\n     * }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 15503,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateAnAtriumTicket",
    "since": "2.24.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customer Care - Users ticket",
        "value": "Customer Care - Users ticket"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User or Rainbow room unique identifier. Default value is the connected user.",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ticketId Ticket unique identifier",
        "name": "ticketId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Subject of the new ticket",
        "name": "subject"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Description of the new ticket",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Additional information if necessary",
        "name": "additionalDescription"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "resource used to generate anomaly",
        "name": "resource"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "external reference used",
        "name": "externalRef"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "An Array of log Id regarding the anomaly.",
        "name": "logs"
      }
    ],
    "description": "This API allows to update a context from logs to submit a ticket to Zendesk. </BR>\n    This context may contains </BR>\n* externalRef </BR>\n* subject </BR>\n* description </BR>\n* additional description </BR>\n* resource </BR>\n* logs. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\nexample of result :\n```json\n{\n\"externalRef\": \"xxxxxxx\",\n\"internalRef\": \"xxxxxxx\",\n\"subject\": \"ringing problem\",\n\"description\": \"Hello Houston, we've got a problem.\",\n\"additionalDescription\": \"my phone neither\",\n\"resource\": \"web\\_win\\_xxxxx\",\n\"logs\": []\n}\n```"
      }
    ],
    "longname": "module:AdminService#updateAnAtriumTicket",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateAnAtriumTicket",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateApiKey\n     * @since 2.36.0\n     * @instance\n     * @async\n     * @param {string} apiKeyId API_KEY unique identifier\n     * @param {string} description The description of the API_KEY\n     * @param {boolean} isActive Indicate if the API_KEY is active\n     * @param {string} expirationDate The expiration date of the API_KEY. If expirationDate is null or not set, the API_KEY never expire\n     * @category Apikeys Rainbow Authentication\n     * @description\n     *     This API allows Rainbow users create an API_KEY for authentication. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field | Type | Description |\n     * | --- | --- | --- |\n     * | id  | String | The identifier of the API_KEY |\n     * | apiKey | String | The value of the API_KEY |\n     * | scope | String\\[\\] | The scope of the API_KEY |\n     * | description | String | The description of the API_KEY |\n     * | isActive | Boolean | Indicate if the API_KEY is active |\n     * | userId | String | The identifier of the API_KEY owner |\n     * | loginEmail | String | The Email of the API_KEY owner |\n     * | expirationDate optional | Date-Time | The expiration date of the API_KEY |\n     * | creationDate | Date-Time | The creation date of the API_KEY |\n     * | lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n     * | createdBy | Object | The object containing some information about the creator of the API_KEY |\n     * | userId | String | The identifier the creator of the API_KEY |\n     * | loginEmail | String | The Email the creator of the API_KEY |\n     * | appId | String | The identifier of the application associated to the creator of the API_KEY |\n     * | appName | String | The name of the application associated to the creator of the API_KEY |\n     * | clientMetadata | Object | The metadata of the client |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 14217,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Apikeys Rainbow Authentication",
        "value": "Apikeys Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "updateApiKey",
    "since": "2.36.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "API_KEY unique identifier",
        "name": "apiKeyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The description of the API_KEY",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicate if the API_KEY is active",
        "name": "isActive"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The expiration date of the API_KEY. If expirationDate is null or not set, the API_KEY never expire",
        "name": "expirationDate"
      }
    ],
    "description": "This API allows Rainbow users create an API_KEY for authentication. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field | Type | Description |\n| --- | --- | --- |\n| id  | String | The identifier of the API_KEY |\n| apiKey | String | The value of the API_KEY |\n| scope | String\\[\\] | The scope of the API_KEY |\n| description | String | The description of the API_KEY |\n| isActive | Boolean | Indicate if the API_KEY is active |\n| userId | String | The identifier of the API_KEY owner |\n| loginEmail | String | The Email of the API_KEY owner |\n| expirationDate optional | Date-Time | The expiration date of the API_KEY |\n| creationDate | Date-Time | The creation date of the API_KEY |\n| lastUpdateDate optional | Date-Time | The last date of update of the API_KEY |\n| createdBy | Object | The object containing some information about the creator of the API_KEY |\n| userId | String | The identifier the creator of the API_KEY |\n| loginEmail | String | The Email the creator of the API_KEY |\n| appId | String | The identifier of the application associated to the creator of the API_KEY |\n| appName | String | The name of the application associated to the creator of the API_KEY |\n| clientMetadata | Object | The metadata of the client |"
      }
    ],
    "longname": "module:AdminService#updateApiKey",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateApiKey",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to update an application.\n     *\n     * </br> Users with `superadmin` role can update an application.\n     * </br> Users with `admin` role can update an application.\n     * </br> Users with `app_admin` role can update an application.\n     * </br> Users with `app_superadmin` role can update an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @param {object} applicationData Application data to update\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17273,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "updateApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to update an application.\n\n</br> Users with `superadmin` role can update an application.\n</br> Users with `admin` role can update an application.\n</br> Users with `app_admin` role can update an application.\n</br> Users with `app_superadmin` role can update an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      },
      {
        "type": {
          "names": [
            "object"
          ]
        },
        "description": "Application data to update",
        "name": "applicationData"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#updateApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateASystemPhoneNumber\n     * @since 2.20.0\n     * @instance\n     * @category Systems -  Phone numbers\n     * @async\n     * @param {string} systemId System unique identifier\n     * @param {string} phoneNumberId PhoneNumber unique identifier\n     * @param {boolean} isMonitored Specifies if the PhoneNumber is monitored by agent (i.e. telephony events are notified to Rainbow user through XMPP)\n     * @param {string} userId Rainbow userId to which is linked the phoneNumber\n     * @param {string} internalNumber Internal phone number. Usable within a PBX group. By default, it is equal to shortNumber. </BR>\n     * internalNumber must be unique in the whole system group to which the related PhoneNumber belong (an error 409 is raised if someone tries to update internalNumber to a number already used by another PhoneNumber in the same system group).\n     * @param {string} number Raw phone number (DDI) Note: If numberE164 can't be computed from number and computed country fields, an error 400 is returned (ex: wrong phone number, phone number not matching country code, ...)\n     * @param {string} type Phone number type. Default value : work. Possible values : home, work, other\n     * @param {string} deviceType Phone number device type. Default value : landline. Possible values : landline, mobile, fax, other\n     * @param {string} firstName first name\n     * @param {string} lastName last name\n     * @param {string} deviceName device name\n     * @param {boolean} isVisibleByOthers Allow user to choose if the phone number is visible by other users or not. </BR>\n     * Note that administrators can see all the phone numbers, even if isVisibleByOthers is set to false. </BR>\n     * Note that phone numbers linked to a system (isFromSystem=true) are always visible, isVisibleByOthers can't be set to false for these numbers. </BR>\n     * @description\n     *   This API allows to update a phone number for a given system (pbx). </BR>\n     *   It can be used to link a system phoneNumber to a Rainbow user by setting userId parameter. If userId parameter is provided, jid_im, jid_tel, jid_password and rainbowNumber of the corresponding user are automatically set in phoneNumber. </BR>\n     *   It can also be used to enable monitoring of this phoneNumber by PCG (set isMonitored parameter to true). </BR>\n     *   Note that pbxId, systemId, shortNumber and pbxUserId can't be modified. </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | Phone number unique identifier |\n     * | shortNumber | string | Short phone number (corresponds to the number monitored by PCG).  </BR>Only usable within the same PBX.  </BR>shortNumber can contain alpha-numeric characters and some special characters. The regular expression validating the shortNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n     * | internalNumber | string | Internal phone number.  </BR>Usable within a PBX group.  </BR>internalNumber can contain alpha-numeric characters and some special characters. The regular expression validating the internalNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n     * | voiceMailNumber optionnel | string | Voice mail phone number  </BR>voiceMailNumber can contain alpha-numeric characters and some special characters. The regular expression validating the voiceMailNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n     * | number optionnel | string | DDI phone number |\n     * | numberE164 optionnel | string | E.164 phone number (computed by server if number is set) |\n     * | pbxUserId | string | Pbx's user Id |\n     * | userId optionnel | string | Rainbow userId to which the phone number is linked |\n     * | jid_im | string | jid_im of the Rainbow user to which the phone number is linked |\n     * | jid_tel | string | jid_tel of the Rainbow user to which the phone number is linked |\n     * | jid_password | string | jid_password of the Rainbow user to which the phone number is linked |\n     * | rainbowNumber optionnel | string | Rainbow number of the Rainbow user to which the phone number is linked |\n     * | country optionnel | string | Phone number country (ISO 3166-1 alpha3 format)  </BR>Country field is automatically computed using the following algorithm:</BR></BR>* If `number` is provided and is in E164 format, `country` is computed from this E164 number</BR>* Else if phoneNumber is assigned to a user, user's `country` is used</BR>* Else, system's `country` is used |\n     * | type optionnel | string | Phone number type, one of `home`, `work`, `other` |\n     * | deviceType optionnel | string | Phone number device type, one of `landline`, `mobile`, `fax`, `other` |\n     * | isFromSystem optionnel | string | Boolean indicating if the phoneNumber is linked to a system (pbx) |\n     * | pbxId | string | pbx unique identifier |\n     * | firstName | string | firstname |\n     * | lastName | string | lastname |\n     * | deviceName | string | devicename |\n     * | systemId optionnel | string | System unique identifier |\n     * | isMonitored | Boolean | Specifies if the PhoneNumber is monitored by agent (i.e. telephony events are notified to Rainbow user through XMPP) |\n     * | isNomadic optionnel | Boolean | Specifies if Nomadic set is selected. |\n     * | isVoipNomadic optionnel | Boolean | Specifies if Nomadic destination is VoIP. |\n     * | isNomadicModeInitialized optionnel | Boolean | Nomadic feature: when true, at least one login or logout has been done. PCG reserved. |\n     * | userType optionnel | string | The userType is ACD data from the OXE. PCG reserved. |\n     *\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12576,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems -  Phone numbers",
        "value": "Systems -  Phone numbers"
      }
    ],
    "kind": "function",
    "name": "updateASystemPhoneNumber",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System unique identifier",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "PhoneNumber unique identifier",
        "name": "phoneNumberId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Specifies if the PhoneNumber is monitored by agent (i.e. telephony events are notified to Rainbow user through XMPP)",
        "name": "isMonitored"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Rainbow userId to which is linked the phoneNumber",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Internal phone number. Usable within a PBX group. By default, it is equal to shortNumber. </BR>\ninternalNumber must be unique in the whole system group to which the related PhoneNumber belong (an error 409 is raised if someone tries to update internalNumber to a number already used by another PhoneNumber in the same system group).",
        "name": "internalNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Raw phone number (DDI) Note: If numberE164 can't be computed from number and computed country fields, an error 400 is returned (ex: wrong phone number, phone number not matching country code, ...)",
        "name": "number"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Phone number type. Default value : work. Possible values : home, work, other",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Phone number device type. Default value : landline. Possible values : landline, mobile, fax, other",
        "name": "deviceType"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "first name",
        "name": "firstName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "last name",
        "name": "lastName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "device name",
        "name": "deviceName"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allow user to choose if the phone number is visible by other users or not. </BR>\nNote that administrators can see all the phone numbers, even if isVisibleByOthers is set to false. </BR>\nNote that phone numbers linked to a system (isFromSystem=true) are always visible, isVisibleByOthers can't be set to false for these numbers. </BR>",
        "name": "isVisibleByOthers"
      }
    ],
    "description": "This API allows to update a phone number for a given system (pbx). </BR>\n  It can be used to link a system phoneNumber to a Rainbow user by setting userId parameter. If userId parameter is provided, jid_im, jid_tel, jid_password and rainbowNumber of the corresponding user are automatically set in phoneNumber. </BR>\n  It can also be used to enable monitoring of this phoneNumber by PCG (set isMonitored parameter to true). </BR>\n  Note that pbxId, systemId, shortNumber and pbxUserId can't be modified. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | Phone number unique identifier |\n| shortNumber | string | Short phone number (corresponds to the number monitored by PCG).  </BR>Only usable within the same PBX.  </BR>shortNumber can contain alpha-numeric characters and some special characters. The regular expression validating the shortNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n| internalNumber | string | Internal phone number.  </BR>Usable within a PBX group.  </BR>internalNumber can contain alpha-numeric characters and some special characters. The regular expression validating the internalNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n| voiceMailNumber optionnel | string | Voice mail phone number  </BR>voiceMailNumber can contain alpha-numeric characters and some special characters. The regular expression validating the voiceMailNumber data is the following: `/^[0-9A-Za-z #\\-\\+\\*\\(\\)\\./]{1,32}$/` |\n| number optionnel | string | DDI phone number |\n| numberE164 optionnel | string | E.164 phone number (computed by server if number is set) |\n| pbxUserId | string | Pbx's user Id |\n| userId optionnel | string | Rainbow userId to which the phone number is linked |\n| jid_im | string | jid_im of the Rainbow user to which the phone number is linked |\n| jid_tel | string | jid_tel of the Rainbow user to which the phone number is linked |\n| jid_password | string | jid_password of the Rainbow user to which the phone number is linked |\n| rainbowNumber optionnel | string | Rainbow number of the Rainbow user to which the phone number is linked |\n| country optionnel | string | Phone number country (ISO 3166-1 alpha3 format)  </BR>Country field is automatically computed using the following algorithm:</BR></BR>* If `number` is provided and is in E164 format, `country` is computed from this E164 number</BR>* Else if phoneNumber is assigned to a user, user's `country` is used</BR>* Else, system's `country` is used |\n| type optionnel | string | Phone number type, one of `home`, `work`, `other` |\n| deviceType optionnel | string | Phone number device type, one of `landline`, `mobile`, `fax`, `other` |\n| isFromSystem optionnel | string | Boolean indicating if the phoneNumber is linked to a system (pbx) |\n| pbxId | string | pbx unique identifier |\n| firstName | string | firstname |\n| lastName | string | lastname |\n| deviceName | string | devicename |\n| systemId optionnel | string | System unique identifier |\n| isMonitored | Boolean | Specifies if the PhoneNumber is monitored by agent (i.e. telephony events are notified to Rainbow user through XMPP) |\n| isNomadic optionnel | Boolean | Specifies if Nomadic set is selected. |\n| isVoipNomadic optionnel | Boolean | Specifies if Nomadic destination is VoIP. |\n| isNomadicModeInitialized optionnel | Boolean | Nomadic feature: when true, at least one login or logout has been done. PCG reserved. |\n| userType optionnel | string | The userType is ACD data from the OXE. PCG reserved. |"
      }
    ],
    "longname": "module:AdminService#updateASystemPhoneNumber",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateASystemPhoneNumber",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateCloudPBX\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} barringOptions_permissions Identifier of the traffic barring permission to apply\n     * @param {string} barringOptions_restrictions Identifier of the traffic barring restriction to apply\n     * @param {string} callForwardOptions_externalCallForward Indicates if an external call forward is authorized\n     * @param {string} customSipHeader_1 Value to put as Custom SIP Header 1 into SIP data for an external outgoing call\n     * @param {string} customSipHeader_2 Value to put as Custom SIP Header 2 into SIP data for an external outgoing call\n     * @param {boolean} emergencyOptions_callAuthorizationWithSoftPhone Indicates if SoftPhone can perform an emergency call over voip\n     * @param {boolean} emergencyOptions_emergencyGroupActivated Indicates if emergency Group is active\n     * @param {string} externalTrunkId External trunk that should be linked to this CloudPBX\n     * @param {string} language New language for this CloudPBX. Values : \"ro\" \"es\" \"it\" \"de\" \"ru\" \"fr\" \"en\" \"ar\" \"he\" \"nl\"\n     * @param {string} name New CloudPBX name\n     * @param {number} numberingDigits Number of digits for CloudPBX numbering plan. If a numberingPrefix is provided, this parameter is mandatory.\n     * For example, if numberingPrefix is 8 and numberingDigits is 4, allowed numbers for this CloudPBX will be from 8000 to 8999.\n     * @param {number} numberingPrefix Prefix for CloudPBX numbering plan\n     * @param {number} outgoingPrefix Company outgoing prefix\n     * @param {boolean} routeInternalCallsToPeer Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk)\n     * @description\n     *      This API allows to update a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9724,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "updateCloudPBX",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Identifier of the traffic barring permission to apply",
        "name": "barringOptions_permissions"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Identifier of the traffic barring restriction to apply",
        "name": "barringOptions_restrictions"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Indicates if an external call forward is authorized",
        "name": "callForwardOptions_externalCallForward"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Value to put as Custom SIP Header 1 into SIP data for an external outgoing call",
        "name": "customSipHeader_1"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Value to put as Custom SIP Header 2 into SIP data for an external outgoing call",
        "name": "customSipHeader_2"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if SoftPhone can perform an emergency call over voip",
        "name": "emergencyOptions_callAuthorizationWithSoftPhone"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if emergency Group is active",
        "name": "emergencyOptions_emergencyGroupActivated"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "External trunk that should be linked to this CloudPBX",
        "name": "externalTrunkId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "New language for this CloudPBX. Values : \"ro\" \"es\" \"it\" \"de\" \"ru\" \"fr\" \"en\" \"ar\" \"he\" \"nl\"",
        "name": "language"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "New CloudPBX name",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Number of digits for CloudPBX numbering plan. If a numberingPrefix is provided, this parameter is mandatory.\nFor example, if numberingPrefix is 8 and numberingDigits is 4, allowed numbers for this CloudPBX will be from 8000 to 8999.",
        "name": "numberingDigits"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Prefix for CloudPBX numbering plan",
        "name": "numberingPrefix"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Company outgoing prefix",
        "name": "outgoingPrefix"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk)",
        "name": "routeInternalCallsToPeer"
      }
    ],
    "description": "This API allows to update a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateCloudPBX",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCloudPBX",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateCloudPBXCLIOptionsConfiguration\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - CloudPBX\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {CLOUDPBXCLIOPTIONPOLICY} policy CLI policy to apply. Values : \"installation_ddi_number\" or \"user_ddi_number\".\n     * @description\n     *      This API allows to update a CloudPBX using its identifier. </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9924,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - CloudPBX",
        "value": "Rainbow Voice Communication Platform Provisioning - CloudPBX"
      }
    ],
    "kind": "function",
    "name": "updateCloudPBXCLIOptionsConfiguration",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "CLOUDPBXCLIOPTIONPOLICY"
          ]
        },
        "description": "CLI policy to apply. Values : \"installation_ddi_number\" or \"user_ddi_number\".",
        "name": "policy"
      }
    ],
    "description": "This API allows to update a CloudPBX using its identifier. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateCloudPBXCLIOptionsConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCloudPBXCLIOptionsConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateCloudPBXGroup\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId Company unique identifier (like 569ce8c8f9336c471b98eda1).\n     * @param {string} groupId Unique identifier of the Cloud PBX group to update.\n     * @param {string} name - Hunting group name - displayed on the caller phone set.\n     * @param {HuntingGroupPolicy} policy=\"parallel\" - Hunting group policy - parallel only for hg_attendant subType, serial only for manager_assistant subType.\n     * @param {number} timeout=10 - Timeout after which the next member of the hunting group will be selected (ringing) - applicable to group with serial or circular policy.\n     * @param {string} externalNumberId - Identifier of the public phone number assigned to the hunting group.\n     * @param {Boolean} isEmptyAllowed=true - Indicates if the last active member can leave the hunting group or not.\n     * @param {Boolean} isDDIUpdateByManagerAllowed=true - Indicates if changing the DDI of this hunting group by a manager is allowed or not.\n     * @param {Object[]} members - List of group members. In case of serial hunting group policy, the order is the ringing order, for hg_attendant hunting group only Voice Attendant users.\n     * @param {string} members.memberId - Member (user) unique identifier.\n     * @param {HuntingGroupMemberRole[]} members.roles=['agent'] - Member roles inside the group.\n     * @param {(HuntingGroupMemberStatus)} members.status=\"active\" - Member status inside the group.\n     * @description\n     *      This API allows to modify settings of a PBX group.\n     * </br> Modification can be done on the following settings of a group:\n     * </br>\n     * </br>     Hunting group name\n     * </br>     Hunting group policy: parallel, serial or circular. Only 'default' hunting group can change its policy\n     * </br>     Hunting group timeout (for serial or circular group, in seconds)\n     * </br>     Members of the group (list of members, ordered in case of serial or circular hunting group or assistants of manager_assistant group)\n     * </br>     Empty group allowed (or not)\n     * </br>     Manager allowed or not to change the DDI of the group\n     * </br>\n     * </br>\n     * </br> Company admin, or superadmin can modify the whole parameters of a group, while a manager of a group can only manage the members of a group (add / remove members, change members order for a hunting group with policy set to serial).\n     * </br>\n     * </br>\n     * </br> An external phone number can also be assigned to a hunting group, so that it can be joined from public network.\n     * </br> To assign such a number, the following steps should be performed:\n     * </br>\n     * </br>     Retrieve the list of available phone numbers: (list DDI numbers from RVCP Provisioning portal)\n     * </br>     Provide the externalNumberId of the selected phone number in the body of this update request\n     * </br>\n     * </br>\n     * </br>\n     * </br> Please note that attributes group type and isEmergencyGroup cannot be changed.\n     * </br>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field                  | Type                                          | Description                                                                                         |\n     * |------------------------|-----------------------------------------------|-----------------------------------------------------------------------------------------------------|\n     * | id                | string                                        | Hunting group unique identifier                                                                    |\n     * | name              | string                                        | Hunting group name - displayed on the caller phone set                                             |\n     * | shortNumber       | string                                        | Hunting group short phone number                                                                   |\n     * | externalNumber    | string                                        | Public phone number of the hunting group                                                           |\n     * | externalNumberId  | string                                        | Identifier of the hunting group public phone number                                                 |\n     * | roomId            | string                                        | Identifier of the hunting group associated room                                                     |\n     * | phoneNumberId     | string                                        | Identifier of the hunting group phone number                                                        |\n     * | createdBy         | string                                        | Hunting group creator identifier                                                                   |\n     * | policy            | HuntingGroupPolicy           | Group policy                                                                                       |\n     * | timeout           | Number (5-30)                                 | Hunting group timeout in seconds - for serial or circular hunting group policy                       |\n     * | isRecordingActivated | Boolean                                    | Indicate if the recording activated on the hunting group                                           |\n     * | recordingProfile  | HuntingGroupProfiles | Recording profile of the hunting group                                                          |\n     * | isEmergencyGroup  | Boolean                                       | Indicates if this group is the emergency group for the associated Cloud PBX                         |\n     * | isEmptyAllowed    | Boolean                                       | Indicates if the last active member can leave the group or not                                      |\n     * | isDDIUpdateByManagerAllowed | Boolean                                | Indicates if changing the DDI of this hunting group by a manager is allowed or not                   |\n     * | type              | HuntingGroupType    | Group type -- DEPRECATED manager_assistant - see subType manager_assistant                          |\n     * | subType           | HuntingGroupSubType | Hunting group sub type                                                                       |\n     * | companyId         | string                                        | Identifier of the company owning the hunting group                                                 |\n     * | subscriberId      | string                                        | Associated subscriber Id of the hunting group                                                       |\n     * | systemId          | string                                        | Cloud PBX System unique identifier (like 569ce8c8f9336c471b98eda1)                                  |\n     * | members           | Object[]                                      | List of group members.                                                                            |\n     * | members.memberId  | string                                        | Member (user) unique identifier                                                                   |\n     * | members.displayName | string                                      | Member display name                                                                               |\n     * | members.roles     | string []                                      | Member role inside the group (default: '[\"agent\"]')                                                |\n     * | members.status    | HuntingGroupMemberStatus                        | Member status inside the group (default: active)                                                   |\n     * | members.connected | HuntingGroupMemberConnection | Hunting group member connected status inside the group                                        |\n     * | analyticSettings  | Object                                        | Group analytic settings                                                                            |\n     * | analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean | Are group managers allowed to see members analytics                                                |\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *           \"id\": \"5cd545b3a07de465fbc3fcda\",\n     *           \"name\": \"Group_1\",\n     *           \"type\": \"hunting_group\",\n     *           \"subType\": \"default\",\n     *           \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n     *           \"policy\": \"serial\",\n     *           \"shortNumber\": \"81002\",\n     *           \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n     *           \"externalNumber\": \"+33298564112\",\n     *           \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n     *           \"timeout\": 10,\n     *           \"isEmergencyGroup\": false,\n     *           \"isEmptyAllowed\": false,\n     *           \"isDDIUpdateByManagerAllowed\": true,\n     *           \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n     *           \"subscriberId\": 147,\n     *           \"systemId\": \"5de6a632c21aa17bab337347\",\n     *           \"members\": [\n     *               {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n     *               {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n     *               {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"connected\"}\n     *           ],\n     *           \"roomId\": \"5de6a632c21aa10987456321a\",\n     *           \"isRecordingActivated\": false,\n     *           \"recordingProfile\": \"none\",\n     *           \"analyticSettings\": {\n     *               \"isManagersAllowedToSeeMembersAnalytics\": true\n     *           }\n     *  }\n     *  ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16251,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateCloudPBXGroup",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier (like 569ce8c8f9336c471b98eda1).",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the Cloud PBX group to update.",
        "name": "groupId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Hunting group name - displayed on the caller phone set.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "HuntingGroupPolicy"
          ]
        },
        "defaultvalue": "\"parallel\"",
        "description": "Hunting group policy - parallel only for hg_attendant subType, serial only for manager_assistant subType.",
        "name": "policy"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 10,
        "description": "Timeout after which the next member of the hunting group will be selected (ringing) - applicable to group with serial or circular policy.",
        "name": "timeout"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Identifier of the public phone number assigned to the hunting group.",
        "name": "externalNumberId"
      },
      {
        "type": {
          "names": [
            "Boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Indicates if the last active member can leave the hunting group or not.",
        "name": "isEmptyAllowed"
      },
      {
        "type": {
          "names": [
            "Boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Indicates if changing the DDI of this hunting group by a manager is allowed or not.",
        "name": "isDDIUpdateByManagerAllowed"
      },
      {
        "type": {
          "names": [
            "Array.<Object>"
          ]
        },
        "description": "List of group members. In case of serial hunting group policy, the order is the ringing order, for hg_attendant hunting group only Voice Attendant users.",
        "name": "members"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Member (user) unique identifier.",
        "name": "members.memberId"
      },
      {
        "type": {
          "names": [
            "Array.<HuntingGroupMemberRole>"
          ]
        },
        "defaultvalue": "['agent'",
        "description": "Member roles inside the group.",
        "name": "members.roles"
      },
      {
        "type": {
          "names": [
            "HuntingGroupMemberStatus"
          ]
        },
        "defaultvalue": "\"active\"",
        "description": "Member status inside the group.",
        "name": "members.status"
      }
    ],
    "description": "This API allows to modify settings of a PBX group.\n</br> Modification can be done on the following settings of a group:\n</br>\n</br>     Hunting group name\n</br>     Hunting group policy: parallel, serial or circular. Only 'default' hunting group can change its policy\n</br>     Hunting group timeout (for serial or circular group, in seconds)\n</br>     Members of the group (list of members, ordered in case of serial or circular hunting group or assistants of manager_assistant group)\n</br>     Empty group allowed (or not)\n</br>     Manager allowed or not to change the DDI of the group\n</br>\n</br>\n</br> Company admin, or superadmin can modify the whole parameters of a group, while a manager of a group can only manage the members of a group (add / remove members, change members order for a hunting group with policy set to serial).\n</br>\n</br>\n</br> An external phone number can also be assigned to a hunting group, so that it can be joined from public network.\n</br> To assign such a number, the following steps should be performed:\n</br>\n</br>     Retrieve the list of available phone numbers: (list DDI numbers from RVCP Provisioning portal)\n</br>     Provide the externalNumberId of the selected phone number in the body of this update request\n</br>\n</br>\n</br>\n</br> Please note that attributes group type and isEmergencyGroup cannot be changed.\n</br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field                  | Type                                          | Description                                                                                         |\n|------------------------|-----------------------------------------------|-----------------------------------------------------------------------------------------------------|\n| id                | string                                        | Hunting group unique identifier                                                                    |\n| name              | string                                        | Hunting group name - displayed on the caller phone set                                             |\n| shortNumber       | string                                        | Hunting group short phone number                                                                   |\n| externalNumber    | string                                        | Public phone number of the hunting group                                                           |\n| externalNumberId  | string                                        | Identifier of the hunting group public phone number                                                 |\n| roomId            | string                                        | Identifier of the hunting group associated room                                                     |\n| phoneNumberId     | string                                        | Identifier of the hunting group phone number                                                        |\n| createdBy         | string                                        | Hunting group creator identifier                                                                   |\n| policy            | HuntingGroupPolicy           | Group policy                                                                                       |\n| timeout           | Number (5-30)                                 | Hunting group timeout in seconds - for serial or circular hunting group policy                       |\n| isRecordingActivated | Boolean                                    | Indicate if the recording activated on the hunting group                                           |\n| recordingProfile  | HuntingGroupProfiles | Recording profile of the hunting group                                                          |\n| isEmergencyGroup  | Boolean                                       | Indicates if this group is the emergency group for the associated Cloud PBX                         |\n| isEmptyAllowed    | Boolean                                       | Indicates if the last active member can leave the group or not                                      |\n| isDDIUpdateByManagerAllowed | Boolean                                | Indicates if changing the DDI of this hunting group by a manager is allowed or not                   |\n| type              | HuntingGroupType    | Group type -- DEPRECATED manager_assistant - see subType manager_assistant                          |\n| subType           | HuntingGroupSubType | Hunting group sub type                                                                       |\n| companyId         | string                                        | Identifier of the company owning the hunting group                                                 |\n| subscriberId      | string                                        | Associated subscriber Id of the hunting group                                                       |\n| systemId          | string                                        | Cloud PBX System unique identifier (like 569ce8c8f9336c471b98eda1)                                  |\n| members           | Object[]                                      | List of group members.                                                                            |\n| members.memberId  | string                                        | Member (user) unique identifier                                                                   |\n| members.displayName | string                                      | Member display name                                                                               |\n| members.roles     | string []                                      | Member role inside the group (default: '[\"agent\"]')                                                |\n| members.status    | HuntingGroupMemberStatus                        | Member status inside the group (default: active)                                                   |\n| members.connected | HuntingGroupMemberConnection | Hunting group member connected status inside the group                                        |\n| analyticSettings  | Object                                        | Group analytic settings                                                                            |\n| analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean | Are group managers allowed to see members analytics                                                |\n\n </br>example of result :\n ```json\n {\n          \"id\": \"5cd545b3a07de465fbc3fcda\",\n          \"name\": \"Group_1\",\n          \"type\": \"hunting_group\",\n          \"subType\": \"default\",\n          \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n          \"policy\": \"serial\",\n          \"shortNumber\": \"81002\",\n          \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n          \"externalNumber\": \"+33298564112\",\n          \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n          \"timeout\": 10,\n          \"isEmergencyGroup\": false,\n          \"isEmptyAllowed\": false,\n          \"isDDIUpdateByManagerAllowed\": true,\n          \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n          \"subscriberId\": 147,\n          \"systemId\": \"5de6a632c21aa17bab337347\",\n          \"members\": [\n              {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n              {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n              {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"connected\"}\n          ],\n          \"roomId\": \"5de6a632c21aa10987456321a\",\n          \"isRecordingActivated\": false,\n          \"recordingProfile\": \"none\",\n          \"analyticSettings\": {\n              \"isManagersAllowedToSeeMembersAnalytics\": true\n          }\n }\n ```\n</br>"
      }
    ],
    "longname": "module:AdminService#updateCloudPBXGroup",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCloudPBXGroup",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateCloudPBXHuntingGroupAnalyticsConfiguration\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId Company unique identifier (like 569ce8c8f9336c471b98eda1).\n     * @param {string} groupId Unique identifier of the Cloud PBX group to update.\n     * @param {Boolean} [isManagersAllowedToSeeMembersAnalytics=true] - Set if a group manager is allowed to see members analytics.\n     * @description\n     *      This API allows to modify analytics settings of a PBX hunting group.\n     * @return {Promise<any>} - result\n     *\n     *\n     *\n     *  </br>example of result :\n     *  ```json\n     *  {\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16391,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateCloudPBXHuntingGroupAnalyticsConfiguration",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier (like 569ce8c8f9336c471b98eda1).",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the Cloud PBX group to update.",
        "name": "groupId"
      },
      {
        "type": {
          "names": [
            "Boolean"
          ]
        },
        "optional": true,
        "defaultvalue": true,
        "description": "Set if a group manager is allowed to see members analytics.",
        "name": "isManagersAllowedToSeeMembersAnalytics"
      }
    ],
    "description": "This API allows to modify analytics settings of a PBX hunting group.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n\n </br>example of result :\n ```json\n {\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#updateCloudPBXHuntingGroupAnalyticsConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCloudPBXHuntingGroupAnalyticsConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateCloudPBXHuntingGroupRecordingConfiguration\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Cloudpbx Groups (Rainbow Voice)\n     * @param {string} companyId Company unique identifier (like 569ce8c8f9336c471b98eda1).\n     * @param {string} groupId Unique identifier of the Cloud PBX group to update.\n     * @param {string} recordingProfile Selection of the hunting group recording profile. Possibles values : all, external_only, internal_only, none\n     * @description\n     *      This API allows to modify recording settings of a PBX hunting group.\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Field                  | Type                                          | Description                                                                                         |\n     * |------------------------|-----------------------------------------------|-----------------------------------------------------------------------------------------------------|\n     * | id                | string                                        | Hunting group unique identifier                                                                    |\n     * | name              | string                                        | Hunting group name - displayed on the caller phone set                                             |\n     * | shortNumber       | string                                        | Hunting group short phone number                                                                   |\n     * | externalNumber    | string                                        | Public phone number of the hunting group                                                           |\n     * | externalNumberId  | string                                        | Identifier of the hunting group public phone number                                                 |\n     * | roomId            | string                                        | Identifier of the hunting group associated room                                                     |\n     * | phoneNumberId     | string                                        | Identifier of the hunting group phone number                                                        |\n     * | createdBy         | string                                        | Hunting group creator identifier                                                                   |\n     * | policy            | HuntingGroupPolicy           | Group policy                                                                                       |\n     * | timeout           | Number (5-30)                                 | Hunting group timeout in seconds - for serial or circular hunting group policy                       |\n     * | isRecordingActivated | Boolean                                    | Indicate if the recording activated on the hunting group                                           |\n     * | recordingProfile  | HuntingGroupProfiles | Recording profile of the hunting group                                                          |\n     * | isEmergencyGroup  | Boolean                                       | Indicates if this group is the emergency group for the associated Cloud PBX                         |\n     * | isEmptyAllowed    | Boolean                                       | Indicates if the last active member can leave the group or not                                      |\n     * | isDDIUpdateByManagerAllowed | Boolean                                | Indicates if changing the DDI of this hunting group by a manager is allowed or not                   |\n     * | type              | HuntingGroupType    | Group type -- DEPRECATED manager_assistant - see subType manager_assistant                          |\n     * | subType           | HuntingGroupSubType | Hunting group sub type                                                                       |\n     * | companyId         | string                                        | Identifier of the company owning the hunting group                                                 |\n     * | subscriberId      | string                                        | Associated subscriber Id of the hunting group                                                       |\n     * | systemId          | string                                        | Cloud PBX System unique identifier (like 569ce8c8f9336c471b98eda1)                                  |\n     * | members           | Object[]                                      | List of group members.                                                                            |\n     * | members.memberId  | string                                        | Member (user) unique identifier                                                                   |\n     * | members.displayName | string                                      | Member display name                                                                               |\n     * | members.roles     | string []                                      | Member role inside the group (default: '[\"agent\"]')                                                |\n     * | members.status    | HuntingGroupMemberStatus                        | Member status inside the group (default: active)                                                   |\n     * | members.connected | HuntingGroupMemberConnection | Hunting group member connected status inside the group                                        |\n     * | analyticSettings  | Object                                        | Group analytic settings                                                                            |\n     * | analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean | Are group managers allowed to see members analytics                                                |\n     *\n     *  </br>example of result :\n     * ```json\n     *   {\n     *          \"id\": \"5cd545b3a07de465fbc3fcda\",\n     *          \"name\": \"Group_1\",\n     *          \"type\": \"hunting_group\",\n     *          \"subType\": \"default\",\n     *          \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n     *          \"policy\": \"serial\",\n     *          \"shortNumber\": \"81002\",\n     *          \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n     *          \"externalNumber\": \"+33298564112\",\n     *          \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n     *          \"timeout\": 10,\n     *          \"isEmergencyGroup\": false,\n     *          \"isEmptyAllowed\": false,\n     *          \"isDDIUpdateByManagerAllowed\": true,\n     *          \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n     *          \"subscriberId\": 147,\n     *          \"systemId\": \"5de6a632c21aa17bab337347\",\n     *          \"members\": [\n     *              {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n     *              {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n     *              {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"connected\"}\n     *          ],\n     *          \"roomId\": \"5de6a632c21aa10987456321a\",\n     *          \"isRecordingActivated\": false,\n     *          \"recordingProfile\": \"none\",\n     *          \"analyticSettings\": {\n     *              \"isManagersAllowedToSeeMembersAnalytics\": true\n     *          }\n     *   }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 16442,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateCloudPBXHuntingGroupRecordingConfiguration",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Cloudpbx Groups (Rainbow Voice)",
        "value": "Companies Cloudpbx Groups (Rainbow Voice)"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier (like 569ce8c8f9336c471b98eda1).",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the Cloud PBX group to update.",
        "name": "groupId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Selection of the hunting group recording profile. Possibles values : all, external_only, internal_only, none",
        "name": "recordingProfile"
      }
    ],
    "description": "This API allows to modify recording settings of a PBX hunting group.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Field                  | Type                                          | Description                                                                                         |\n|------------------------|-----------------------------------------------|-----------------------------------------------------------------------------------------------------|\n| id                | string                                        | Hunting group unique identifier                                                                    |\n| name              | string                                        | Hunting group name - displayed on the caller phone set                                             |\n| shortNumber       | string                                        | Hunting group short phone number                                                                   |\n| externalNumber    | string                                        | Public phone number of the hunting group                                                           |\n| externalNumberId  | string                                        | Identifier of the hunting group public phone number                                                 |\n| roomId            | string                                        | Identifier of the hunting group associated room                                                     |\n| phoneNumberId     | string                                        | Identifier of the hunting group phone number                                                        |\n| createdBy         | string                                        | Hunting group creator identifier                                                                   |\n| policy            | HuntingGroupPolicy           | Group policy                                                                                       |\n| timeout           | Number (5-30)                                 | Hunting group timeout in seconds - for serial or circular hunting group policy                       |\n| isRecordingActivated | Boolean                                    | Indicate if the recording activated on the hunting group                                           |\n| recordingProfile  | HuntingGroupProfiles | Recording profile of the hunting group                                                          |\n| isEmergencyGroup  | Boolean                                       | Indicates if this group is the emergency group for the associated Cloud PBX                         |\n| isEmptyAllowed    | Boolean                                       | Indicates if the last active member can leave the group or not                                      |\n| isDDIUpdateByManagerAllowed | Boolean                                | Indicates if changing the DDI of this hunting group by a manager is allowed or not                   |\n| type              | HuntingGroupType    | Group type -- DEPRECATED manager_assistant - see subType manager_assistant                          |\n| subType           | HuntingGroupSubType | Hunting group sub type                                                                       |\n| companyId         | string                                        | Identifier of the company owning the hunting group                                                 |\n| subscriberId      | string                                        | Associated subscriber Id of the hunting group                                                       |\n| systemId          | string                                        | Cloud PBX System unique identifier (like 569ce8c8f9336c471b98eda1)                                  |\n| members           | Object[]                                      | List of group members.                                                                            |\n| members.memberId  | string                                        | Member (user) unique identifier                                                                   |\n| members.displayName | string                                      | Member display name                                                                               |\n| members.roles     | string []                                      | Member role inside the group (default: '[\"agent\"]')                                                |\n| members.status    | HuntingGroupMemberStatus                        | Member status inside the group (default: active)                                                   |\n| members.connected | HuntingGroupMemberConnection | Hunting group member connected status inside the group                                        |\n| analyticSettings  | Object                                        | Group analytic settings                                                                            |\n| analyticSettings.isManagersAllowedToSeeMembersAnalytics | Boolean | Are group managers allowed to see members analytics                                                |\n\n </br>example of result :\n```json\n  {\n         \"id\": \"5cd545b3a07de465fbc3fcda\",\n         \"name\": \"Group_1\",\n         \"type\": \"hunting_group\",\n         \"subType\": \"default\",\n         \"createdBy\": \"5cd5443fd9736d8431b5c185\",\n         \"policy\": \"serial\",\n         \"shortNumber\": \"81002\",\n         \"externalNumberId\": \"5cd5443fd9736d8431b5c987\",\n         \"externalNumber\": \"+33298564112\",\n         \"phoneNumberId\": \"5cd5443fd9736d8431b5c988\",\n         \"timeout\": 10,\n         \"isEmergencyGroup\": false,\n         \"isEmptyAllowed\": false,\n         \"isDDIUpdateByManagerAllowed\": true,\n         \"companyId\": \"5dcd8dcec7e1620643a2045e\",\n         \"subscriberId\": 147,\n         \"systemId\": \"5de6a632c21aa17bab337347\",\n         \"members\": [\n             {\"memberId\": \"5cd545b3a07de465fb123456\", \"displayName\": \"Alice Donner\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n             {\"memberId\": \"5cd545b3a07de465fb123457\", \"displayName\": \"Bob the DIY man\", \"roles\": [\"agent\"], \"status\": \"active\", \"connected\": \"connected\"},\n             {\"memberId\": \"5cd545b3a07de465fb123458\", \"displayName\": \"Carole Bouquet\", \"roles\": [\"manager\", \"agent\"], \"status\": \"active\", \"connected\": \"connected\"}\n         ],\n         \"roomId\": \"5de6a632c21aa10987456321a\",\n         \"isRecordingActivated\": false,\n         \"recordingProfile\": \"none\",\n         \"analyticSettings\": {\n             \"isManagersAllowedToSeeMembersAnalytics\": true\n         }\n  }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#updateCloudPBXHuntingGroupRecordingConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCloudPBXHuntingGroupRecordingConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateCloudPBXSIPDevice\n     * @since 2.1.0\n     * @instance\n     * @async\n     * @category Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices\n     * @param {string} systemId CloudPBX unique identifier.\n     * @param {string} description new description\n     * @param {string} deviceId Unique identifier of the SIP device to delete\n     * @param {string} macAddress new device mac address\n     * @description\n     *      This API allows to update a SIP device.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 10282,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices",
        "value": "Rainbow Voice Communication Platform Provisioning - Cloudpbx Devices"
      }
    ],
    "kind": "function",
    "name": "updateCloudPBXSIPDevice",
    "since": "2.1.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CloudPBX unique identifier.",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "new description",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Unique identifier of the SIP device to delete",
        "name": "deviceId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "new device mac address",
        "name": "macAddress"
      }
    ],
    "description": "This API allows to update a SIP device.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateCloudPBXSIPDevice",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCloudPBXSIPDevice",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateCommandIdStatus\n     * @since 2.14.0\n     * @instance\n     * @async\n     * @category AD/LDAP - AD/LDAP Massprovisioning\n     * @param {string} data body of the POST. Body : {\n     * status : `success` or `failure`, // status for the execution of the command\n     * details : string // details that can be provided about the command execution\n     * }\n     *\n     * @param {string} commandId commandId which came from connector on behalf of admin command\n     * @description\n     *    This API is used to update the status of the commandId. </br>\n     * </BR>\n     * @return {Promise<any>} result.\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 7920,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateCommandIdStatus",
    "since": "2.14.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - AD/LDAP Massprovisioning",
        "value": "AD/LDAP - AD/LDAP Massprovisioning"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "body of the POST. Body : {\nstatus : `success` or `failure`, // status for the execution of the command\ndetails : string // details that can be provided about the command execution\n}",
        "name": "data"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "commandId which came from connector on behalf of admin command",
        "name": "commandId"
      }
    ],
    "description": "This API is used to update the status of the commandId. </br>\n</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "result."
      }
    ],
    "longname": "module:AdminService#updateCommandIdStatus",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCommandIdStatus",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateCompany\n     * @instance\n     * @description\n     *   Users with superadmin role can update any company. Users with admin role (and not having superadmin role) can only update their own company.\n     * </br> Default and Terminated companies can't be renamed, and their name can't be use to rename another company\n     * </br> `Sooner or later it will be unnecessary to manage each customization parameter individually. It will be necessary to create and/or apply customization templates.</br> AdminService::getAllAvailableCustomisationTemplates().`\n     *\n     * @param {string} companyId Company unique identifier\n     * @param {any} selectedThemeObj Allows to return selectedTheme attribute as an object:\n     *  </br> * true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }),\n     *  </br> * false return selectedTheme as a string.\n     * @param {string} name Company name\n     * @param {string} country=\"FRA\" Company country (ISO 3166-1 alpha3 format)\n     * @param {string} street Company street\n     * @param {string} city Company city\n     * @param {string} state When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.\n     * @param {string} postalCode Company postal code\n     * @param {string} offerType=\"freemium\" Company offer type.\n     * </br> Companies with offerType=`freemium` are not able to subscribe to paid offers, they must be `premium` to do so.\n     * </br> Only `superadmin` can set offerType from `premium` to `freemium`.\n     * </br> Possibles values : `freemium`, `premium`\n     * @param {string} currency Company currency, for payment of premium offers (ISO 4217 format)\n     * </br> For now, only USD, EUR and CNY are supported\n     * </br> Only settable by `superadmin`\n     * </br> Possibles values : `USD`, `EUR`, `CNY`\n     * @param {string} status Company status.\n     * </br> If company status is `initializing`, only `superadmin` can change the status value.\n     * </br> Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated`\n     * @param {string} visibility=\"private\" Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).\n     * </br> * `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n     * </br> * `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users\n     * </br> * `organization`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users\n     * </br> * `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users\n     * </br> * `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users\n     * </br> * `hotspot`: User can be searched by hotspot attached company's users (users from any company if the user belong to the default company) / can't search any users (even in their company) or user can't invite external users / can be invited by hotspot attached company's users (users from any company if the user belong to the default company)\n     * </br>     * currently `hotspot` visibility can only be set on the default company, and with superadmin role (development of `hotspot` visibility is partially done, only for default company in the context of RQRAINB-7456)\n     * </br>\n     * </br> External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.\n     * </br>\n     * </br> Note related to organisation visibility:\n     * </br>\n     * </br> * Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.\n     * </br> * The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.\n     * </br>\n     * </br> Default value : `private`. Possibles values : `public`, `private`, `organization`, `closed`, `isolated`, `hotspot`\n     * @param {string[]} visibleBy If visibility is private or organisation, list of company ids for which visibility is allowed\n     * @param {string} adminEmail Company contact person email. adminEmail is case sentive. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`\n     * @param {string} supportEmail Company support email. supportEmail is case sensitive. supportEmail `should be provided if company to create is a VAD or a DR`. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`\n     * @param {string} supportUrlFAQ Company support url\n     * @param {string} companyContactId User Id of a Rainbow user which is the contact for this company\n     * @param {boolean} disableCCareAdminAccess When True, disables the access to the customer care logs for admins of this company.\n     * </br> Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true.\n     * </br> `disableCCareAdminAccess` can only be set:\n     * </br> * by `superadmin` (all companies),\n     * </br> * by `bp_admin` or `bp_finance` for the companies he manages,\n     * </br> * by `organization_admin` for the BP companies he manages.\n     * </br> * by `organization_admin` for the companies he manages.\n     * @param {boolean} disableCCareAdminAccessCustomers When True, disables the access to the customer care logs for admins of all the customers company.\n     * </br> This setting is only applicable for BP companies (`isBP`=true)\n     * </br> * If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.\n     * </br> * If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.\n     * </br>     Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it).\n     * </br>     `disableCCareAdminAccessCustomers` can only be set:\n     * </br> * by `superadmin` (all BP companies),\n     * </br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n     * </br> * by `organization_admin` for the BP companies he manages,\n     * </br> * by `company_admin` for the BP company he manages.\n     * @param {boolean} disableCCareAdminAccessResellers When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.\n     * </br> This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)\n     * </br> Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.\n     * </br> Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it).\n     * </br> `disableCCareAdminAccessResellers` can only be set:\n     * </br> * by `superadmin` (all BP VAD companies),\n     * </br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n     * </br> * by `organization_admin` for the BP VAD companies he manages,\n     * </br> * by `company_admin` for the BP VAD company he manages.\n     * @param {boolean} autoAcceptUserInvitations Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled). Default value : true\n     * @param {boolean} autoAddToUserNetwork Allow to enable or disable the auto addition to user's network between users of this company (default false: disabled). Default value : false\n     * @param {boolean} contentPolicyLifeTime When different from -1 it activates content removal for all user of this companies with a content lifetime equals to contentPolicyLifeTime in minutes. Default value : -1\n     * @param {boolean} documentGracePeriod When content removal is active for the organisation it represents the period in minutes where a document is still available event if it's content policy lifetime has expired * @apiParam (BodyParameters) {Boolean} [userSelfRegisterEnabled=true] Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process Default value : 14400\n     * @param {string[]} userSelfRegisterAllowedDomains Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true)\n     * @param {string} slogan A free string corresponding to the slogan of the company\n     * @param {string} description A free string that describes the company (2000 char length)\n     * @param {string} size=\"self-employed\" An overview of the number of employees. Default value : `self-employed`. Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"`\n     * @param {string} economicActivityClassification\n     * </br> * `A`: AGRICULTURE, FORESTRY AND FISHING\n     * </br> * `B`: MINING AND QUARRYING\n     * </br> * `C`: MANUFACTURING\n     * </br> * `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY\n     * </br> * `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES\n     * </br> * `F`: CONSTRUCTION\n     * </br> * `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES\n     * </br> * `H`: TRANSPORTATION AND STORAGE\n     * </br> * `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES\n     * </br> * `J`: INFORMATION AND COMMUNICATION\n     * </br> * `K`: FINANCIAL AND INSURANCE ACTIVITIES\n     * </br> * `L`: REAL ESTATE ACTIVITIES\n     * </br> * `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES\n     * </br> * `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES\n     * </br> * `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY\n     * </br> * `P`: EDUCATION\n     * </br> * `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES\n     * </br> * `R`: ARTS, ENTERTAINMENT AND RECREATION\n     * </br> * `S`: OTHER SERVICE ACTIVITIES\n     * </br> * `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE\n     * </br> * `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES\n     * </br>\n     * </br> Possibles values : `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"`\n     * @param {string}  website Company website url\n     * @param {boolean} giphyEnabled Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations). `This field is deprecated.` Manage instead **useGifCustomisation field!**\n     * @param {string} catalogId Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe.\n     * </br> When a new company is created, if no catalogId is specified the company is automatically linked to the default catalog.\n     * </br> When a `bp_admin>` or `bp_finance>` creates a company, catalogId of this new company is automatically set to BP company's catalogId.\n     * </br> When an `organization_admin>` creates a company, catalogId of this new company is automatically set to organization_admin's company's catalogId.\n     * </br>\n     * </br> Only `superadmin` can set a different catalogId to a company.\n     * @param {boolean} adminCanSetCustomData Whether or not administrators can set customData field for their own company.\n     * </br> adminCanSetCustomData can only be set:\n     * </br>     by `superadmin` (all companies),\n     * </br>     by `bp_admin` or `bp_finance` for the companies he manages,\n     * </br>     by `organization_admin` for the companies he manages.\n     * @param {any} customData Company's custom data.\n     * </br> Object with free keys/values.\n     * </br> It is up to the client to manage the company's customData (new customData provided overwrite the existing one).\n     * </br>\n     * </br> Restrictions on customData Object:\n     * </br> - max 10 keys,\n     * </br> - max key length: 64 characters,\n     * </br> - max value length: 512 characters.\n     * </br>\n     * </br>\n     * </br> Company customData can only be created/updated by:\n     * </br> - \\`superadmin\\` (all companies),\n     * </br> - \\`bp\\_admin\\` or \\`bp\\_finance\\` for the companies he manages (except his company if its \\`adminCanSetCustomData\\` setting is not set to true),\n     * </br> - \\`organization_admin\\` for the companies he manages,\n     * </br> - \\`company\\_admin\\` for his own company if its \\`adminCanSetCustomData\\` setting is set to true (setting that can only be set by a superadmin, his bp\\_admin, bp\\_finance or organization\\_admin) or if he has the feature \\`ADMIN\\_CAN\\_SET\\_CUSTOM\\_DATA\\` (if the feature is enabled, it overwrites the value of the company setting).\n     * @param {string} bpId Link the company to the corresponding Business partner company.\n     * </br> `bpId` must correspond to a valid company having `isBP` equal to true.\n     * </br> Only directly settable by `superadmin`.\n     * </br> If the company is `created` by a `bp_admin` or a `bp_finance`, `bpId` is automatically set to BP company id.\n     * </br> For existing companies, `bp_admin` must use invitation mechanism to a company admin in order to request a link of this company company to his BP company.\n     *  </br> Can only be set by `superadmin` or `bp_finance` of the related company.\n     * @param {boolean} adminHasRightToUpdateSubscriptions In the case the company is linked to a Business Partner company, indicates if the `bp_finance` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).\n     * </br> Can only be set by `superadmin` or `bp_finance` of the related company.\n     * @param {string} adminAllowedUpdateSubscriptionsOps In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_finance` allows the `company_admin` to perform on the subscriptions of his company.\n     * </br> Can only be set by `superadmin` or `bp_finance` of the related company.\n     * </br> Possible values:\n     * </br> - `all: company_admin is allowed to perform all update operations on the subscriptions of his company\n     * </br> - `increase_only: company_admin is only allowed to increase` maxNumberUsers` on the subscriptions of his company (decrease is forbidden)\n     * </br> - 'monthly': company_admin is only allowed to manage monthly subscription (increase and decrease)\n     * </br>\n     * </br> Possibles values : `all`, `increase_only`, `monthly`\n     * @param {boolean} isBP Indicates if the company is a Business partner company\n     * </br> Only settable by `superadmin`\n     * @param {string} bpType Indicates BP Company type\n     * </br> - `IR`: Indirect Reseller,\n     * </br> - `VAD`: Value Added Distributor,\n     * </br> - `DR`: Direct Reseller.\n     * </br>     Only applicable if `isBP` is true.\n     * </br>     Only settable by `superadmin`.\n     * </br>\n     * </br> Possibles values : `IR`, `VAD`, `DR`\n     * @param {string} bpBusinessModel Indicates BP business model\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     * </br>\n     * </br> Possibles values : `referral`, `resell`\n     * @param {string} bpApplicantNumber Reference of the Business Partner in ALE Finance tools (SAP)\n     * </br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n     * </br> Only settable by `superadmin`.\n     * @param {string} bpCRDid Reference of the Business Partner in CDR\n     * </br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n     * </br> If `bpCRDid` is not defined, BP won't be able to sell (i.e. `bpHasRightToSell` can't be set to true)\n     * </br> Only settable by `superadmin`.\n     * @param {boolean} bpHasRightToSell Indicates if the Business has the right to sell\n     * </br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n     * </br> Only applicable if `bpCRDid` is defined.\n     * </br> Only settable by `superadmin`.\n     * @param {boolean} bpHasRightToConnect When True \\[Default\\], the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     * @param {boolean} bpHasRightForBYOT When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     * @param {string} preferredSipLoadBalancerId Indicates the identifier of the preferred SIP Load Balancer (Rainbow Hub context ; used for HybridTrunks of associated ECs)\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     * @param {boolean} bpIsContractAccepted Indicates if the Business has accepted the contract and can sell Rainbow offers\n     * </br> Should be set by `bp_admin` or `bp_finance`.\n     * </br> Only applicable if `isBP` is true.\n     * </br>\n     * </br> Default value : `false`\n     * @param {string} externalReference Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n     * </br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.\n     * @param {string} externalReference2 Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n     * </br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.\n     * @param {string} salesforceAccountId Curstomer's Salesforce reference.\n     * </br> Only settable by users with `superadmin` or `business_admin` role(s).\n     * @param {string} avatarShape Company's avatar customization\n     * @param isCentrex Indicates if the company is one tenant of a multi-tenant call server (OXE - OTEC-S or third_party) (default: false)\n     * @param {string} companyCallNumber If isCentrex = true, this is the company access number \\[multi-company call + company Area, ex: 8 210, 8 211\\]\n     * @param {string} superadminComment Free field that only `superadmin` can use.\n     * @param {string[]} bpBusinessType Business type(s) that can be sold by a BP. Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default`.\n     * @param {string} billingModel Billing model that can be subscribed for this company. Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y`\n     * @param {boolean} allowUsersSelectTheme Allow users of this company to select a theme among the ones available (owned or visible by the company). Default value : `true`\n     * @param {boolean} allowUsersSelectPublicTheme Allow users of this company to select a public theme. Default value : `true`\n     * @param {any} selectedTheme selectedTheme Object to set the selected theme(s) for users of the company.\n     * </br> * light optionnel String Set the selected theme light for users of the company.\n     * </br> * dark optionnel String Set the selected theme dark for users of the company.\n     * @param {boolean}  mobilePermanentConnectionMode deactivate push mode for mobile devices.\n     * </br> When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.\n     * </br> For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company.\n     * </br>\n     * </br> Default value : `false`\n     * @param {string} alertNotificationReception Activate/Deactivate the capability for a user to receive alert notification.\n     * </br> Define if a user has the right to receive alert notification\n     * </br> alertNotificationReception can be:\n     * </br>\n     * </br> - `enabled`: Each user of the company can receive alert notification.\n     * </br> - `disabled`: No user of the company can receive alert notification.\n     * </br>\n     * </br> Default value : `disabled`. Possibles values : `enabled`, `disabled`\n     * @param {string} alertNotificationSending Activate/Deactivate the capability for a user to send alert notification.\n     * </br> Define if a user has the right to send alert notification\n     * </br> alertNotificationSending can be:\n     * </br>\n     * </br> - `enabled`: Each user of the company can send alert notification.\n     * </br> - `disabled`: No user of the company can send alert notification.\n     * </br>\n     * </br> Default value : `disabled`. Possibles values : `enabled`, `disabled`\n     * @param {string} useDialOutCustomisation Activate/Deactivate the capability for a user to use dial out in phone meetings.\n     * </br> Define if a user is allowed to be called by the Rainbow conference bridge.\n     * </br> useDialOutCustomisation can be:\n     * </br>\n     * </br> - `enabled`: The user can be called by the Rainbow conference bridge.\n     * </br> - `disabled`: The user can't be called by the Rainbow conference bridge.\n     * </br>\n     * </br> Default value : `enabled`. Possibles values : `enabled`, `disabled`\n     * @param {boolean} allowDeviceFirmwareSelection Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. Default value : `false`\n     * @param {string} selectedDeviceFirmware Cloudpbx default device firmware\n     * </br> - `released`: Default value, device firmware will be the official released one.\n     * </br> - `latest`: Device firmware can be a more up to date binary (e.g. early adopters)\n     * </br>     If allowed by `superadmin`, `company admin` can then select the kind of firmware for all the users, or only for some of them.\n     * </br>\n     * </br> Default value : `released` Possibles values : `released`, `latest`\n     * @param {string} cloudPbxVoicemailToEmail Cloudpbx email notification type when receiving a voicemail. Default value : `none`. Possibles values : `none`, `simple`, `complete`\n     * @param {any} businessData businessData optionnel Object\n     * </br> Set the business data of the company.\n     * </br> Only settable by users with `superadmin` or `business_admin` role(s).\n     * </br>\n     * </br> region optionnel String  Set the region of the company.\n     * </br> cluster optionnel String Set the cluster of the company.\n     * </br> area optionnel String Set the area of the company.\n     * </br> country optionnel String Set the business country of the company.\n     * @param {string} defaultLicenseGroup Group of license to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Enterprise, Business ...)\n     * @param {string[]} defaultOptionsGroups List of options to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Alert ...)\n     * @param {any} selectedThemeCustomers selectedThemeCustomers optionnel Object\n     * </br> Set the selected theme(s) for customers of this BP company.\n     * </br> This param only applies for BP companies.\n     * </br> * light optionnel String Set the selected theme light for customers of this BP company.\n     * </br> * dark optionnel String Set the selected theme dark for customers of this BP company.\n     * </br> * locked optionnel Boolean Allow to lock selected theme for customers. If true, customers won't be able to create or set another theme that the one selected by BP.\n     * @param {boolean} allowTeamsToDesktopSso uperadmin allows if Teams add-in uses sso to login in desktop app for all company users. Default value : true\n     * @param {boolean} cloudPbxRecordingInboundOnly When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded Default value : `true`\n     * @param {number} supervisionGroupMaxSize Maximum number of users a company can supervise. Default value : `1500`\n     * @param {number} supervisionGroupMaxNumber Maximum number of supervision groups a supervisor can belong to. Default value : 5\n     * @param {number} supervisionGroupMaxUsers Maximum number of users in a supervision group (supervisor included). Default value : `30`\n     * @param {string} timezone User timezone name\n     * </br> Allowed values: one of the timezone names defined in IANA tz database (https://www.iana.org/time-zones)\n     * </br> Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...)\n     * @param {boolean} sendPrepaidSubscriptionsNotification Indicates if company_admin should receive email notification about prepaid subscriptions expiring soon. Used only on end customer companies\n     * @param {boolean} ddiReadOnly Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies.\n     * </br> This parameter can only be set by VAD `bp_admin` or `superadmin`.\n     * @param {boolean} allowPhoneNumbersVisibility Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. Default value : `false`.\n     * @param {string[]} csEmailList A list of Customer Success email addresses (maximum length : 10).\n     * @param {string[]} seEmailList A list of System Engineer email addresses (maximum length : 10).\n     * @param {string[]} csmEmailList A list of Channel Sales Manager email addresses (maximum length : 10).\n     * @param {string[]} kamEmailList A list of Key Account Manager email addresses (maximum length : 10).\n     * </br> These fields can only be set by a `business_admin` or a `superadmin`.\n     * @param {string} businessSpecific Allow to specify if company has access to specific offers. Only settable by superadmin or business_admin. Possibles values : UGAP.\n     * @param {string} adminServiceNotificationsLevel Level of service notification that admin should see. Possibles values : `high`, `medium`, `low`.\n     * @category Companies and users management\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | String | Company unique identifier |\n     * | creationDate | Date-Time | Company creation date (Read only) |\n     * | statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n     * | lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n     * | name | String | Company name |\n     * | country optionnel | String | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n     * | street optionnel | String | Company street<br><br>Ordre de grandeur : `0..255` |\n     * | city optionnel | String | Company city<br><br>Ordre de grandeur : `0..255` |\n     * | state optionnel | String | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n     * | postalCode optionnel | String | Company postal code<br><br>Ordre de grandeur : `0..64` |\n     * | currency optionnel | String | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Ordre de grandeur : `3`<br><br>Possibles values : `USD`, `EUR`, `CNY` |\n     * | status | String | Company status<br><br>Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated` |\n     * | visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values : `public`, `private`, `organisation`, `closed`, `isolated` |\n     * | visibleBy | String\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n     * | adminEmail optionnel | String | Company contact person email |\n     * | supportEmail optionnel | String | Company support email |\n     * | supportUrlFAQ optionnel | String | Company support URL |\n     * | companyContactId optionnel | String | User Id of a Rainbow user which is the contact for this company |\n     * | disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n     * | disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n     * | disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n     * | autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled) |\n     * | userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n     * | userSelfRegisterAllowedDomains | String\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n     * | slogan optionnel | String | A free string corresponding to the slogan of the company (255 char length) |\n     * | description optionnel | String | A free string that describes the company (2000 char length) |\n     * | size | String | An overview of the number of employees<br><br>Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n     * | economicActivityClassification optionnel | String | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values : `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n     * | giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n     * | website optionnel | String | Company website URL |\n     * | organisationId | String | Optional identifier to indicate the company belongs to an organisation |\n     * | catalogId | String | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n     * | bpId | String | Optional identifier which links the company to the corresponding Business partner company |\n     * | adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n     * | adminAllowedUpdateSubscriptionsOps optionnel | String | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values : `all`, `increase_only` |\n     * | isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n     * | bpType optionnel | String | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values : `IR`, `VAD`, `DR` |\n     * | bpBusinessModel optionnel | String | Indicates BP business model |\n     * | bpApplicantNumber optionnel | String | Reference of the Business Partner in ALE Finance tools (SAP) |\n     * | bpCRDid optionnel | String | Reference of the Business Partner in CDR |\n     * | bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n     * | bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n     * | bpHasRightForBYOT optionnel | Boolean | When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI |\n     * | preferredSipLoadBalancerId optionnel | String | This attribute is only for BP and useful only in Rainbow Hub context. It indicates preferred SIP Load Balancer identifier to be used (if any). |\n     * | bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n     * | bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n     * | acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n     * | bpAdminId | String | User Id of the BP admin who accepted the contract |\n     * | offerType | String | Allowed company offer types<br><br>Possibles values : `freemium`, `premium` |\n     * | bpAdminLoginEmail | String | User loginEmail of the BP admin who accepted the contract |\n     * | businessSpecific optionnel | String | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values : `HDS` |\n     * | externalReference optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n     * | externalReference2 optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n     * | avatarShape optionnel | String | Company's avatar customization<br><br>Possibles values : `square`, `circle` |\n     * | allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n     * | allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n     * | selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n     * | light optionnel | String | Set the selected theme light for users of the company. |\n     * | dark optionnel | String | Set the selected theme dark for users of the company. |\n     * | adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n     * | isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n     * | superadminComment optionnel | String | Free field that only `superadmin` can see<br><br>Ordre de grandeur : `0..256` |\n     * | bpBusinessType optionnel | String\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n     * | billingModel optionnel | String | Billing model that can be subscribed for this company.<br><br>Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n     * | office365Tenant optionnel | String | Office365 tenant configured for this company. |\n     * | office365ScopesGranted optionnel | String\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values : `directory`, `calendar` |\n     * | mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n     * | fileSharingCustomisation | String | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n     * | useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n     * | phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n     * | useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n     * | useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n     * | useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n     * | useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n     * | instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n     * | userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n     * | fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n     * | overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n     * | alertNotificationReception | String | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n     * | alertNotificationSending | String | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n     * | changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n     * | changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n     * | useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n     * | useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n     * | fileCopyCustomisation | String | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n     * | fileTransferCustomisation | String | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n     * | forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n     * | readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n     * | useSpeakingTimeStatistics | String | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n     * | eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a E-learning training.  <br>Defines if a user can participate on an E-learning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an E-learning training.<br>* `disabled`: The user can't participate on an E-learning training. |\n     * | eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for E-learning progress.  <br>Defines if a user can earn badges for E-learning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for E-learning progress.<br>* `disabled`: The user can't earn badges for E-learning progress. |\n     * | meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n     * | useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n     * | useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n     * | useSoftPhoneMode | String | Activate/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `enabled`: The user can use the softphone mode.<br>* `disabled`: The user can't use the softphone mode. |\n     * | imPopupDuration | Number | Defines the IM popup duration. |\n     * | canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n     * | canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n     * | canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n     * | canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n     * | canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n     * | canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines if a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n     * | defaultLicenseGroup | String | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n     * | defaultOptionsGroups | String\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n     * | selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n     * | light optionnel | String | Set the selected theme light for customers of this BP company. |\n     * | dark optionnel | String | Set the selected theme dark for customers of this BP company. |\n     * | ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n     * | locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n     * | cloudPbxVoicemailToEmail optionnel | Boolean | Cloudpbx email notification type when receiving a voicemail |\n     * | allowPhoneNumbersVisibility optionnel | Boolean | Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. |\n     * | cloudPbxRecordingInboundOnly optionnel | Boolean | When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded |\n     * | allowDeviceFirmwareSelection optionnel | Boolean | Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. |\n     * | businessData optionnel | Object | Set the businessData company. |\n     * | region optionnel | String | Set the region of the company. |\n     * | cluster optionnel | String | Set the cluster of the company. |\n     * | area optionnel | String | Set the area of the company. |\n     * | allowTeamsToDesktopSso optionnel | Boolean | Superadmin allows if Teams add-in uses sso to login in desktop app for all company users<br><br>Default value : `true` |\n     * | country optionnel | String | Set the business country of the company. |\n     * | rainbowStorageAllowedAllUsers | Boolean | In an environment where a company uses the Rainbow file server or an External file server, an administator can defines storage access rights at company level, and at user level.  <br>So he has to:<br><br>* Enable/Disable external storage for a company (see `useExternalStorage`) and configure required parameters as URLs, type, name, description (see company/settings/filestorage section) and if all company users have access to this storage by default (see `externalStorageAllowedAllUsers`).  <br>    If this storage is enabled by default, all users following the company policy will have access to the storage.<br>* Enable/Disable Rainbow storage for a company (see `useRainbowStorage`), and if all company users have access to this storage by default (see `rainbowStorageAllowedAllUsers`).<br>* Select which storage is the main one used to store photo taken from Rainbow Apps (see `mainStorage`) |\n     * | externalStorageAllowedAllUsers | Boolean | Refer to rainbowStorageAllowedAllUsers. |\n     * | useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the default Rainbow File Storage.<br>* `disabled`: Unassign all users from the default Rainbow File Storage. |\n     * | useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the External File Storage.<br>* `disabled`: Unassign all users from the External File Storage. |\n     * | mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when a user is assigned to both file servers.<br><br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n     * | customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |\n     * | adminServiceNotificationsLevel | String | Level of service notification that admin should see |\n     *\n     *\n     * example of result :\n     * ```json\n     * {\n     *         \"id\": \"569ce8c8f9336c471b98eda1\",\n     *         \"creationDate\": \"2016-01-18T13:29:44.498Z\",\n     *         \"statusUpdatedDate\": \"2016-01-18T13:29:44.497Z\",\n     *         \"name\": \"AL-ENTERPRISE\",\n     *         \"street\": \"Sesame street\",\n     *         \"city\": \"Brooklyn\",\n     *         \"postalCode\": \"123456\",\n     *         \"country\": \"USA\",\n     *         \"state\": \"NY\",\n     *         \"status\": \"active\",\n     *         \"visibility\": \"private\",\n     *         \"visibleBy\": [\n     *              \"56fabb217d8d3ffa3d0223f8\",\n     *              \"56d6f00441255dd54b5b61ae\"\n     *         ],\n     *         \"adminEmail\": \"admin@company.com\",\n     *         \"supportEmail\": \"support@company.com\",\n     *         \"companyContactId\": \"588a0d902d9e7f983b8f7661\",\n     *         \"autoAcceptUserInvitations\": true,\n     *         \"userSelfRegisterEnabled\": true,\n     *         \"userSelfRegisterAllowedDomains\": [\n     *              \"@alcatel-lucent.com\",\n     *              \"@al-enterprise.com\",\n     *              \"@al-enterprise.fr\",\n     *              \"@al-enterprise.de\"\n     *         ],\n     *         \"slogan\": \"The slogan of my company\",\n     *         \"description\": \"A free string that describes my company\",\n     *         \"size\" : \"1001-5000 employees\",\n     *         \"website\": \"http:\\\\/\\\\/enterprise.alcatel-lucent.com\",\n     *         \"giphyEnabled\": false,\n     *         \"organisationId\": \"57cd58edd341df5812bbcb71\",\n     *         \"catalogId\": \"5979f63bae6056aadd1a8f17\",\n     *         \"bpId\": null,\n     *         \"externalReference\": null,\n     *         \"offerType\": \"premium\",\n     *         \"avatarShape\": \"circle\",\n     *         \"allowUsersSelectTheme\": true,\n     *         \"allowUsersSelectPublicTheme\": true,\n     *         \"mobilePermanentConnectionMode\": false,\n     *         \"customData\": {},\n     *         \"office365ScopesGranted\": [],\n     *         \"fileSharingCustomisation\": \"enabled\",\n     *         \"userTitleNameCustomisation\": \"enabled\",\n     *         \"softphoneOnlyCustomisation\": \"disabled\",\n     *         \"useRoomCustomisation\": \"enabled\",\n     *         \"phoneMeetingCustomisation\": \"enabled\",\n     *         \"useChannelCustomisation\": \"enabled\",\n     *         \"useScreenSharingCustomisation\": \"enabled\",\n     *         \"useWebRTCVideoCustomisation\": \"enabled\",\n     *         \"useWebRTCAudioCustomisation\": \"enabled\",\n     *         \"instantMessagesCustomisation\": \"enabled\",\n     *         \"userProfileCustomisation\": \"enabled\",\n     *         \"fileStorageCustomisation\": \"enabled\",\n     *         \"overridePresenceCustomisation\": \"enabled\",\n     *         \"changeTelephonyCustomisation\": \"enabled\",\n     *         \"changeSettingsCustomisation\": \"enabled\",\n     *         \"recordingConversationCustomisation\": \"enabled\",\n     *         \"useGifCustomisation\": \"enabled\",\n     *         \"useDialOutCustomisation\": \"enabled\",\n     *         \"eLearningCustomisation\":  \"enabled\",\n     *         \"eLearningGamificationCustomisation\": \"enabled\",\n     *         \"meetingRecordingCustomisation\": \"enabled\",\n     *         \"useOtherPhoneMode\": \"enabled\",\n     *         \"useComputerMode\": \"enabled\",\n     *         \"useSoftPhoneMode\": \"enabled\",\n     *         \"imPopupDuration\": 3,\n     *         \"canAccessWhatsNew\": \"enabled\",\n     *         \"canAccesFaqCustomisation\": \"enabled\",\n     *         \"canAccessHelpCenterCustomisation\": \"enabled\",\n     *         \"canAccessStoreCustomisation\": \"enabled\",\n     *         \"canDownloadAppCustomisation\": \"enabled\",\n     *         \"canCallParticipantPbxNumberCustomisation\": \"enabled\",\n     *         \"defaultLicenseGroup\": \"Enterprise\",\n     *         \"defaultOptionsGroups\": [\"Alert\"],\n     *         \"selectedTheme\": {\n     *              \"light\": null,\n     *              \"dark\": \"5ea304e4359c0e6815fc8b57\",\n     *              \"isLockedByBp\": true\n     *         },\n     *         \"businessSpecific\": \"UGAP\",\n     *         \"allowTeamsToDesktopSso\": true,\n     *         \"externalStorageAllowedAllUsers\" : false,\n     *         \"mainStorage\" : \"Rainbow Storage\",\n     *         \"rainbowStorageAllowedAllUsers\" : true,\n     *         \"useExternalStorage\" : \"disabled\",\n     *         \"useRainbowStorage\" : \"enabled\",\n     *         \"businessData\": {\n     *              \"region\": \"EMEA\",\n     *              \"cluster\": \"EU SOUTH\",\n     *              \"area\": \"BELUX\",\n     *              \"country\": \"BEL\"\n     *         },\n     *         \"useRainbowStorage\" : \"enabled\",\n     *         \"adminServiceNotificationsLevel\": \"high\"\n     *     }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 2857,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "updateCompany",
    "scope": "instance",
    "description": "Users with superadmin role can update any company. Users with admin role (and not having superadmin role) can only update their own company.\n</br> Default and Terminated companies can't be renamed, and their name can't be use to rename another company\n</br> `Sooner or later it will be unnecessary to manage each customization parameter individually. It will be necessary to create and/or apply customization templates.</br> AdminService::getAllAvailableCustomisationTemplates().`",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "Allows to return selectedTheme attribute as an object:\n </br> * true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }),\n </br> * false return selectedTheme as a string.",
        "name": "selectedThemeObj"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company name",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"FRA\"",
        "description": "Company country (ISO 3166-1 alpha3 format)",
        "name": "country"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company street",
        "name": "street"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company city",
        "name": "city"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.",
        "name": "state"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company postal code",
        "name": "postalCode"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"freemium\"",
        "description": "Company offer type.\n</br> Companies with offerType=`freemium` are not able to subscribe to paid offers, they must be `premium` to do so.\n</br> Only `superadmin` can set offerType from `premium` to `freemium`.\n</br> Possibles values : `freemium`, `premium`",
        "name": "offerType"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company currency, for payment of premium offers (ISO 4217 format)\n</br> For now, only USD, EUR and CNY are supported\n</br> Only settable by `superadmin`\n</br> Possibles values : `USD`, `EUR`, `CNY`",
        "name": "currency"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company status.\n</br> If company status is `initializing`, only `superadmin` can change the status value.\n</br> Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated`",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"private\"",
        "description": "Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).\n</br> * `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n</br> * `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users\n</br> * `organization`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users\n</br> * `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users\n</br> * `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users\n</br> * `hotspot`: User can be searched by hotspot attached company's users (users from any company if the user belong to the default company) / can't search any users (even in their company) or user can't invite external users / can be invited by hotspot attached company's users (users from any company if the user belong to the default company)\n</br>     * currently `hotspot` visibility can only be set on the default company, and with superadmin role (development of `hotspot` visibility is partially done, only for default company in the context of RQRAINB-7456)\n</br>\n</br> External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.\n</br>\n</br> Note related to organisation visibility:\n</br>\n</br> * Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.\n</br> * The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.\n</br>\n</br> Default value : `private`. Possibles values : `public`, `private`, `organization`, `closed`, `isolated`, `hotspot`",
        "name": "visibility"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "If visibility is private or organisation, list of company ids for which visibility is allowed",
        "name": "visibleBy"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company contact person email. adminEmail is case sentive. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`",
        "name": "adminEmail"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company support email. supportEmail is case sensitive. supportEmail `should be provided if company to create is a VAD or a DR`. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`",
        "name": "supportEmail"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company support url",
        "name": "supportUrlFAQ"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User Id of a Rainbow user which is the contact for this company",
        "name": "companyContactId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When True, disables the access to the customer care logs for admins of this company.\n</br> Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true.\n</br> `disableCCareAdminAccess` can only be set:\n</br> * by `superadmin` (all companies),\n</br> * by `bp_admin` or `bp_finance` for the companies he manages,\n</br> * by `organization_admin` for the BP companies he manages.\n</br> * by `organization_admin` for the companies he manages.",
        "name": "disableCCareAdminAccess"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When True, disables the access to the customer care logs for admins of all the customers company.\n</br> This setting is only applicable for BP companies (`isBP`=true)\n</br> * If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.\n</br> * If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.\n</br>     Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it).\n</br>     `disableCCareAdminAccessCustomers` can only be set:\n</br> * by `superadmin` (all BP companies),\n</br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n</br> * by `organization_admin` for the BP companies he manages,\n</br> * by `company_admin` for the BP company he manages.",
        "name": "disableCCareAdminAccessCustomers"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.\n</br> This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)\n</br> Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.\n</br> Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it).\n</br> `disableCCareAdminAccessResellers` can only be set:\n</br> * by `superadmin` (all BP VAD companies),\n</br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n</br> * by `organization_admin` for the BP VAD companies he manages,\n</br> * by `company_admin` for the BP VAD company he manages.",
        "name": "disableCCareAdminAccessResellers"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled). Default value : true",
        "name": "autoAcceptUserInvitations"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allow to enable or disable the auto addition to user's network between users of this company (default false: disabled). Default value : false",
        "name": "autoAddToUserNetwork"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When different from -1 it activates content removal for all user of this companies with a content lifetime equals to contentPolicyLifeTime in minutes. Default value : -1",
        "name": "contentPolicyLifeTime"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When content removal is active for the organisation it represents the period in minutes where a document is still available event if it's content policy lifetime has expired * @apiParam (BodyParameters) {Boolean} [userSelfRegisterEnabled=true] Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process Default value : 14400",
        "name": "documentGracePeriod"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true)",
        "name": "userSelfRegisterAllowedDomains"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "A free string corresponding to the slogan of the company",
        "name": "slogan"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "A free string that describes the company (2000 char length)",
        "name": "description"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"self-employed\"",
        "description": "An overview of the number of employees. Default value : `self-employed`. Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"`",
        "name": "size"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "</br> * `A`: AGRICULTURE, FORESTRY AND FISHING\n</br> * `B`: MINING AND QUARRYING\n</br> * `C`: MANUFACTURING\n</br> * `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY\n</br> * `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES\n</br> * `F`: CONSTRUCTION\n</br> * `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES\n</br> * `H`: TRANSPORTATION AND STORAGE\n</br> * `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES\n</br> * `J`: INFORMATION AND COMMUNICATION\n</br> * `K`: FINANCIAL AND INSURANCE ACTIVITIES\n</br> * `L`: REAL ESTATE ACTIVITIES\n</br> * `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES\n</br> * `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES\n</br> * `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY\n</br> * `P`: EDUCATION\n</br> * `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES\n</br> * `R`: ARTS, ENTERTAINMENT AND RECREATION\n</br> * `S`: OTHER SERVICE ACTIVITIES\n</br> * `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE\n</br> * `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES\n</br>\n</br> Possibles values : `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"`",
        "name": "economicActivityClassification"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company website url",
        "name": "website"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations). `This field is deprecated.` Manage instead **useGifCustomisation field!**",
        "name": "giphyEnabled"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe.\n</br> When a new company is created, if no catalogId is specified the company is automatically linked to the default catalog.\n</br> When a `bp_admin>` or `bp_finance>` creates a company, catalogId of this new company is automatically set to BP company's catalogId.\n</br> When an `organization_admin>` creates a company, catalogId of this new company is automatically set to organization_admin's company's catalogId.\n</br>\n</br> Only `superadmin` can set a different catalogId to a company.",
        "name": "catalogId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Whether or not administrators can set customData field for their own company.\n</br> adminCanSetCustomData can only be set:\n</br>     by `superadmin` (all companies),\n</br>     by `bp_admin` or `bp_finance` for the companies he manages,\n</br>     by `organization_admin` for the companies he manages.",
        "name": "adminCanSetCustomData"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "Company's custom data.\n</br> Object with free keys/values.\n</br> It is up to the client to manage the company's customData (new customData provided overwrite the existing one).\n</br>\n</br> Restrictions on customData Object:\n</br> - max 10 keys,\n</br> - max key length: 64 characters,\n</br> - max value length: 512 characters.\n</br>\n</br>\n</br> Company customData can only be created/updated by:\n</br> - \\`superadmin\\` (all companies),\n</br> - \\`bp\\_admin\\` or \\`bp\\_finance\\` for the companies he manages (except his company if its \\`adminCanSetCustomData\\` setting is not set to true),\n</br> - \\`organization_admin\\` for the companies he manages,\n</br> - \\`company\\_admin\\` for his own company if its \\`adminCanSetCustomData\\` setting is set to true (setting that can only be set by a superadmin, his bp\\_admin, bp\\_finance or organization\\_admin) or if he has the feature \\`ADMIN\\_CAN\\_SET\\_CUSTOM\\_DATA\\` (if the feature is enabled, it overwrites the value of the company setting).",
        "name": "customData"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Link the company to the corresponding Business partner company.\n</br> `bpId` must correspond to a valid company having `isBP` equal to true.\n</br> Only directly settable by `superadmin`.\n</br> If the company is `created` by a `bp_admin` or a `bp_finance`, `bpId` is automatically set to BP company id.\n</br> For existing companies, `bp_admin` must use invitation mechanism to a company admin in order to request a link of this company company to his BP company.\n </br> Can only be set by `superadmin` or `bp_finance` of the related company.",
        "name": "bpId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "In the case the company is linked to a Business Partner company, indicates if the `bp_finance` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).\n</br> Can only be set by `superadmin` or `bp_finance` of the related company.",
        "name": "adminHasRightToUpdateSubscriptions"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_finance` allows the `company_admin` to perform on the subscriptions of his company.\n</br> Can only be set by `superadmin` or `bp_finance` of the related company.\n</br> Possible values:\n</br> - `all: company_admin is allowed to perform all update operations on the subscriptions of his company\n</br> - `increase_only: company_admin is only allowed to increase` maxNumberUsers` on the subscriptions of his company (decrease is forbidden)\n</br> - 'monthly': company_admin is only allowed to manage monthly subscription (increase and decrease)\n</br>\n</br> Possibles values : `all`, `increase_only`, `monthly`",
        "name": "adminAllowedUpdateSubscriptionsOps"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if the company is a Business partner company\n</br> Only settable by `superadmin`",
        "name": "isBP"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Indicates BP Company type\n</br> - `IR`: Indirect Reseller,\n</br> - `VAD`: Value Added Distributor,\n</br> - `DR`: Direct Reseller.\n</br>     Only applicable if `isBP` is true.\n</br>     Only settable by `superadmin`.\n</br>\n</br> Possibles values : `IR`, `VAD`, `DR`",
        "name": "bpType"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Indicates BP business model\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.\n</br>\n</br> Possibles values : `referral`, `resell`",
        "name": "bpBusinessModel"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Reference of the Business Partner in ALE Finance tools (SAP)\n</br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n</br> Only settable by `superadmin`.",
        "name": "bpApplicantNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Reference of the Business Partner in CDR\n</br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n</br> If `bpCRDid` is not defined, BP won't be able to sell (i.e. `bpHasRightToSell` can't be set to true)\n</br> Only settable by `superadmin`.",
        "name": "bpCRDid"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if the Business has the right to sell\n</br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n</br> Only applicable if `bpCRDid` is defined.\n</br> Only settable by `superadmin`.",
        "name": "bpHasRightToSell"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When True \\[Default\\], the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.",
        "name": "bpHasRightToConnect"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.",
        "name": "bpHasRightForBYOT"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Indicates the identifier of the preferred SIP Load Balancer (Rainbow Hub context ; used for HybridTrunks of associated ECs)\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.",
        "name": "preferredSipLoadBalancerId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if the Business has accepted the contract and can sell Rainbow offers\n</br> Should be set by `bp_admin` or `bp_finance`.\n</br> Only applicable if `isBP` is true.\n</br>\n</br> Default value : `false`",
        "name": "bpIsContractAccepted"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n</br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.",
        "name": "externalReference"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n</br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.",
        "name": "externalReference2"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Curstomer's Salesforce reference.\n</br> Only settable by users with `superadmin` or `business_admin` role(s).",
        "name": "salesforceAccountId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company's avatar customization",
        "name": "avatarShape"
      },
      {
        "description": "Indicates if the company is one tenant of a multi-tenant call server (OXE - OTEC-S or third_party) (default: false)",
        "name": "isCentrex"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "If isCentrex = true, this is the company access number \\[multi-company call + company Area, ex: 8 210, 8 211\\]",
        "name": "companyCallNumber"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field that only `superadmin` can use.",
        "name": "superadminComment"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Business type(s) that can be sold by a BP. Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default`.",
        "name": "bpBusinessType"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Billing model that can be subscribed for this company. Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y`",
        "name": "billingModel"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allow users of this company to select a theme among the ones available (owned or visible by the company). Default value : `true`",
        "name": "allowUsersSelectTheme"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Allow users of this company to select a public theme. Default value : `true`",
        "name": "allowUsersSelectPublicTheme"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "selectedTheme Object to set the selected theme(s) for users of the company.\n</br> * light optionnel String Set the selected theme light for users of the company.\n</br> * dark optionnel String Set the selected theme dark for users of the company.",
        "name": "selectedTheme"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "deactivate push mode for mobile devices.\n</br> When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.\n</br> For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company.\n</br>\n</br> Default value : `false`",
        "name": "mobilePermanentConnectionMode"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to receive alert notification.\n</br> Define if a user has the right to receive alert notification\n</br> alertNotificationReception can be:\n</br>\n</br> - `enabled`: Each user of the company can receive alert notification.\n</br> - `disabled`: No user of the company can receive alert notification.\n</br>\n</br> Default value : `disabled`. Possibles values : `enabled`, `disabled`",
        "name": "alertNotificationReception"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to send alert notification.\n</br> Define if a user has the right to send alert notification\n</br> alertNotificationSending can be:\n</br>\n</br> - `enabled`: Each user of the company can send alert notification.\n</br> - `disabled`: No user of the company can send alert notification.\n</br>\n</br> Default value : `disabled`. Possibles values : `enabled`, `disabled`",
        "name": "alertNotificationSending"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Activate/Deactivate the capability for a user to use dial out in phone meetings.\n</br> Define if a user is allowed to be called by the Rainbow conference bridge.\n</br> useDialOutCustomisation can be:\n</br>\n</br> - `enabled`: The user can be called by the Rainbow conference bridge.\n</br> - `disabled`: The user can't be called by the Rainbow conference bridge.\n</br>\n</br> Default value : `enabled`. Possibles values : `enabled`, `disabled`",
        "name": "useDialOutCustomisation"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. Default value : `false`",
        "name": "allowDeviceFirmwareSelection"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Cloudpbx default device firmware\n</br> - `released`: Default value, device firmware will be the official released one.\n</br> - `latest`: Device firmware can be a more up to date binary (e.g. early adopters)\n</br>     If allowed by `superadmin`, `company admin` can then select the kind of firmware for all the users, or only for some of them.\n</br>\n</br> Default value : `released` Possibles values : `released`, `latest`",
        "name": "selectedDeviceFirmware"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Cloudpbx email notification type when receiving a voicemail. Default value : `none`. Possibles values : `none`, `simple`, `complete`",
        "name": "cloudPbxVoicemailToEmail"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "businessData optionnel Object\n</br> Set the business data of the company.\n</br> Only settable by users with `superadmin` or `business_admin` role(s).\n</br>\n</br> region optionnel String  Set the region of the company.\n</br> cluster optionnel String Set the cluster of the company.\n</br> area optionnel String Set the area of the company.\n</br> country optionnel String Set the business country of the company.",
        "name": "businessData"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Group of license to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Enterprise, Business ...)",
        "name": "defaultLicenseGroup"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "List of options to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Alert ...)",
        "name": "defaultOptionsGroups"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "selectedThemeCustomers optionnel Object\n</br> Set the selected theme(s) for customers of this BP company.\n</br> This param only applies for BP companies.\n</br> * light optionnel String Set the selected theme light for customers of this BP company.\n</br> * dark optionnel String Set the selected theme dark for customers of this BP company.\n</br> * locked optionnel Boolean Allow to lock selected theme for customers. If true, customers won't be able to create or set another theme that the one selected by BP.",
        "name": "selectedThemeCustomers"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "uperadmin allows if Teams add-in uses sso to login in desktop app for all company users. Default value : true",
        "name": "allowTeamsToDesktopSso"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded Default value : `true`",
        "name": "cloudPbxRecordingInboundOnly"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Maximum number of users a company can supervise. Default value : `1500`",
        "name": "supervisionGroupMaxSize"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Maximum number of supervision groups a supervisor can belong to. Default value : 5",
        "name": "supervisionGroupMaxNumber"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "Maximum number of users in a supervision group (supervisor included). Default value : `30`",
        "name": "supervisionGroupMaxUsers"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "User timezone name\n</br> Allowed values: one of the timezone names defined in IANA tz database (https://www.iana.org/time-zones)\n</br> Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...)",
        "name": "timezone"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if company_admin should receive email notification about prepaid subscriptions expiring soon. Used only on end customer companies",
        "name": "sendPrepaidSubscriptionsNotification"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies.\n</br> This parameter can only be set by VAD `bp_admin` or `superadmin`.",
        "name": "ddiReadOnly"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. Default value : `false`.",
        "name": "allowPhoneNumbersVisibility"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "A list of Customer Success email addresses (maximum length : 10).",
        "name": "csEmailList"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "A list of System Engineer email addresses (maximum length : 10).",
        "name": "seEmailList"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "A list of Channel Sales Manager email addresses (maximum length : 10).",
        "name": "csmEmailList"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "A list of Key Account Manager email addresses (maximum length : 10).\n</br> These fields can only be set by a `business_admin` or a `superadmin`.",
        "name": "kamEmailList"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Allow to specify if company has access to specific offers. Only settable by superadmin or business_admin. Possibles values : UGAP.",
        "name": "businessSpecific"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Level of service notification that admin should see. Possibles values : `high`, `medium`, `low`.",
        "name": "adminServiceNotificationsLevel"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | String | Company unique identifier |\n| creationDate | Date-Time | Company creation date (Read only) |\n| statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n| lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n| name | String | Company name |\n| country optionnel | String | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n| street optionnel | String | Company street<br><br>Ordre de grandeur : `0..255` |\n| city optionnel | String | Company city<br><br>Ordre de grandeur : `0..255` |\n| state optionnel | String | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n| postalCode optionnel | String | Company postal code<br><br>Ordre de grandeur : `0..64` |\n| currency optionnel | String | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Ordre de grandeur : `3`<br><br>Possibles values : `USD`, `EUR`, `CNY` |\n| status | String | Company status<br><br>Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated` |\n| visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values : `public`, `private`, `organisation`, `closed`, `isolated` |\n| visibleBy | String\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n| adminEmail optionnel | String | Company contact person email |\n| supportEmail optionnel | String | Company support email |\n| supportUrlFAQ optionnel | String | Company support URL |\n| companyContactId optionnel | String | User Id of a Rainbow user which is the contact for this company |\n| disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n| disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n| disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n| autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled) |\n| userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n| userSelfRegisterAllowedDomains | String\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n| slogan optionnel | String | A free string corresponding to the slogan of the company (255 char length) |\n| description optionnel | String | A free string that describes the company (2000 char length) |\n| size | String | An overview of the number of employees<br><br>Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n| economicActivityClassification optionnel | String | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values : `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n| giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n| website optionnel | String | Company website URL |\n| organisationId | String | Optional identifier to indicate the company belongs to an organisation |\n| catalogId | String | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n| bpId | String | Optional identifier which links the company to the corresponding Business partner company |\n| adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n| adminAllowedUpdateSubscriptionsOps optionnel | String | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values : `all`, `increase_only` |\n| isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n| bpType optionnel | String | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values : `IR`, `VAD`, `DR` |\n| bpBusinessModel optionnel | String | Indicates BP business model |\n| bpApplicantNumber optionnel | String | Reference of the Business Partner in ALE Finance tools (SAP) |\n| bpCRDid optionnel | String | Reference of the Business Partner in CDR |\n| bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n| bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n| bpHasRightForBYOT optionnel | Boolean | When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI |\n| preferredSipLoadBalancerId optionnel | String | This attribute is only for BP and useful only in Rainbow Hub context. It indicates preferred SIP Load Balancer identifier to be used (if any). |\n| bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n| bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n| acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n| bpAdminId | String | User Id of the BP admin who accepted the contract |\n| offerType | String | Allowed company offer types<br><br>Possibles values : `freemium`, `premium` |\n| bpAdminLoginEmail | String | User loginEmail of the BP admin who accepted the contract |\n| businessSpecific optionnel | String | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values : `HDS` |\n| externalReference optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n| externalReference2 optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n| avatarShape optionnel | String | Company's avatar customization<br><br>Possibles values : `square`, `circle` |\n| allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n| allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n| selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n| light optionnel | String | Set the selected theme light for users of the company. |\n| dark optionnel | String | Set the selected theme dark for users of the company. |\n| adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n| isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n| superadminComment optionnel | String | Free field that only `superadmin` can see<br><br>Ordre de grandeur : `0..256` |\n| bpBusinessType optionnel | String\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n| billingModel optionnel | String | Billing model that can be subscribed for this company.<br><br>Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n| office365Tenant optionnel | String | Office365 tenant configured for this company. |\n| office365ScopesGranted optionnel | String\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values : `directory`, `calendar` |\n| mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n| fileSharingCustomisation | String | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n| useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n| phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n| useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n| useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n| useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n| useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n| instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n| userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n| fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n| overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n| alertNotificationReception | String | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n| alertNotificationSending | String | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n| changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n| changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n| useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n| useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n| fileCopyCustomisation | String | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n| fileTransferCustomisation | String | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n| forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n| readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n| useSpeakingTimeStatistics | String | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n| eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a E-learning training.  <br>Defines if a user can participate on an E-learning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an E-learning training.<br>* `disabled`: The user can't participate on an E-learning training. |\n| eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for E-learning progress.  <br>Defines if a user can earn badges for E-learning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for E-learning progress.<br>* `disabled`: The user can't earn badges for E-learning progress. |\n| meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n| useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n| useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n| useSoftPhoneMode | String | Activate/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `enabled`: The user can use the softphone mode.<br>* `disabled`: The user can't use the softphone mode. |\n| imPopupDuration | Number | Defines the IM popup duration. |\n| canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n| canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n| canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n| canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n| canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n| canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines if a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n| defaultLicenseGroup | String | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n| defaultOptionsGroups | String\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n| selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n| light optionnel | String | Set the selected theme light for customers of this BP company. |\n| dark optionnel | String | Set the selected theme dark for customers of this BP company. |\n| ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n| locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n| cloudPbxVoicemailToEmail optionnel | Boolean | Cloudpbx email notification type when receiving a voicemail |\n| allowPhoneNumbersVisibility optionnel | Boolean | Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. |\n| cloudPbxRecordingInboundOnly optionnel | Boolean | When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded |\n| allowDeviceFirmwareSelection optionnel | Boolean | Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. |\n| businessData optionnel | Object | Set the businessData company. |\n| region optionnel | String | Set the region of the company. |\n| cluster optionnel | String | Set the cluster of the company. |\n| area optionnel | String | Set the area of the company. |\n| allowTeamsToDesktopSso optionnel | Boolean | Superadmin allows if Teams add-in uses sso to login in desktop app for all company users<br><br>Default value : `true` |\n| country optionnel | String | Set the business country of the company. |\n| rainbowStorageAllowedAllUsers | Boolean | In an environment where a company uses the Rainbow file server or an External file server, an administator can defines storage access rights at company level, and at user level.  <br>So he has to:<br><br>* Enable/Disable external storage for a company (see `useExternalStorage`) and configure required parameters as URLs, type, name, description (see company/settings/filestorage section) and if all company users have access to this storage by default (see `externalStorageAllowedAllUsers`).  <br>    If this storage is enabled by default, all users following the company policy will have access to the storage.<br>* Enable/Disable Rainbow storage for a company (see `useRainbowStorage`), and if all company users have access to this storage by default (see `rainbowStorageAllowedAllUsers`).<br>* Select which storage is the main one used to store photo taken from Rainbow Apps (see `mainStorage`) |\n| externalStorageAllowedAllUsers | Boolean | Refer to rainbowStorageAllowedAllUsers. |\n| useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the default Rainbow File Storage.<br>* `disabled`: Unassign all users from the default Rainbow File Storage. |\n| useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the External File Storage.<br>* `disabled`: Unassign all users from the External File Storage. |\n| mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when a user is assigned to both file servers.<br><br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n| customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |\n| adminServiceNotificationsLevel | String | Level of service notification that admin should see |\n\n\nexample of result :\n```json\n{\n        \"id\": \"569ce8c8f9336c471b98eda1\",\n        \"creationDate\": \"2016-01-18T13:29:44.498Z\",\n        \"statusUpdatedDate\": \"2016-01-18T13:29:44.497Z\",\n        \"name\": \"AL-ENTERPRISE\",\n        \"street\": \"Sesame street\",\n        \"city\": \"Brooklyn\",\n        \"postalCode\": \"123456\",\n        \"country\": \"USA\",\n        \"state\": \"NY\",\n        \"status\": \"active\",\n        \"visibility\": \"private\",\n        \"visibleBy\": [\n             \"56fabb217d8d3ffa3d0223f8\",\n             \"56d6f00441255dd54b5b61ae\"\n        ],\n        \"adminEmail\": \"admin@company.com\",\n        \"supportEmail\": \"support@company.com\",\n        \"companyContactId\": \"588a0d902d9e7f983b8f7661\",\n        \"autoAcceptUserInvitations\": true,\n        \"userSelfRegisterEnabled\": true,\n        \"userSelfRegisterAllowedDomains\": [\n             \"@alcatel-lucent.com\",\n             \"@al-enterprise.com\",\n             \"@al-enterprise.fr\",\n             \"@al-enterprise.de\"\n        ],\n        \"slogan\": \"The slogan of my company\",\n        \"description\": \"A free string that describes my company\",\n        \"size\" : \"1001-5000 employees\",\n        \"website\": \"http:\\\\/\\\\/enterprise.alcatel-lucent.com\",\n        \"giphyEnabled\": false,\n        \"organisationId\": \"57cd58edd341df5812bbcb71\",\n        \"catalogId\": \"5979f63bae6056aadd1a8f17\",\n        \"bpId\": null,\n        \"externalReference\": null,\n        \"offerType\": \"premium\",\n        \"avatarShape\": \"circle\",\n        \"allowUsersSelectTheme\": true,\n        \"allowUsersSelectPublicTheme\": true,\n        \"mobilePermanentConnectionMode\": false,\n        \"customData\": {},\n        \"office365ScopesGranted\": [],\n        \"fileSharingCustomisation\": \"enabled\",\n        \"userTitleNameCustomisation\": \"enabled\",\n        \"softphoneOnlyCustomisation\": \"disabled\",\n        \"useRoomCustomisation\": \"enabled\",\n        \"phoneMeetingCustomisation\": \"enabled\",\n        \"useChannelCustomisation\": \"enabled\",\n        \"useScreenSharingCustomisation\": \"enabled\",\n        \"useWebRTCVideoCustomisation\": \"enabled\",\n        \"useWebRTCAudioCustomisation\": \"enabled\",\n        \"instantMessagesCustomisation\": \"enabled\",\n        \"userProfileCustomisation\": \"enabled\",\n        \"fileStorageCustomisation\": \"enabled\",\n        \"overridePresenceCustomisation\": \"enabled\",\n        \"changeTelephonyCustomisation\": \"enabled\",\n        \"changeSettingsCustomisation\": \"enabled\",\n        \"recordingConversationCustomisation\": \"enabled\",\n        \"useGifCustomisation\": \"enabled\",\n        \"useDialOutCustomisation\": \"enabled\",\n        \"eLearningCustomisation\":  \"enabled\",\n        \"eLearningGamificationCustomisation\": \"enabled\",\n        \"meetingRecordingCustomisation\": \"enabled\",\n        \"useOtherPhoneMode\": \"enabled\",\n        \"useComputerMode\": \"enabled\",\n        \"useSoftPhoneMode\": \"enabled\",\n        \"imPopupDuration\": 3,\n        \"canAccessWhatsNew\": \"enabled\",\n        \"canAccesFaqCustomisation\": \"enabled\",\n        \"canAccessHelpCenterCustomisation\": \"enabled\",\n        \"canAccessStoreCustomisation\": \"enabled\",\n        \"canDownloadAppCustomisation\": \"enabled\",\n        \"canCallParticipantPbxNumberCustomisation\": \"enabled\",\n        \"defaultLicenseGroup\": \"Enterprise\",\n        \"defaultOptionsGroups\": [\"Alert\"],\n        \"selectedTheme\": {\n             \"light\": null,\n             \"dark\": \"5ea304e4359c0e6815fc8b57\",\n             \"isLockedByBp\": true\n        },\n        \"businessSpecific\": \"UGAP\",\n        \"allowTeamsToDesktopSso\": true,\n        \"externalStorageAllowedAllUsers\" : false,\n        \"mainStorage\" : \"Rainbow Storage\",\n        \"rainbowStorageAllowedAllUsers\" : true,\n        \"useExternalStorage\" : \"disabled\",\n        \"useRainbowStorage\" : \"enabled\",\n        \"businessData\": {\n             \"region\": \"EMEA\",\n             \"cluster\": \"EU SOUTH\",\n             \"area\": \"BELUX\",\n             \"country\": \"BEL\"\n        },\n        \"useRainbowStorage\" : \"enabled\",\n        \"adminServiceNotificationsLevel\": \"high\"\n    }\n```"
      }
    ],
    "longname": "module:AdminService#updateCompany",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCompany",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateCompanyByObj\n     * @instance\n     * @description\n     *   Users with superadmin role can update any company. Users with admin role (and not having superadmin role) can only update their own company.\n     * </br> Default and Terminated companies can't be renamed, and their name can't be use to rename another company\n     * </br> `Sooner or later it will be unnecessary to manage each customization parameter individually. It will be necessary to create and/or apply customization templates.</br> AdminService::getAllAvailableCustomisationTemplates().`\n     *\n     * @param {string} companyId Company unique identifier\n     * @param {any} selectedThemeObj Allows to return selectedTheme attribute as an object:\n     * </br> * true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }),\n     * </br> * false return selectedTheme as a string.\n     * @param {any} companyInfoToUpdate Object with company's properties to update. : {\n     *  {string} name Company name\n     *  {string} country Company country (ISO 3166-1 alpha3 format)\n     *  {string} street Company street\n     *  {string} city Company city\n     *  {string} state When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.\n     *  {string} postalCode Company postal code\n     *  {string} offerType Company offer type.\n     * </br> Companies with offerType=`freemium` are not able to subscribe to paid offers, they must be `premium` to do so.\n     * </br> Only `superadmin` can set offerType from `premium` to `freemium`.\n     * </br> Possibles values : `freemium`, `premium`\n     *  {string} currency Company currency, for payment of premium offers (ISO 4217 format)\n     * </br> For now, only USD, EUR and CNY are supported\n     * </br> Only settable by `superadmin`\n     * </br> Possibles values : `USD`, `EUR`, `CNY`\n     *  {string} status Company status.\n     * </br> If company status is `initializing`, only `superadmin` can change the status value.\n     * </br> Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated`\n     *  {string} visibility Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).\n     * </br> * `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n     * </br> * `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users\n     * </br> * `organization`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users\n     * </br> * `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users\n     * </br> * `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users\n     * </br> * `hotspot`: User can be searched by hotspot attached company's users (users from any company if the user belong to the default company) / can't search any users (even in their company) or user can't invite external users / can be invited by hotspot attached company's users (users from any company if the user belong to the default company)\n     * </br>     * currently `hotspot` visibility can only be set on the default company, and with superadmin role (development of `hotspot` visibility is partially done, only for default company in the context of RQRAINB-7456)\n     * </br>\n     * </br> External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.\n     * </br>\n     * </br> Note related to organisation visibility:\n     * </br>\n     * </br> * Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.\n     * </br> * The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.\n     * </br>\n     * </br> Default value : `private`. Possibles values : `public`, `private`, `organization`, `closed`, `isolated`, `hotspot`\n     *  {string[]} visibleBy If visibility is private or organisation, list of company ids for which visibility is allowed\n     *  {string} adminEmail Company contact person email. adminEmail is case sentive. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`\n     *  {string} supportEmail Company support email. supportEmail is case sensitive. supportEmail `should be provided if company to create is a VAD or a DR`. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`\n     *  {string} supportUrlFAQ Company support url\n     *  {string} companyContactId User Id of a Rainbow user which is the contact for this company\n     *  {boolean} disableCCareAdminAccess When True, disables the access to the customer care logs for admins of this company.\n     * </br> Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true.\n     * </br> `disableCCareAdminAccess` can only be set:\n     * </br> * by `superadmin` (all companies),\n     * </br> * by `bp_admin` or `bp_finance` for the companies he manages,\n     * </br> * by `organization_admin` for the BP companies he manages.\n     * </br> * by `organization_admin` for the companies he manages.\n     *  {boolean} disableCCareAdminAccessCustomers When True, disables the access to the customer care logs for admins of all the customers company.\n     * </br> This setting is only applicable for BP companies (`isBP`=true)\n     * </br> * If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.\n     * </br> * If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.\n     * </br>     Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it).\n     * </br>     `disableCCareAdminAccessCustomers` can only be set:\n     * </br> * by `superadmin` (all BP companies),\n     * </br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n     * </br> * by `organization_admin` for the BP companies he manages,\n     * </br> * by `company_admin` for the BP company he manages.\n     *  {boolean} disableCCareAdminAccessResellers When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.\n     * </br> This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)\n     * </br> Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.\n     * </br> Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it).\n     * </br> `disableCCareAdminAccessResellers` can only be set:\n     * </br> * by `superadmin` (all BP VAD companies),\n     * </br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n     * </br> * by `organization_admin` for the BP VAD companies he manages,\n     * </br> * by `company_admin` for the BP VAD company he manages.\n     *  {boolean} autoAcceptUserInvitations Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled). Default value : true\n     *  {boolean} autoAddToUserNetwork Allow to enable or disable the auto addition to user's network between users of this company (default false: disabled). Default value : false\n     *  {boolean} contentPolicyLifeTime When different from -1 it activates content removal for all user of this companies with a content lifetime equals to contentPolicyLifeTime in minutes. Default value : -1\n     *  {boolean} documentGracePeriod When content removal is active for the organisation it represents the period in minutes where a document is still available event if it's content policy lifetime has expired * @apiParam (BodyParameters) {Boolean} [userSelfRegisterEnabled=true] Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process Default value : 14400\n     *  {string[]} userSelfRegisterAllowedDomains Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true)\n     *  {string} slogan A free string corresponding to the slogan of the company\n     *  {string} description A free string that describes the company (2000 char length)\n     *  {string} size An overview of the number of employees. Default value : `self-employed`. Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"`\n     *  {string} economicActivityClassification\n     * </br> * `A`: AGRICULTURE, FORESTRY AND FISHING\n     * </br> * `B`: MINING AND QUARRYING\n     * </br> * `C`: MANUFACTURING\n     * </br> * `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY\n     * </br> * `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES\n     * </br> * `F`: CONSTRUCTION\n     * </br> * `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES\n     * </br> * `H`: TRANSPORTATION AND STORAGE\n     * </br> * `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES\n     * </br> * `J`: INFORMATION AND COMMUNICATION\n     * </br> * `K`: FINANCIAL AND INSURANCE ACTIVITIES\n     * </br> * `L`: REAL ESTATE ACTIVITIES\n     * </br> * `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES\n     * </br> * `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES\n     * </br> * `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY\n     * </br> * `P`: EDUCATION\n     * </br> * `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES\n     * </br> * `R`: ARTS, ENTERTAINMENT AND RECREATION\n     * </br> * `S`: OTHER SERVICE ACTIVITIES\n     * </br> * `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE\n     * </br> * `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES\n     * </br>\n     * </br> Possibles values : `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"`\n     *  {string}  website Company website url\n     *  {boolean} giphyEnabled Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations). `This field is deprecated.` Manage instead **useGifCustomisation field!**\n     *  {string} catalogId Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe.\n     * </br> When a new company is created, if no catalogId is specified the company is automatically linked to the default catalog.\n     * </br> When a `bp_admin>` or `bp_finance>` creates a company, catalogId of this new company is automatically set to BP company's catalogId.\n     * </br> When an `organization_admin>` creates a company, catalogId of this new company is automatically set to organization_admin's company's catalogId.\n     * </br>\n     * </br> Only `superadmin` can set a different catalogId to a company.\n     *  {boolean} adminCanSetCustomData Whether or not administrators can set customData field for their own company.\n     * </br> adminCanSetCustomData can only be set:\n     * </br>     by `superadmin` (all companies),\n     * </br>     by `bp_admin` or `bp_finance` for the companies he manages,\n     * </br>     by `organization_admin` for the companies he manages.\n     *  {any} customData Company's custom data.\n     * </br> Object with free keys/values.\n     * </br> It is up to the client to manage the company's customData (new customData provided overwrite the existing one).\n     * </br>\n     * </br> Restrictions on customData Object:\n     * </br> - max 10 keys,\n     * </br> - max key length: 64 characters,\n     * </br> - max value length: 512 characters.\n     * </br>\n     * </br>\n     * </br> Company customData can only be created/updated by:\n     * </br> - \\`superadmin\\` (all companies),\n     * </br> - \\`bp\\_admin\\` or \\`bp\\_finance\\` for the companies he manages (except his company if its \\`adminCanSetCustomData\\` setting is not set to true),\n     * </br> - \\`organization_admin\\` for the companies he manages,\n     * </br> - \\`company\\_admin\\` for his own company if its \\`adminCanSetCustomData\\` setting is set to true (setting that can only be set by a superadmin, his bp\\_admin, bp\\_finance or organization\\_admin) or if he has the feature \\`ADMIN\\_CAN\\_SET\\_CUSTOM\\_DATA\\` (if the feature is enabled, it overwrites the value of the company setting).\n     *  {string} bpId Link the company to the corresponding Business partner company.\n     * </br> `bpId` must correspond to a valid company having `isBP` equal to true.\n     * </br> Only directly settable by `superadmin`.\n     * </br> If the company is `created` by a `bp_admin` or a `bp_finance`, `bpId` is automatically set to BP company id.\n     * </br> For existing companies, `bp_admin` must use invitation mechanism to a company admin in order to request a link of this company company to his BP company.\n     *  </br> Can only be set by `superadmin` or `bp_finance` of the related company.\n     *  {boolean} adminHasRightToUpdateSubscriptions In the case the company is linked to a Business Partner company, indicates if the `bp_finance` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).\n     * </br> Can only be set by `superadmin` or `bp_finance` of the related company.\n     *  {string} adminAllowedUpdateSubscriptionsOps In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_finance` allows the `company_admin` to perform on the subscriptions of his company.\n     * </br> Can only be set by `superadmin` or `bp_finance` of the related company.\n     * </br> Possible values:\n     * </br> - `all: company_admin is allowed to perform all update operations on the subscriptions of his company\n     * </br> - `increase_only: company_admin is only allowed to increase` maxNumberUsers` on the subscriptions of his company (decrease is forbidden)\n     * </br> - 'monthly': company_admin is only allowed to manage monthly subscription (increase and decrease)\n     * </br>\n     * </br> Possibles values : `all`, `increase_only`, `monthly`\n     *  {boolean} isBP Indicates if the company is a Business partner company\n     * </br> Only settable by `superadmin`\n     *  {string} bpType Indicates BP Company type\n     * </br> - `IR`: Indirect Reseller,\n     * </br> - `VAD`: Value Added Distributor,\n     * </br> - `DR`: Direct Reseller.\n     * </br>     Only applicable if `isBP` is true.\n     * </br>     Only settable by `superadmin`.\n     * </br>\n     * </br> Possibles values : `IR`, `VAD`, `DR`\n     *  {string} bpBusinessModel Indicates BP business model\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     * </br>\n     * </br> Possibles values : `referral`, `resell`\n     *  {string} bpApplicantNumber Reference of the Business Partner in ALE Finance tools (SAP)\n     * </br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n     * </br> Only settable by `superadmin`.\n     *  {string} bpCRDid Reference of the Business Partner in CDR\n     * </br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n     * </br> If `bpCRDid` is not defined, BP won't be able to sell (i.e. `bpHasRightToSell` can't be set to true)\n     * </br> Only settable by `superadmin`.\n     *  {boolean} bpHasRightToSell Indicates if the Business has the right to sell\n     * </br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n     * </br> Only applicable if `bpCRDid` is defined.\n     * </br> Only settable by `superadmin`.\n     *  {boolean} bpHasRightToConnect When True \\[Default\\], the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     *  {boolean} bpHasRightForBYOT When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     *  {string} preferredSipLoadBalancerId Indicates the identifier of the preferred SIP Load Balancer (Rainbow Hub context ; used for HybridTrunks of associated ECs)\n     * </br> Only applicable if `isBP` is true.\n     * </br> Only settable by `superadmin`.\n     *  {boolean} bpIsContractAccepted Indicates if the Business has accepted the contract and can sell Rainbow offers\n     * </br> Should be set by `bp_admin` or `bp_finance`.\n     * </br> Only applicable if `isBP` is true.\n     * </br>\n     * </br> Default value : `false`\n     *  {string} externalReference Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n     * </br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.\n     *  {string} externalReference2 Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n     * </br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.\n     *  {string} salesforceAccountId Curstomer's Salesforce reference.\n     * </br> Only settable by users with `superadmin` or `business_admin` role(s).\n     *  {string} avatarShape Company's avatar customization\n     *  isCentrex Indicates if the company is one tenant of a multi-tenant call server (OXE - OTEC-S or third_party) (default: false)\n     *  {string} companyCallNumber If isCentrex = true, this is the company access number \\[multi-company call + company Area, ex: 8 210, 8 211\\]\n     *  {string} superadminComment Free field that only `superadmin` can use.\n     *  {string[]} bpBusinessType Business type(s) that can be sold by a BP. Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default`.\n     *  {string} billingModel Billing model that can be subscribed for this company. Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y`\n     *  {boolean} allowUsersSelectTheme Allow users of this company to select a theme among the ones available (owned or visible by the company). Default value : `true`\n     *  {boolean} allowUsersSelectPublicTheme Allow users of this company to select a public theme. Default value : `true`\n     *  {any} selectedTheme selectedTheme Object to set the selected theme(s) for users of the company.\n     * </br> * light optionnel String Set the selected theme light for users of the company.\n     * </br> * dark optionnel String Set the selected theme dark for users of the company.\n     *  {boolean}  mobilePermanentConnectionMode deactivate push mode for mobile devices.\n     * </br> When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.\n     * </br> For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company.\n     * </br>\n     * </br> Default value : `false`\n     *  {string} alertNotificationReception Activate/Deactivate the capability for a user to receive alert notification.\n     * </br> Define if a user has the right to receive alert notification\n     * </br> alertNotificationReception can be:\n     * </br>\n     * </br> - `enabled`: Each user of the company can receive alert notification.\n     * </br> - `disabled`: No user of the company can receive alert notification.\n     * </br>\n     * </br> Default value : `disabled`. Possibles values : `enabled`, `disabled`\n     *  {string} alertNotificationSending Activate/Deactivate the capability for a user to send alert notification.\n     * </br> Define if a user has the right to send alert notification\n     * </br> alertNotificationSending can be:\n     * </br>\n     * </br> - `enabled`: Each user of the company can send alert notification.\n     * </br> - `disabled`: No user of the company can send alert notification.\n     * </br>\n     * </br> Default value : `disabled`. Possibles values : `enabled`, `disabled`\n     *  {string} useDialOutCustomisation Activate/Deactivate the capability for a user to use dial out in phone meetings.\n     * </br> Define if a user is allowed to be called by the Rainbow conference bridge.\n     * </br> useDialOutCustomisation can be:\n     * </br>\n     * </br> - `enabled`: The user can be called by the Rainbow conference bridge.\n     * </br> - `disabled`: The user can't be called by the Rainbow conference bridge.\n     * </br>\n     * </br> Default value : `enabled`. Possibles values : `enabled`, `disabled`\n     *  {boolean} allowDeviceFirmwareSelection Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. Default value : `false`\n     *  {string} selectedDeviceFirmware Cloudpbx default device firmware\n     * </br> - `released`: Default value, device firmware will be the official released one.\n     * </br> - `latest`: Device firmware can be a more up to date binary (e.g. early adopters)\n     * </br>     If allowed by `superadmin`, `company admin` can then select the kind of firmware for all the users, or only for some of them.\n     * </br>\n     * </br> Default value : `released` Possibles values : `released`, `latest`\n     *  {string} cloudPbxVoicemailToEmail Cloudpbx email notification type when receiving a voicemail. Default value : `none`. Possibles values : `none`, `simple`, `complete`\n     *  {any} businessData businessData optionnel Object\n     * </br> Set the business data of the company.\n     * </br> Only settable by users with `superadmin` or `business_admin` role(s).\n     * </br>\n     * </br> region optionnel String  Set the region of the company.\n     * </br> cluster optionnel String Set the cluster of the company.\n     * </br> area optionnel String Set the area of the company.\n     * </br> country optionnel String Set the business country of the company.\n     *  {string} defaultLicenseGroup Group of license to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Enterprise, Business ...)\n     *  {string[]} defaultOptionsGroups List of options to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Alert ...)\n     *  {any} selectedThemeCustomers selectedThemeCustomers optionnel Object\n     * </br> Set the selected theme(s) for customers of this BP company.\n     * </br> This param only applies for BP companies.\n     * </br> * light optionnel String Set the selected theme light for customers of this BP company.\n     * </br> * dark optionnel String Set the selected theme dark for customers of this BP company.\n     * </br> * locked optionnel Boolean Allow to lock selected theme for customers. If true, customers won't be able to create or set another theme that the one selected by BP.\n     *  {boolean} allowTeamsToDesktopSso uperadmin allows if Teams add-in uses sso to login in desktop app for all company users. Default value : true\n     *  {boolean} cloudPbxRecordingInboundOnly When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded Default value : `true`\n     *  {number} supervisionGroupMaxSize Maximum number of users a company can supervise. Default value : `1500`\n     *  {number} supervisionGroupMaxNumber Maximum number of supervision groups a supervisor can belong to. Default value : 5\n     *  {number} supervisionGroupMaxUsers Maximum number of users in a supervision group (supervisor included). Default value : `30`\n     *  {string} timezone User timezone name\n     * </br> Allowed values: one of the timezone names defined in IANA tz database (https://www.iana.org/time-zones)\n     * </br> Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...)\n     *  {boolean} sendPrepaidSubscriptionsNotification Indicates if company_admin should receive email notification about prepaid subscriptions expiring soon. Used only on end customer companies\n     *  {boolean} ddiReadOnly Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies.\n     * </br> This parameter can only be set by VAD `bp_admin` or `superadmin`.\n     *  {boolean} allowPhoneNumbersVisibility Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. Default value : `false`.\n     *  {string[]} csEmailList A list of Customer Success email addresses (maximum length : 10).\n     *  {string[]} seEmailList A list of System Engineer email addresses (maximum length : 10).\n     *  {string[]} csmEmailList A list of Channel Sales Manager email addresses (maximum length : 10).\n     *  {string[]} kamEmailList A list of Key Account Manager email addresses (maximum length : 10).\n     * </br> These fields can only be set by a `business_admin` or a `superadmin`.\n     *  {string} businessSpecific Allow to specify if company has access to specific offers. Only settable by superadmin or business_admin. Possibles values : UGAP.\n     *  {string} adminServiceNotificationsLevel Level of service notification that admin should see. Possibles values : `high`, `medium`, `low`.\n     *  }\n     *\n     * @category Companies and users management\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | String | Company unique identifier |\n     * | creationDate | Date-Time | Company creation date (Read only) |\n     * | statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n     * | lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n     * | name | String | Company name |\n     * | country optionnel | String | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n     * | street optionnel | String | Company street<br><br>Ordre de grandeur : `0..255` |\n     * | city optionnel | String | Company city<br><br>Ordre de grandeur : `0..255` |\n     * | state optionnel | String | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n     * | postalCode optionnel | String | Company postal code<br><br>Ordre de grandeur : `0..64` |\n     * | currency optionnel | String | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Ordre de grandeur : `3`<br><br>Possibles values : `USD`, `EUR`, `CNY` |\n     * | status | String | Company status<br><br>Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated` |\n     * | visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values : `public`, `private`, `organisation`, `closed`, `isolated` |\n     * | visibleBy | String\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n     * | adminEmail optionnel | String | Company contact person email |\n     * | supportEmail optionnel | String | Company support email |\n     * | supportUrlFAQ optionnel | String | Company support URL |\n     * | companyContactId optionnel | String | User Id of a Rainbow user which is the contact for this company |\n     * | disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n     * | disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n     * | disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n     * | autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled) |\n     * | userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n     * | userSelfRegisterAllowedDomains | String\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n     * | slogan optionnel | String | A free string corresponding to the slogan of the company (255 char length) |\n     * | description optionnel | String | A free string that describes the company (2000 char length) |\n     * | size | String | An overview of the number of employees<br><br>Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n     * | economicActivityClassification optionnel | String | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values : `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n     * | giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n     * | website optionnel | String | Company website URL |\n     * | organisationId | String | Optional identifier to indicate the company belongs to an organisation |\n     * | catalogId | String | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n     * | bpId | String | Optional identifier which links the company to the corresponding Business partner company |\n     * | adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n     * | adminAllowedUpdateSubscriptionsOps optionnel | String | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values : `all`, `increase_only` |\n     * | isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n     * | bpType optionnel | String | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values : `IR`, `VAD`, `DR` |\n     * | bpBusinessModel optionnel | String | Indicates BP business model |\n     * | bpApplicantNumber optionnel | String | Reference of the Business Partner in ALE Finance tools (SAP) |\n     * | bpCRDid optionnel | String | Reference of the Business Partner in CDR |\n     * | bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n     * | bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n     * | bpHasRightForBYOT optionnel | Boolean | When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI |\n     * | preferredSipLoadBalancerId optionnel | String | This attribute is only for BP and useful only in Rainbow Hub context. It indicates preferred SIP Load Balancer identifier to be used (if any). |\n     * | bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n     * | bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n     * | acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n     * | bpAdminId | String | User Id of the BP admin who accepted the contract |\n     * | offerType | String | Allowed company offer types<br><br>Possibles values : `freemium`, `premium` |\n     * | bpAdminLoginEmail | String | User loginEmail of the BP admin who accepted the contract |\n     * | businessSpecific optionnel | String | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values : `HDS` |\n     * | externalReference optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n     * | externalReference2 optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n     * | avatarShape optionnel | String | Company's avatar customization<br><br>Possibles values : `square`, `circle` |\n     * | allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n     * | allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n     * | selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n     * | light optionnel | String | Set the selected theme light for users of the company. |\n     * | dark optionnel | String | Set the selected theme dark for users of the company. |\n     * | adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n     * | isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n     * | superadminComment optionnel | String | Free field that only `superadmin` can see<br><br>Ordre de grandeur : `0..256` |\n     * | bpBusinessType optionnel | String\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n     * | billingModel optionnel | String | Billing model that can be subscribed for this company.<br><br>Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n     * | office365Tenant optionnel | String | Office365 tenant configured for this company. |\n     * | office365ScopesGranted optionnel | String\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values : `directory`, `calendar` |\n     * | mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n     * | fileSharingCustomisation | String | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n     * | softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n     * | useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n     * | phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n     * | useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n     * | useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n     * | useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n     * | useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n     * | instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n     * | userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n     * | fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n     * | overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n     * | alertNotificationReception | String | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n     * | alertNotificationSending | String | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n     * | changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n     * | changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n     * | useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n     * | useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n     * | fileCopyCustomisation | String | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n     * | fileTransferCustomisation | String | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n     * | forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n     * | readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n     * | useSpeakingTimeStatistics | String | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n     * | eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a E-learning training.  <br>Defines if a user can participate on an E-learning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an E-learning training.<br>* `disabled`: The user can't participate on an E-learning training. |\n     * | eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for E-learning progress.  <br>Defines if a user can earn badges for E-learning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for E-learning progress.<br>* `disabled`: The user can't earn badges for E-learning progress. |\n     * | meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n     * | useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n     * | useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n     * | useSoftPhoneMode | String | Activate/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `enabled`: The user can use the softphone mode.<br>* `disabled`: The user can't use the softphone mode. |\n     * | imPopupDuration | Number | Defines the IM popup duration. |\n     * | canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n     * | canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n     * | canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n     * | canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n     * | canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n     * | canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines if a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n     * | defaultLicenseGroup | String | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n     * | defaultOptionsGroups | String\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n     * | selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n     * | light optionnel | String | Set the selected theme light for customers of this BP company. |\n     * | dark optionnel | String | Set the selected theme dark for customers of this BP company. |\n     * | ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n     * | locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n     * | cloudPbxVoicemailToEmail optionnel | Boolean | Cloudpbx email notification type when receiving a voicemail |\n     * | allowPhoneNumbersVisibility optionnel | Boolean | Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. |\n     * | cloudPbxRecordingInboundOnly optionnel | Boolean | When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded |\n     * | allowDeviceFirmwareSelection optionnel | Boolean | Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. |\n     * | businessData optionnel | Object | Set the businessData company. |\n     * | region optionnel | String | Set the region of the company. |\n     * | cluster optionnel | String | Set the cluster of the company. |\n     * | area optionnel | String | Set the area of the company. |\n     * | allowTeamsToDesktopSso optionnel | Boolean | Superadmin allows if Teams add-in uses sso to login in desktop app for all company users<br><br>Default value : `true` |\n     * | country optionnel | String | Set the business country of the company. |\n     * | rainbowStorageAllowedAllUsers | Boolean | In an environment where a company uses the Rainbow file server or an External file server, an administator can defines storage access rights at company level, and at user level.  <br>So he has to:<br><br>* Enable/Disable external storage for a company (see `useExternalStorage`) and configure required parameters as URLs, type, name, description (see company/settings/filestorage section) and if all company users have access to this storage by default (see `externalStorageAllowedAllUsers`).  <br>    If this storage is enabled by default, all users following the company policy will have access to the storage.<br>* Enable/Disable Rainbow storage for a company (see `useRainbowStorage`), and if all company users have access to this storage by default (see `rainbowStorageAllowedAllUsers`).<br>* Select which storage is the main one used to store photo taken from Rainbow Apps (see `mainStorage`) |\n     * | externalStorageAllowedAllUsers | Boolean | Refer to rainbowStorageAllowedAllUsers. |\n     * | useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the default Rainbow File Storage.<br>* `disabled`: Unassign all users from the default Rainbow File Storage. |\n     * | useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the External File Storage.<br>* `disabled`: Unassign all users from the External File Storage. |\n     * | mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when a user is assigned to both file servers.<br><br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n     * | customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |\n     * | adminServiceNotificationsLevel | String | Level of service notification that admin should see |\n     *\n     *\n     * example of result :\n     * ```json\n     * {\n     *         \"id\": \"569ce8c8f9336c471b98eda1\",\n     *         \"creationDate\": \"2016-01-18T13:29:44.498Z\",\n     *         \"statusUpdatedDate\": \"2016-01-18T13:29:44.497Z\",\n     *         \"name\": \"AL-ENTERPRISE\",\n     *         \"street\": \"Sesame street\",\n     *         \"city\": \"Brooklyn\",\n     *         \"postalCode\": \"123456\",\n     *         \"country\": \"USA\",\n     *         \"state\": \"NY\",\n     *         \"status\": \"active\",\n     *         \"visibility\": \"private\",\n     *         \"visibleBy\": [\n     *              \"56fabb217d8d3ffa3d0223f8\",\n     *              \"56d6f00441255dd54b5b61ae\"\n     *         ],\n     *         \"adminEmail\": \"admin@company.com\",\n     *         \"supportEmail\": \"support@company.com\",\n     *         \"companyContactId\": \"588a0d902d9e7f983b8f7661\",\n     *         \"autoAcceptUserInvitations\": true,\n     *         \"userSelfRegisterEnabled\": true,\n     *         \"userSelfRegisterAllowedDomains\": [\n     *              \"@alcatel-lucent.com\",\n     *              \"@al-enterprise.com\",\n     *              \"@al-enterprise.fr\",\n     *              \"@al-enterprise.de\"\n     *         ],\n     *         \"slogan\": \"The slogan of my company\",\n     *         \"description\": \"A free string that describes my company\",\n     *         \"size\" : \"1001-5000 employees\",\n     *         \"website\": \"http:\\\\/\\\\/enterprise.alcatel-lucent.com\",\n     *         \"giphyEnabled\": false,\n     *         \"organisationId\": \"57cd58edd341df5812bbcb71\",\n     *         \"catalogId\": \"5979f63bae6056aadd1a8f17\",\n     *         \"bpId\": null,\n     *         \"externalReference\": null,\n     *         \"offerType\": \"premium\",\n     *         \"avatarShape\": \"circle\",\n     *         \"allowUsersSelectTheme\": true,\n     *         \"allowUsersSelectPublicTheme\": true,\n     *         \"mobilePermanentConnectionMode\": false,\n     *         \"customData\": {},\n     *         \"office365ScopesGranted\": [],\n     *         \"fileSharingCustomisation\": \"enabled\",\n     *         \"userTitleNameCustomisation\": \"enabled\",\n     *         \"softphoneOnlyCustomisation\": \"disabled\",\n     *         \"useRoomCustomisation\": \"enabled\",\n     *         \"phoneMeetingCustomisation\": \"enabled\",\n     *         \"useChannelCustomisation\": \"enabled\",\n     *         \"useScreenSharingCustomisation\": \"enabled\",\n     *         \"useWebRTCVideoCustomisation\": \"enabled\",\n     *         \"useWebRTCAudioCustomisation\": \"enabled\",\n     *         \"instantMessagesCustomisation\": \"enabled\",\n     *         \"userProfileCustomisation\": \"enabled\",\n     *         \"fileStorageCustomisation\": \"enabled\",\n     *         \"overridePresenceCustomisation\": \"enabled\",\n     *         \"changeTelephonyCustomisation\": \"enabled\",\n     *         \"changeSettingsCustomisation\": \"enabled\",\n     *         \"recordingConversationCustomisation\": \"enabled\",\n     *         \"useGifCustomisation\": \"enabled\",\n     *         \"useDialOutCustomisation\": \"enabled\",\n     *         \"eLearningCustomisation\":  \"enabled\",\n     *         \"eLearningGamificationCustomisation\": \"enabled\",\n     *         \"meetingRecordingCustomisation\": \"enabled\",\n     *         \"useOtherPhoneMode\": \"enabled\",\n     *         \"useComputerMode\": \"enabled\",\n     *         \"useSoftPhoneMode\": \"enabled\",\n     *         \"imPopupDuration\": 3,\n     *         \"canAccessWhatsNew\": \"enabled\",\n     *         \"canAccesFaqCustomisation\": \"enabled\",\n     *         \"canAccessHelpCenterCustomisation\": \"enabled\",\n     *         \"canAccessStoreCustomisation\": \"enabled\",\n     *         \"canDownloadAppCustomisation\": \"enabled\",\n     *         \"canCallParticipantPbxNumberCustomisation\": \"enabled\",\n     *         \"defaultLicenseGroup\": \"Enterprise\",\n     *         \"defaultOptionsGroups\": [\"Alert\"],\n     *         \"selectedTheme\": {\n     *              \"light\": null,\n     *              \"dark\": \"5ea304e4359c0e6815fc8b57\",\n     *              \"isLockedByBp\": true\n     *         },\n     *         \"businessSpecific\": \"UGAP\",\n     *         \"allowTeamsToDesktopSso\": true,\n     *         \"externalStorageAllowedAllUsers\" : false,\n     *         \"mainStorage\" : \"Rainbow Storage\",\n     *         \"rainbowStorageAllowedAllUsers\" : true,\n     *         \"useExternalStorage\" : \"disabled\",\n     *         \"useRainbowStorage\" : \"enabled\",\n     *         \"businessData\": {\n     *              \"region\": \"EMEA\",\n     *              \"cluster\": \"EU SOUTH\",\n     *              \"area\": \"BELUX\",\n     *              \"country\": \"BEL\"\n     *         },\n     *         \"useRainbowStorage\" : \"enabled\",\n     *         \"adminServiceNotificationsLevel\": \"high\"\n     *     }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 3418,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "updateCompanyByObj",
    "scope": "instance",
    "description": "Users with superadmin role can update any company. Users with admin role (and not having superadmin role) can only update their own company.\n</br> Default and Terminated companies can't be renamed, and their name can't be use to rename another company\n</br> `Sooner or later it will be unnecessary to manage each customization parameter individually. It will be necessary to create and/or apply customization templates.</br> AdminService::getAllAvailableCustomisationTemplates().`",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "Allows to return selectedTheme attribute as an object:\n</br> * true returns selectedTheme as an object (e.g. { \"light\": \"60104754c8fada2ad4be3e48\", \"dark\": \"5ea304e4359c0e6815fc8b57\" }),\n</br> * false return selectedTheme as a string.",
        "name": "selectedThemeObj"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "Object with company's properties to update. : {\n {string} name Company name\n {string} country Company country (ISO 3166-1 alpha3 format)\n {string} street Company street\n {string} city Company city\n {string} state When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.\n {string} postalCode Company postal code\n {string} offerType Company offer type.\n</br> Companies with offerType=`freemium` are not able to subscribe to paid offers, they must be `premium` to do so.\n</br> Only `superadmin` can set offerType from `premium` to `freemium`.\n</br> Possibles values : `freemium`, `premium`\n {string} currency Company currency, for payment of premium offers (ISO 4217 format)\n</br> For now, only USD, EUR and CNY are supported\n</br> Only settable by `superadmin`\n</br> Possibles values : `USD`, `EUR`, `CNY`\n {string} status Company status.\n</br> If company status is `initializing`, only `superadmin` can change the status value.\n</br> Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated`\n {string} visibility Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).\n</br> * `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n</br> * `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users\n</br> * `organization`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users\n</br> * `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users\n</br> * `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users\n</br> * `hotspot`: User can be searched by hotspot attached company's users (users from any company if the user belong to the default company) / can't search any users (even in their company) or user can't invite external users / can be invited by hotspot attached company's users (users from any company if the user belong to the default company)\n</br>     * currently `hotspot` visibility can only be set on the default company, and with superadmin role (development of `hotspot` visibility is partially done, only for default company in the context of RQRAINB-7456)\n</br>\n</br> External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.\n</br>\n</br> Note related to organisation visibility:\n</br>\n</br> * Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.\n</br> * The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.\n</br>\n</br> Default value : `private`. Possibles values : `public`, `private`, `organization`, `closed`, `isolated`, `hotspot`\n {string[]} visibleBy If visibility is private or organisation, list of company ids for which visibility is allowed\n {string} adminEmail Company contact person email. adminEmail is case sentive. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`\n {string} supportEmail Company support email. supportEmail is case sensitive. supportEmail `should be provided if company to create is a VAD or a DR`. Possibles values : `\"/^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,4})$/\"`\n {string} supportUrlFAQ Company support url\n {string} companyContactId User Id of a Rainbow user which is the contact for this company\n {boolean} disableCCareAdminAccess When True, disables the access to the customer care logs for admins of this company.\n</br> Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true.\n</br> `disableCCareAdminAccess` can only be set:\n</br> * by `superadmin` (all companies),\n</br> * by `bp_admin` or `bp_finance` for the companies he manages,\n</br> * by `organization_admin` for the BP companies he manages.\n</br> * by `organization_admin` for the companies he manages.\n {boolean} disableCCareAdminAccessCustomers When True, disables the access to the customer care logs for admins of all the customers company.\n</br> This setting is only applicable for BP companies (`isBP`=true)\n</br> * If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.\n</br> * If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.\n</br>     Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it).\n</br>     `disableCCareAdminAccessCustomers` can only be set:\n</br> * by `superadmin` (all BP companies),\n</br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n</br> * by `organization_admin` for the BP companies he manages,\n</br> * by `company_admin` for the BP company he manages.\n {boolean} disableCCareAdminAccessResellers When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.\n</br> This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)\n</br> Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.\n</br> Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it).\n</br> `disableCCareAdminAccessResellers` can only be set:\n</br> * by `superadmin` (all BP VAD companies),\n</br> * by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages,\n</br> * by `organization_admin` for the BP VAD companies he manages,\n</br> * by `company_admin` for the BP VAD company he manages.\n {boolean} autoAcceptUserInvitations Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled). Default value : true\n {boolean} autoAddToUserNetwork Allow to enable or disable the auto addition to user's network between users of this company (default false: disabled). Default value : false\n {boolean} contentPolicyLifeTime When different from -1 it activates content removal for all user of this companies with a content lifetime equals to contentPolicyLifeTime in minutes. Default value : -1\n {boolean} documentGracePeriod When content removal is active for the organisation it represents the period in minutes where a document is still available event if it's content policy lifetime has expired * @apiParam (BodyParameters) {Boolean} [userSelfRegisterEnabled=true] Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process Default value : 14400\n {string[]} userSelfRegisterAllowedDomains Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true)\n {string} slogan A free string corresponding to the slogan of the company\n {string} description A free string that describes the company (2000 char length)\n {string} size An overview of the number of employees. Default value : `self-employed`. Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"`\n {string} economicActivityClassification\n</br> * `A`: AGRICULTURE, FORESTRY AND FISHING\n</br> * `B`: MINING AND QUARRYING\n</br> * `C`: MANUFACTURING\n</br> * `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY\n</br> * `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES\n</br> * `F`: CONSTRUCTION\n</br> * `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES\n</br> * `H`: TRANSPORTATION AND STORAGE\n</br> * `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES\n</br> * `J`: INFORMATION AND COMMUNICATION\n</br> * `K`: FINANCIAL AND INSURANCE ACTIVITIES\n</br> * `L`: REAL ESTATE ACTIVITIES\n</br> * `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES\n</br> * `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES\n</br> * `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY\n</br> * `P`: EDUCATION\n</br> * `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES\n</br> * `R`: ARTS, ENTERTAINMENT AND RECREATION\n</br> * `S`: OTHER SERVICE ACTIVITIES\n</br> * `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE\n</br> * `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES\n</br>\n</br> Possibles values : `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"`\n {string}  website Company website url\n {boolean} giphyEnabled Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations). `This field is deprecated.` Manage instead **useGifCustomisation field!**\n {string} catalogId Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe.\n</br> When a new company is created, if no catalogId is specified the company is automatically linked to the default catalog.\n</br> When a `bp_admin>` or `bp_finance>` creates a company, catalogId of this new company is automatically set to BP company's catalogId.\n</br> When an `organization_admin>` creates a company, catalogId of this new company is automatically set to organization_admin's company's catalogId.\n</br>\n</br> Only `superadmin` can set a different catalogId to a company.\n {boolean} adminCanSetCustomData Whether or not administrators can set customData field for their own company.\n</br> adminCanSetCustomData can only be set:\n</br>     by `superadmin` (all companies),\n</br>     by `bp_admin` or `bp_finance` for the companies he manages,\n</br>     by `organization_admin` for the companies he manages.\n {any} customData Company's custom data.\n</br> Object with free keys/values.\n</br> It is up to the client to manage the company's customData (new customData provided overwrite the existing one).\n</br>\n</br> Restrictions on customData Object:\n</br> - max 10 keys,\n</br> - max key length: 64 characters,\n</br> - max value length: 512 characters.\n</br>\n</br>\n</br> Company customData can only be created/updated by:\n</br> - \\`superadmin\\` (all companies),\n</br> - \\`bp\\_admin\\` or \\`bp\\_finance\\` for the companies he manages (except his company if its \\`adminCanSetCustomData\\` setting is not set to true),\n</br> - \\`organization_admin\\` for the companies he manages,\n</br> - \\`company\\_admin\\` for his own company if its \\`adminCanSetCustomData\\` setting is set to true (setting that can only be set by a superadmin, his bp\\_admin, bp\\_finance or organization\\_admin) or if he has the feature \\`ADMIN\\_CAN\\_SET\\_CUSTOM\\_DATA\\` (if the feature is enabled, it overwrites the value of the company setting).\n {string} bpId Link the company to the corresponding Business partner company.\n</br> `bpId` must correspond to a valid company having `isBP` equal to true.\n</br> Only directly settable by `superadmin`.\n</br> If the company is `created` by a `bp_admin` or a `bp_finance`, `bpId` is automatically set to BP company id.\n</br> For existing companies, `bp_admin` must use invitation mechanism to a company admin in order to request a link of this company company to his BP company.\n </br> Can only be set by `superadmin` or `bp_finance` of the related company.\n {boolean} adminHasRightToUpdateSubscriptions In the case the company is linked to a Business Partner company, indicates if the `bp_finance` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).\n</br> Can only be set by `superadmin` or `bp_finance` of the related company.\n {string} adminAllowedUpdateSubscriptionsOps In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_finance` allows the `company_admin` to perform on the subscriptions of his company.\n</br> Can only be set by `superadmin` or `bp_finance` of the related company.\n</br> Possible values:\n</br> - `all: company_admin is allowed to perform all update operations on the subscriptions of his company\n</br> - `increase_only: company_admin is only allowed to increase` maxNumberUsers` on the subscriptions of his company (decrease is forbidden)\n</br> - 'monthly': company_admin is only allowed to manage monthly subscription (increase and decrease)\n</br>\n</br> Possibles values : `all`, `increase_only`, `monthly`\n {boolean} isBP Indicates if the company is a Business partner company\n</br> Only settable by `superadmin`\n {string} bpType Indicates BP Company type\n</br> - `IR`: Indirect Reseller,\n</br> - `VAD`: Value Added Distributor,\n</br> - `DR`: Direct Reseller.\n</br>     Only applicable if `isBP` is true.\n</br>     Only settable by `superadmin`.\n</br>\n</br> Possibles values : `IR`, `VAD`, `DR`\n {string} bpBusinessModel Indicates BP business model\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.\n</br>\n</br> Possibles values : `referral`, `resell`\n {string} bpApplicantNumber Reference of the Business Partner in ALE Finance tools (SAP)\n</br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n</br> Only settable by `superadmin`.\n {string} bpCRDid Reference of the Business Partner in CDR\n</br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n</br> If `bpCRDid` is not defined, BP won't be able to sell (i.e. `bpHasRightToSell` can't be set to true)\n</br> Only settable by `superadmin`.\n {boolean} bpHasRightToSell Indicates if the Business has the right to sell\n</br> Only applicable if `isBP` is true and `bpType` is DR or VAD.\n</br> Only applicable if `bpCRDid` is defined.\n</br> Only settable by `superadmin`.\n {boolean} bpHasRightToConnect When True \\[Default\\], the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.\n {boolean} bpHasRightForBYOT When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.\n {string} preferredSipLoadBalancerId Indicates the identifier of the preferred SIP Load Balancer (Rainbow Hub context ; used for HybridTrunks of associated ECs)\n</br> Only applicable if `isBP` is true.\n</br> Only settable by `superadmin`.\n {boolean} bpIsContractAccepted Indicates if the Business has accepted the contract and can sell Rainbow offers\n</br> Should be set by `bp_admin` or `bp_finance`.\n</br> Only applicable if `isBP` is true.\n</br>\n</br> Default value : `false`\n {string} externalReference Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n</br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.\n {string} externalReference2 Free field that BP can use to link their Indirect Resellers / End Customers to their IS/IT tools\n</br> Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies.\n {string} salesforceAccountId Curstomer's Salesforce reference.\n</br> Only settable by users with `superadmin` or `business_admin` role(s).\n {string} avatarShape Company's avatar customization\n isCentrex Indicates if the company is one tenant of a multi-tenant call server (OXE - OTEC-S or third_party) (default: false)\n {string} companyCallNumber If isCentrex = true, this is the company access number \\[multi-company call + company Area, ex: 8 210, 8 211\\]\n {string} superadminComment Free field that only `superadmin` can use.\n {string[]} bpBusinessType Business type(s) that can be sold by a BP. Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default`.\n {string} billingModel Billing model that can be subscribed for this company. Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y`\n {boolean} allowUsersSelectTheme Allow users of this company to select a theme among the ones available (owned or visible by the company). Default value : `true`\n {boolean} allowUsersSelectPublicTheme Allow users of this company to select a public theme. Default value : `true`\n {any} selectedTheme selectedTheme Object to set the selected theme(s) for users of the company.\n</br> * light optionnel String Set the selected theme light for users of the company.\n</br> * dark optionnel String Set the selected theme dark for users of the company.\n {boolean}  mobilePermanentConnectionMode deactivate push mode for mobile devices.\n</br> When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.\n</br> For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company.\n</br>\n</br> Default value : `false`\n {string} alertNotificationReception Activate/Deactivate the capability for a user to receive alert notification.\n</br> Define if a user has the right to receive alert notification\n</br> alertNotificationReception can be:\n</br>\n</br> - `enabled`: Each user of the company can receive alert notification.\n</br> - `disabled`: No user of the company can receive alert notification.\n</br>\n</br> Default value : `disabled`. Possibles values : `enabled`, `disabled`\n {string} alertNotificationSending Activate/Deactivate the capability for a user to send alert notification.\n</br> Define if a user has the right to send alert notification\n</br> alertNotificationSending can be:\n</br>\n</br> - `enabled`: Each user of the company can send alert notification.\n</br> - `disabled`: No user of the company can send alert notification.\n</br>\n</br> Default value : `disabled`. Possibles values : `enabled`, `disabled`\n {string} useDialOutCustomisation Activate/Deactivate the capability for a user to use dial out in phone meetings.\n</br> Define if a user is allowed to be called by the Rainbow conference bridge.\n</br> useDialOutCustomisation can be:\n</br>\n</br> - `enabled`: The user can be called by the Rainbow conference bridge.\n</br> - `disabled`: The user can't be called by the Rainbow conference bridge.\n</br>\n</br> Default value : `enabled`. Possibles values : `enabled`, `disabled`\n {boolean} allowDeviceFirmwareSelection Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. Default value : `false`\n {string} selectedDeviceFirmware Cloudpbx default device firmware\n</br> - `released`: Default value, device firmware will be the official released one.\n</br> - `latest`: Device firmware can be a more up to date binary (e.g. early adopters)\n</br>     If allowed by `superadmin`, `company admin` can then select the kind of firmware for all the users, or only for some of them.\n</br>\n</br> Default value : `released` Possibles values : `released`, `latest`\n {string} cloudPbxVoicemailToEmail Cloudpbx email notification type when receiving a voicemail. Default value : `none`. Possibles values : `none`, `simple`, `complete`\n {any} businessData businessData optionnel Object\n</br> Set the business data of the company.\n</br> Only settable by users with `superadmin` or `business_admin` role(s).\n</br>\n</br> region optionnel String  Set the region of the company.\n</br> cluster optionnel String Set the cluster of the company.\n</br> area optionnel String Set the area of the company.\n</br> country optionnel String Set the business country of the company.\n {string} defaultLicenseGroup Group of license to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Enterprise, Business ...)\n {string[]} defaultOptionsGroups List of options to assign to user when finalizing his account. Should be one of offers' groupName (e.g. Alert ...)\n {any} selectedThemeCustomers selectedThemeCustomers optionnel Object\n</br> Set the selected theme(s) for customers of this BP company.\n</br> This param only applies for BP companies.\n</br> * light optionnel String Set the selected theme light for customers of this BP company.\n</br> * dark optionnel String Set the selected theme dark for customers of this BP company.\n</br> * locked optionnel Boolean Allow to lock selected theme for customers. If true, customers won't be able to create or set another theme that the one selected by BP.\n {boolean} allowTeamsToDesktopSso uperadmin allows if Teams add-in uses sso to login in desktop app for all company users. Default value : true\n {boolean} cloudPbxRecordingInboundOnly When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded Default value : `true`\n {number} supervisionGroupMaxSize Maximum number of users a company can supervise. Default value : `1500`\n {number} supervisionGroupMaxNumber Maximum number of supervision groups a supervisor can belong to. Default value : 5\n {number} supervisionGroupMaxUsers Maximum number of users in a supervision group (supervisor included). Default value : `30`\n {string} timezone User timezone name\n</br> Allowed values: one of the timezone names defined in IANA tz database (https://www.iana.org/time-zones)\n</br> Timezone name are composed as follow: `Area/Location` (ex: Europe/Paris, America/New_York,...)\n {boolean} sendPrepaidSubscriptionsNotification Indicates if company_admin should receive email notification about prepaid subscriptions expiring soon. Used only on end customer companies\n {boolean} ddiReadOnly Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies.\n</br> This parameter can only be set by VAD `bp_admin` or `superadmin`.\n {boolean} allowPhoneNumbersVisibility Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. Default value : `false`.\n {string[]} csEmailList A list of Customer Success email addresses (maximum length : 10).\n {string[]} seEmailList A list of System Engineer email addresses (maximum length : 10).\n {string[]} csmEmailList A list of Channel Sales Manager email addresses (maximum length : 10).\n {string[]} kamEmailList A list of Key Account Manager email addresses (maximum length : 10).\n</br> These fields can only be set by a `business_admin` or a `superadmin`.\n {string} businessSpecific Allow to specify if company has access to specific offers. Only settable by superadmin or business_admin. Possibles values : UGAP.\n {string} adminServiceNotificationsLevel Level of service notification that admin should see. Possibles values : `high`, `medium`, `low`.\n }",
        "name": "companyInfoToUpdate"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | String | Company unique identifier |\n| creationDate | Date-Time | Company creation date (Read only) |\n| statusUpdatedDate | Date-Time | Date of last company status update (Read only) |\n| lastAvatarUpdateDate | Date-Time | Date of last company avatar update (Read only) |\n| name | String | Company name |\n| country optionnel | String | Company country (ISO 3166-1 alpha3 format)<br><br>The list of allowed countries can be obtained using the API AdminService::getListOfCountries() |\n| street optionnel | String | Company street<br><br>Ordre de grandeur : `0..255` |\n| city optionnel | String | Company city<br><br>Ordre de grandeur : `0..255` |\n| state optionnel | String | When country is 'USA' or 'CAN', a state must be defined. Else it is not managed.<br><br>The list of allowed states can be obtained using the API AdminService::getListOfCountries() for the associated countries.<br><br>* List of allowed states for `USA`:<br>    * `AA`: \"Armed Forces America\",<br>    * `AE`: \"Armed Forces\",<br>    * `AP`: \"Armed Forces Pacific\",<br>    * `AK`: \"Alaska\",<br>    * `AL`: \"Alabama\",<br>    * `AR`: \"Arkansas\",<br>    * `AZ`: \"Arizona\",<br>    * `CA`: \"California\",<br>    * `CO`: \"Colorado\",<br>    * `CT`: \"Connecticut\",<br>    * `DC`: Washington DC\",<br>    * `DE`: \"Delaware\",<br>    * `FL`: \"Florida\",<br>    * `GA`: \"Georgia\",<br>    * `GU`: \"Guam\",<br>    * `HI`: \"Hawaii\",<br>    * `IA`: \"Iowa\",<br>    * `ID`: \"Idaho\",<br>    * `IL`: \"Illinois\",<br>    * `IN`: \"Indiana\",<br>    * `KS`: \"Kansas\",<br>    * `KY`: \"Kentucky\",<br>    * `LA`: \"Louisiana\",<br>    * `MA`: \"Massachusetts\",<br>    * `MD`: \"Maryland\",<br>    * `ME`: \"Maine\",<br>    * `MI`: \"Michigan\",<br>    * `MN`: \"Minnesota\",<br>    * `MO`: \"Missouri\",<br>    * `MS`: \"Mississippi\",<br>    * `MT`: \"Montana\",<br>    * `NC`: \"North Carolina\",<br>    * `ND`: \"North Dakota\",<br>    * `NE`: \"Nebraska\",<br>    * `NH`: \"New Hampshire\",<br>    * `NJ`: \"New Jersey\",<br>    * `NM`: \"New Mexico\",<br>    * `NV`: \"Nevada\",<br>    * `NY`: \"New York\",<br>    * `OH`: \"Ohio\",<br>    * `OK`: \"Oklahoma\",<br>    * `OR`: \"Oregon\",<br>    * `PA`: \"Pennsylvania\",<br>    * `PR`: \"Puerto Rico\",<br>    * `RI`: \"Rhode Island\",<br>    * `SC`: \"South Carolina\",<br>    * `SD`: \"South Dakota\",<br>    * `TN`: \"Tennessee\",<br>    * `TX`: \"Texas\",<br>    * `UT`: \"Utah\",<br>    * `VA`: \"Virginia\",<br>    * `VI`: \"Virgin Islands\",<br>    * `VT`: \"Vermont\",<br>    * `WA`: \"Washington\",<br>    * `WI`: \"Wisconsin\",<br>    * `WV`: \"West Virginia\",<br>    * `WY`: \"Wyoming\"<br>* List of allowed states for `CAN`:<br>    * `AB`: \"Alberta\",<br>    * `BC`: \"British Columbia\",<br>    * `MB`: \"Manitoba\",<br>    * `NB`: \"New Brunswick\",<br>    * `NL`: \"Newfoundland and Labrador\",<br>    * `NS`: \"Nova Scotia\",<br>    * `NT`: \"Northwest Territories\",<br>    * `NU`: \"Nunavut\",<br>    * `ON`: \"Ontario\",<br>    * `PE`: \"Prince Edward Island\",<br>    * `QC`: \"Quebec\",<br>    * `SK`: \"Saskatchewan\",<br>    * `YT`: \"Yukon\"<br><br>Possibles values : `null`, `\"AA\"`, `\"AE\"`, `\"AP\"`, `\"AK\"`, `\"AL\"`, `\"AR\"`, `\"AZ\"`, `\"CA\"`, `\"CO\"`, `\"CT\"`, `\"DC\"`, `\"DE\"`, `\"FL\"`, `\"GA\"`, `\"GU\"`, `\"HI\"`, `\"IA\"`, `\"ID\"`, `\"IL\"`, `\"IN\"`, `\"KS\"`, `\"KY\"`, `\"LA\"`, `\"MA\"`, `\"MD\"`, `\"ME\"`, `\"MI\"`, `\"MN\"`, `\"MO\"`, `\"MS\"`, `\"MT\"`, `\"NC\"`, `\"ND\"`, `\"NE\"`, `\"NH\"`, `\"NJ\"`, `\"NM\"`, `\"NV\"`, `\"NY\"`, `\"OH\"`, `\"OK\"`, `\"OR\"`, `\"PA\"`, `\"PR\"`, `\"RI\"`, `\"SC\"`, `\"SD\"`, `\"TN\"`, `\"TX\"`, `\"UT\"`, `\"VA\"`, `\"VI\"`, `\"VT\"`, `\"WA\"`, `\"WI\"`, `\"WV\"`, `\"WY\"`, `\"AB\"`, `\"BC\"`, `\"MB\"`, `\"NB\"`, `\"NL\"`, `\"NS\"`, `\"NT\"`, `\"NU\"`, `\"ON\"`, `\"PE\"`, `\"QC\"`, `\"SK\"`, `\"YT\"` |\n| postalCode optionnel | String | Company postal code<br><br>Ordre de grandeur : `0..64` |\n| currency optionnel | String | Company currency, for payment of premium offers (ISO 4217 format)  <br>For now, only USD, EUR and CNY are supported<br><br>Ordre de grandeur : `3`<br><br>Possibles values : `USD`, `EUR`, `CNY` |\n| status | String | Company status<br><br>Possibles values : `initializing`, `active`, `alerting`, `hold`, `terminated` |\n| visibility optionnel | string | Company visibility (define if users being in this company can be searched by users being in other companies and if the user can search users being in other companies).<br><br>* `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users<br>* `organisation`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users<br>* `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users<br>* `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users<br>* `none`: Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users<br><br>External users mean public user not being in user's company nor user's organisation nor a company visible by user's company.<br><br>Note related to organisation visibility:<br><br>* Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation.<br>* The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies.<br><br>Default value : `private`<br><br>Possibles values : `public`, `private`, `organisation`, `closed`, `isolated` |\n| visibleBy | String\\[\\] | If visibility is private, list of companyIds for which visibility is allowed |\n| adminEmail optionnel | String | Company contact person email |\n| supportEmail optionnel | String | Company support email |\n| supportUrlFAQ optionnel | String | Company support URL |\n| companyContactId optionnel | String | User Id of a Rainbow user which is the contact for this company |\n| disableCCareAdminAccess optionnel | Boolean | When True, disables the access to the customer care logs for admins of this company.  <br>Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. |\n| disableCCareAdminAccessCustomers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the customers company.  <br>This setting is only applicable for BP companies (`isBP`=true)<br><br>* If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies.<br>* If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.  <br>    Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). |\n| disableCCareAdminAccessResellers optionnel | Boolean | When True, disables the access to the customer care logs for admins of all the BP IRs companies linked to the BP VAD and their customers company.  <br>This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`)  <br>Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers.  <br>Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). |\n| autoAcceptUserInvitations optionnel | Boolean | Allow to enable or disable the auto-acceptation of user invitations between users of this company (default true: enabled) |\n| userSelfRegisterEnabled | Boolean | Allow users with email domain matching 'userSelfRegisterAllowedDomains' to join the company by self-register process |\n| userSelfRegisterAllowedDomains | String\\[\\] | Allow users with email domain matching one of the values of this array to join the company by self-register process (if userSelfRegisterEnabled is true) |\n| slogan optionnel | String | A free string corresponding to the slogan of the company (255 char length) |\n| description optionnel | String | A free string that describes the company (2000 char length) |\n| size | String | An overview of the number of employees<br><br>Possibles values : `\"self-employed\"`, `\"1-10 employees\"`, `\"11-50 employees\"`, `\"51-200 employees\"`, `\"201-500 employees\"`, `\"501-1000 employees\"`, `\"1001-5000 employees\"`, `\"5001-10,000 employees\"`, `\"10,001+ employees\"` |\n| economicActivityClassification optionnel | String | * `A`: AGRICULTURE, FORESTRY AND FISHING<br>* `B`: MINING AND QUARRYING<br>* `C`: MANUFACTURING<br>* `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY<br>* `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES<br>* `F`: CONSTRUCTION<br>* `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES<br>* `H`: TRANSPORTATION AND STORAGE<br>* `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES<br>* `J`: INFORMATION AND COMMUNICATION<br>* `K`: FINANCIAL AND INSURANCE ACTIVITIES<br>* `L`: REAL ESTATE ACTIVITIES<br>* `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES<br>* `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES<br>* `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY<br>* `P`: EDUCATION<br>* `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES<br>* `R`: ARTS, ENTERTAINMENT AND RECREATION<br>* `S`: OTHER SERVICE ACTIVITIES<br>* `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE<br>* `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES<br><br>Possibles values : `\"NONE\"`, `\"A\"`, `\"B\"`, `\"C\"`, `\"D\"`, `\"E\"`, `\"F\"`, `\"G\"`, `\"H\"`, `\"I\"`, `\"J\"`, `\"K\"`, `\"L\"`, `\"M\"`, `\"N\"`, `\"O\"`, `\"P\"`, `\"Q\"`, `\"R\"`, `\"S\"`, `\"T\"`, `\"U\"` |\n| giphyEnabled optionnel | Boolean | Whether or not giphy feature is enabled for users belonging to this company (possibility to use animated gifs in conversations) |\n| website optionnel | String | Company website URL |\n| organisationId | String | Optional identifier to indicate the company belongs to an organisation |\n| catalogId | String | Id of the catalog of Rainbow offers to which the company is linked. The catalog corresponds to the list of offers the company can subscribe. |\n| bpId | String | Optional identifier which links the company to the corresponding Business partner company |\n| adminHasRightToUpdateSubscriptions optionnel | Boolean | In the case the company is linked to a Business Partner company, indicates if the `bp_admin` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`).  <br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company. |\n| adminAllowedUpdateSubscriptionsOps optionnel | String | In the case the company is linked to a Business Partner company and `adminHasRightToUpdateSubscriptions` is enabled, indicates the update operations for which the `bp_admin` allows the `company_admin` to perform on the subscriptions of his company.<br><br>Can only be set by `superadmin` or `bp_admin`/`bp_finance` of the related company.<br><br>Possible values:<br><br>* `all`: company_admin is allowed to perform all update operations on the subscriptions of his company<br>* `increase_only`: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden)<br><br>Possibles values : `all`, `increase_only` |\n| isBP | Boolean | Indicates if the company is a Business partner company<br><br>Default value : `false` |\n| bpType optionnel | String | Indicates BP Company type<br><br>* `IR`: Indirect Reseller,<br>* `VAD`: Value Added Distributor,<br>* `DR`: Direct Reseller.<br><br>Possibles values : `IR`, `VAD`, `DR` |\n| bpBusinessModel optionnel | String | Indicates BP business model |\n| bpApplicantNumber optionnel | String | Reference of the Business Partner in ALE Finance tools (SAP) |\n| bpCRDid optionnel | String | Reference of the Business Partner in CDR |\n| bpHasRightToSell optionnel | Boolean | Indicates if the Business has the right to sell |\n| bpHasRightToConnect optionnel | Boolean | When True, the BP can connect CPE equipment of managed companies. So when False, the \"equipment\" tab should be removed from the admin GUI |\n| bpHasRightForBYOT optionnel | Boolean | When True, the BP can create a SIP Hybrid Trunk for its managed companies (means that Bring Your Own Trunk feature is available for the BP). So when False, the \"hybrid trunk\" tab should be removed from the admin GUI |\n| preferredSipLoadBalancerId optionnel | String | This attribute is only for BP and useful only in Rainbow Hub context. It indicates preferred SIP Load Balancer identifier to be used (if any). |\n| bpIsContractAccepted optionnel | Boolean | Indicates if the Business has accepted the contract and can sell Rainbow offers |\n| bpContractAcceptationInfo optionnel | Object | If the Business has accepted the contract, indicates who accepted the contract, Only visible by `superadmin` and `support`. |\n| acceptationDate | Date-Time | Date of contract acceptation by the BP admin |\n| bpAdminId | String | User Id of the BP admin who accepted the contract |\n| offerType | String | Allowed company offer types<br><br>Possibles values : `freemium`, `premium` |\n| bpAdminLoginEmail | String | User loginEmail of the BP admin who accepted the contract |\n| businessSpecific optionnel | String | When the customer has subscribed to specific business offers, this field is set to the associated specific business (ex: HDS for HealthCare business specific)<br><br>Possibles values : `HDS` |\n| externalReference optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n| externalReference2 optionnel | String | Free field that BP can use to link their customers to their IS/IT tools  <br>Only applicable by `superadmin` or by `bp_admin`/`bp_finance` on one of his customer companies.<br><br>Ordre de grandeur : `0..64` |\n| avatarShape optionnel | String | Company's avatar customization<br><br>Possibles values : `square`, `circle` |\n| allowUsersSelectTheme | Boolean | Allow users of this company to select a theme among the ones available (owned or visible by the company). |\n| allowUsersSelectPublicTheme | Boolean | Allow users of this company to select a public theme. |\n| selectedTheme optionnel | Object | Set the selected theme(s) for users of the company. |\n| light optionnel | String | Set the selected theme light for users of the company. |\n| dark optionnel | String | Set the selected theme dark for users of the company. |\n| adminCanSetCustomData optionnel | Boolean | Whether or not administrators can set `customData` field for their own company. |\n| isLockedByBp optionnel | Boolean | Whether or not BP company has locked themes so that indicates if company admin can manage themes (create/update/delete). |\n| superadminComment optionnel | String | Free field that only `superadmin` can see<br><br>Ordre de grandeur : `0..256` |\n| bpBusinessType optionnel | String\\[\\] | Business type that can be sold by a BP.<br><br>Possibles values : `voice_by_partner`, `voice_by_ale`, `conference`, `default` |\n| billingModel optionnel | String | Billing model that can be subscribed for this company.<br><br>Possibles values : `monthly`, `prepaid_1y`, `prepaid_3y`, `prepaid_5y` |\n| office365Tenant optionnel | String | Office365 tenant configured for this company. |\n| office365ScopesGranted optionnel | String\\[\\] | Scopes granted to Rainbow for usage of Microsoft Office365 APIs.  <br>If no office365Tenant is set or if admin has not granted access of Office365 APIs to Rainbow for the configured office365Tenant, office365ScopesGranted is set to an empty Array.  <br>Otherwise, office365ScopesGranted lists the scopes requested by Rainbow to use Office365 APIs for the configured office365Tenant. This field can be used to determine if the admin must re-authenticate to Microsoft Office365 in the case new scopes are requested for Rainbow application (scopes requested for the current version of office365-portal are listed in API GET /api/rainbow/office365/v1.0/consent).<br><br>Possibles values : `directory`, `calendar` |\n| mobilePermanentConnectionMode | Boolean | deactivate push mode for mobile devices.  <br>When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.  <br>For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. |\n| fileSharingCustomisation | String | Activate/Deactivate file sharing capability per company  <br>Define if the company can use the file sharing service then, allowed to download and share file.  <br>FileSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can use the file sharing service, except when his own capability is set to 'enabled'. When one user of the company has the capability 'fileSharingCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| userTitleNameCustomisation | String | Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company  <br>Define if the company allows his users to change some profile data.  <br>userTitleNameCustomisation can be:<br><br>* `enabled`: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.<br>* `disabled`: No user of the company can change some profile data, except when his own capability is set to 'enabled'. When one user of the company has the capability 'userTitleNameCustomisation' set to 'same\\_than\\_company', his capability follow the company setting. |\n| softphoneOnlyCustomisation | String | Activate/Deactivate the capability for an UCaas application not to offer all Rainbow services and but to focus to telephony services.  <br>Define if UCaas apps used by a user of this company must provide Softphone functions, i.e. no chat, no bubbles, no meetings, no channels, and so on.  <br>softphoneOnlyCustomisation can be:<br><br>* `enabled`: The user switch to a softphone mode only.<br>* `disabled`: The user can use telephony services, chat, bubbles, channels meeting services and so on. |\n| useRoomCustomisation | String | Activate/Deactivate the capability for a user to use bubbles.  <br>Define if a user can create bubbles or participate in bubbles (chat and web conference).  <br>useRoomCustomisation can be:<br><br>* `enabled`: Each user of the company can use bubbles.<br>* `disabled`: No user of the company can use bubbles. |\n| phoneMeetingCustomisation | String | Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).  <br>Define if a user has the right to join phone meetings.  <br>phoneMeetingCustomisation can be:<br><br>* `enabled`: Each user of the company can join phone meetings.<br>* `disabled`: No user of the company can join phone meetings. |\n| useChannelCustomisation | String | Activate/Deactivate the capability for a user to use a channel.  <br>Define if a user has the right to create channels or be a member of channels.  <br>useChannelCustomisation can be:<br><br>* `enabled`: Each user of the company can use some channels.<br>* `disabled`: No user of the company can use some channel. |\n| useScreenSharingCustomisation | String | Activate/Deactivate the capability for a user to share a screen.  <br>Define if a user has the right to share his screen.  <br>useScreenSharingCustomisation can be:<br><br>* `enabled`: Each user of the company can share his screen.<br>* `disabled`: No user of the company can share his screen. |\n| useWebRTCVideoCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.  <br>Define if a user has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC video conversation.<br>* `disabled`: No user of the company can switch to a Web RTC video conversation. |\n| useWebRTCAudioCustomisation | String | Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.  <br>Define if a user has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).  <br>useWebRTCVideoCustomisation can be:<br><br>* `enabled`: Each user of the company can switch to a Web RTC audio conversation.<br>* `disabled`: No user of the company can switch to a Web RTC audio conversation. |\n| instantMessagesCustomisation | String | Activate/Deactivate the capability for a user to use instant messages.  <br>Define if a user has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.  <br>instantMessagesCustomisation can be:<br><br>* `enabled`: Each user of the company can use instant messages.<br>* `disabled`: No user of the company can use instant messages. |\n| userProfileCustomisation | String | Activate/Deactivate the capability for a user to modify his profile.  <br>Define if a user has the right to modify the globality of his profile and not only (title, firstName, lastName).  <br>userProfileCustomisation can be:<br><br>* `enabled`: Each user of the company can modify his profile.<br>* `disabled`: No user of the company can modify his profile. |\n| fileStorageCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow file storage.  <br>Define if a user has the right to upload/download/copy or share documents.  <br>fileStorageCustomisation can be:<br><br>* `enabled`: Each user of the company can manage and share files.<br>* `disabled`: No user of the company can manage and share files. |\n| overridePresenceCustomisation | String | Activate/Deactivate the capability for a user to change manually his presence.  <br>Define if a user has the right to change his presence manually or only use automatic states.  <br>overridePresenceCustomisation can be:<br><br>* `enabled`: Each user of the company can change his presence.<br>* `disabled`: No user of the company can change his presence. |\n| alertNotificationReception | String | Activate/Deactivate the capability for a user to receive alert notification.  <br>Define if a user has the right to receive alert notification  <br>alertNotificationReception can be:<br><br>* `enabled`: Each user of the company can receive alert notification.<br>* `disabled`: No user of the company can receive alert notification. |\n| alertNotificationSending | String | Activate/Deactivate the capability for a user to send alert notification.  <br>Define if a user has the right to send alert notification  <br>alertNotificationSending can be:<br><br>* `enabled`: Each user of the company can send alert notification.<br>* `disabled`: No user of the company can send alert notification. |\n| changeTelephonyCustomisation | String | Activate/Deactivate the ability for a user to modify some telephony settings.  <br>Define if a user has the right to modify telephony settings like forward activation ....  <br>changeTelephonyCustomisation can be:<br><br>* `enabled`: The user can modify telephony settings.<br>* `disabled`: The user can't modify telephony settings. |\n| changeSettingsCustomisation | String | Activate/Deactivate the ability for a user to change all client general settings.  <br>Define if a user has the right to change his client general settings.  <br>changeSettingsCustomisation can be:<br><br>* `enabled`: The user can change all client general settings.<br>* `disabled`: The user can't change any client general setting. recordingConversationCustomisation Activate/Deactivate the capability for a user to record a conversation.  <br>    Define if a user has the right to record a conversation (for P2P and multi-party calls).  <br>    recordingConversationCustomisation can be:<br>* `enabled`: The user can record a peer to peer or a multi-party call.<br>* `disabled`: The user can't record a peer to peer or a multi-party call. |\n| useGifCustomisation | String | Activate/Deactivate the ability for a user to Use GIFs in conversations.  <br>Define if a user has the is allowed to send animated GIFs in conversations  <br>useGifCustomisation can be:<br><br>* `enabled`: The user can send animated GIFs in conversations.<br>* `disabled`: The user can't send animated GIFs in conversations. |\n| useDialOutCustomisation | String | Activate/Deactivate the capability for a user to use dial out in phone meetings.  <br>Define if a user is allowed to be called by the Rainbow conference bridge.  <br>useDialOutCustomisation can be:<br><br>* `enabled`: The user can be called by the Rainbow conference bridge.<br>* `disabled`: The user can't be called by the Rainbow conference bridge. |\n| fileCopyCustomisation | String | Activate/Deactivate the capability for a user to copy files  <br>Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.  <br>fileCopyCustomisation can be:<br><br>* `enabled`: The user can make a copy of a file to his personal cloud space.<br>* `disabled`: The user can't make a copy of a file to his personal cloud space. |\n| fileTransferCustomisation | String | Activate/Deactivate the ability for a user to transfer files.  <br>Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.  <br>fileTransferCustomisation can be:<br><br>* `enabled`: The user can transfer a file doesn't belong to him.<br>* `disabled`: The user can't transfer a file doesn't belong to him. |\n| forbidFileOwnerChangeCustomisation | String | Activate/Deactivate the ability for a user to loose the ownership on one file.  <br>Define if one or all users can drop the ownership of a file to another Rainbow user of the same company  <br>forbidFileOwnerChangeCustomisation can be:<br><br>* `enabled`: The user can't give the ownership of his file.<br>* `disabled`: The user can give the ownership of his file. |\n| readReceiptsCustomisation | String | Activate/Deactivate the capability for a user to allow a sender to check if a chat message is read.  <br>Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.  <br>This right is used by Ucaas or Cpaas application to show either or not a message is acknowledged. No check is done on backend side.  <br>readReceiptsCustomisation can be:<br><br>* `enabled`: Each user of the company allow the sender to check if an IM is read.<br>* `disabled`: No user of the company allow the sender to check if an IM is read. |\n| useSpeakingTimeStatistics | String | Activate/Deactivate the ability for a user to see speaking time statistics..  <br>Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.  <br>useSpeakingTimeStatistics can be:<br><br>* `enabled`: Each user of the company can use meeting speaking time statistics.<br>* `disabled`: No user of the company can use meeting speaking time statistics. |\n| eLearningCustomisation | String | Activate/Deactivate the capability for a user to participate on a E-learning training.  <br>Defines if a user can participate on an E-learning training.  <br>eLearningCustomisation can be:<br><br>* `enabled`: The user can participate on an E-learning training.<br>* `disabled`: The user can't participate on an E-learning training. |\n| eLearningGamificationCustomisation | String | Activate/Deactivate the capability for a user to earn badges for E-learning progress.  <br>Defines if a user can earn badges for E-learning progress.  <br>eLearningGamificationCustomisation can be:<br><br>* `enabled`: The user can earn badges for E-learning progress.<br>* `disabled`: The user can't earn badges for E-learning progress. |\n| meetingRecordingCustomisation | String | Activate/Deactivate the capability for a user to record a meeting.  <br>Defines if a user can record a meeting.  <br>meetingRecordingCustomisation can be:<br><br>* `enabled`: The user can record a meeting.<br>* `disabled`: The user can't record a meeting. |\n| useOtherPhoneMode | String | Activate/Deactivate the capability for a user to use the other phone mode.  <br>Defines if a user can use the other phone mode.  <br>useOtherPhoneMode can be:<br><br>* `enabled`: The user can use the other phone mode.<br>* `disabled`: The user can't use the other phone mode. |\n| useComputerMode | String | Activate/Deactivate the capability for a user to use the computer mode.  <br>Defines if a user can use the computer mode.  <br>useComputerMode can be:<br><br>* `enabled`: The user can use the computer mode.<br>* `disabled`: The user can't use the computer mode. |\n| useSoftPhoneMode | String | Activate/Deactivate the capability for a user to use the softphone mode.  <br>Defines if a user can use the softphone mode.  <br>useSoftPhoneMode can be:<br><br>* `enabled`: The user can use the softphone mode.<br>* `disabled`: The user can't use the softphone mode. |\n| imPopupDuration | Number | Defines the IM popup duration. |\n| canAccessWhatsNew | String | Activate/Deactivate the capability for a user to access to what's new.  <br>Defines if a user can access to what's new.  <br>canAccessWhatsNew can be:<br><br>* `enabled`: The user can access to what's new.<br>* `disabled`: The user can't access to what's new. |\n| canAccessFaqCustomisation | String | Activate/Deactivate the capability for a user to access to the FAQ.  <br>Defines if a user can access to the FAQ.  <br>canAccessFaqCustomisation can be:<br><br>* `enabled`: The user can access to the FAQ.<br>* `disabled`: The user can't access to the FAQ. |\n| canAccessHelpCenterCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow help center.  <br>Defines if a user can access to Rainbow help center.  <br>canAccesHelpCenterCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow help center.<br>* `disabled`: The user can't access to Rainbow help center. |\n| canAccessStoreCustomisation | String | Activate/Deactivate the capability for a user to access to Rainbow store.  <br>Defines if a user can access to Rainbow store.  <br>canAccesStoreCustomisation can be:<br><br>* `enabled`: The user can access to Rainbow store.<br>* `disabled`: The user can't access to Rainbow store. |\n| canDownloadAppCustomisation | String | Activate/Deactivate the capability for a user to download Rainbow application.  <br>Defines if a user can download Rainbow application.  <br>canDownloadAppCustomisation can be:<br><br>* `enabled`: The user can download Rainbow application.<br>* `disabled`: The user can't download Rainbow application. |\n| canCallParticipantPbxNumberCustomisation | String | Select the capability for a user to call participant via a PBX number.  <br>Defines if a user can call participant via a PBX number.  <br>canCallParticipantPbxNumberCustomisation can be:<br><br>* `enabled`: The user can call participant with all number.<br>* `disabled`: The user can't call participant.<br>* `internal`: The user can call participant only with internal number.<br>* `national`: The user can call participant with national number. |\n| defaultLicenseGroup | String | Group of license to assign to user when finalizing his account (e.g. Enterprise, Business ...) |\n| defaultOptionsGroups | String\\[\\] | List of options to assign to user when finalizing his account (e.g. Alert ...) |\n| selectedThemeCustomers optionnel | Object | Set the selected theme(s) for customers of this BP company.  <br>This attribute only applies for BP companies. |\n| light optionnel | String | Set the selected theme light for customers of this BP company. |\n| dark optionnel | String | Set the selected theme dark for customers of this BP company. |\n| ddiReadOnly optionnel | Boolean | Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. |\n| locked optionnel | Boolean | Allow to lock selected theme for customers. If true, customers won't be able to manage themes (create/update/delete). |\n| cloudPbxVoicemailToEmail optionnel | Boolean | Cloudpbx email notification type when receiving a voicemail |\n| allowPhoneNumbersVisibility optionnel | Boolean | Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. |\n| cloudPbxRecordingInboundOnly optionnel | Boolean | When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded |\n| allowDeviceFirmwareSelection optionnel | Boolean | Superadmin allows admins of the company to select a given firmware for its cloudpbx devices. |\n| businessData optionnel | Object | Set the businessData company. |\n| region optionnel | String | Set the region of the company. |\n| cluster optionnel | String | Set the cluster of the company. |\n| area optionnel | String | Set the area of the company. |\n| allowTeamsToDesktopSso optionnel | Boolean | Superadmin allows if Teams add-in uses sso to login in desktop app for all company users<br><br>Default value : `true` |\n| country optionnel | String | Set the business country of the company. |\n| rainbowStorageAllowedAllUsers | Boolean | In an environment where a company uses the Rainbow file server or an External file server, an administator can defines storage access rights at company level, and at user level.  <br>So he has to:<br><br>* Enable/Disable external storage for a company (see `useExternalStorage`) and configure required parameters as URLs, type, name, description (see company/settings/filestorage section) and if all company users have access to this storage by default (see `externalStorageAllowedAllUsers`).  <br>    If this storage is enabled by default, all users following the company policy will have access to the storage.<br>* Enable/Disable Rainbow storage for a company (see `useRainbowStorage`), and if all company users have access to this storage by default (see `rainbowStorageAllowedAllUsers`).<br>* Select which storage is the main one used to store photo taken from Rainbow Apps (see `mainStorage`) |\n| externalStorageAllowedAllUsers | Boolean | Refer to rainbowStorageAllowedAllUsers. |\n| useRainbowStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useRainbowStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the default Rainbow File Storage.<br>* `disabled`: Unassign all users from the default Rainbow File Storage. |\n| useExternalStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'useExternalStorage' allows a user to be assigned to a file server.<br><br>* `enabled`: Assign all users to the External File Storage.<br>* `disabled`: Unassign all users from the External File Storage. |\n| mainStorage | String | In an environment where a company uses the Rainbow file server and an External file server at the same time, 'mainStorage' allows to decide which file server must be used when a user is assigned to both file servers.<br><br>* `Rainbow Storage`: Assigment to the Rainbow file server.<br>* `External Storage`: Assigment to the External file server. |\n| customData optionnel | Object | Company's custom data.  <br>Object with free keys/values.  <br>It is up to the client to manage the company's customData (new customData provided overwrite the existing one).  <br>  <br>Restrictions on customData Object:<br><br>* max 10 keys,<br>* max key length: 64 characters,<br>* max value length: 512 characters. |\n| adminServiceNotificationsLevel | String | Level of service notification that admin should see |\n\n\nexample of result :\n```json\n{\n        \"id\": \"569ce8c8f9336c471b98eda1\",\n        \"creationDate\": \"2016-01-18T13:29:44.498Z\",\n        \"statusUpdatedDate\": \"2016-01-18T13:29:44.497Z\",\n        \"name\": \"AL-ENTERPRISE\",\n        \"street\": \"Sesame street\",\n        \"city\": \"Brooklyn\",\n        \"postalCode\": \"123456\",\n        \"country\": \"USA\",\n        \"state\": \"NY\",\n        \"status\": \"active\",\n        \"visibility\": \"private\",\n        \"visibleBy\": [\n             \"56fabb217d8d3ffa3d0223f8\",\n             \"56d6f00441255dd54b5b61ae\"\n        ],\n        \"adminEmail\": \"admin@company.com\",\n        \"supportEmail\": \"support@company.com\",\n        \"companyContactId\": \"588a0d902d9e7f983b8f7661\",\n        \"autoAcceptUserInvitations\": true,\n        \"userSelfRegisterEnabled\": true,\n        \"userSelfRegisterAllowedDomains\": [\n             \"@alcatel-lucent.com\",\n             \"@al-enterprise.com\",\n             \"@al-enterprise.fr\",\n             \"@al-enterprise.de\"\n        ],\n        \"slogan\": \"The slogan of my company\",\n        \"description\": \"A free string that describes my company\",\n        \"size\" : \"1001-5000 employees\",\n        \"website\": \"http:\\\\/\\\\/enterprise.alcatel-lucent.com\",\n        \"giphyEnabled\": false,\n        \"organisationId\": \"57cd58edd341df5812bbcb71\",\n        \"catalogId\": \"5979f63bae6056aadd1a8f17\",\n        \"bpId\": null,\n        \"externalReference\": null,\n        \"offerType\": \"premium\",\n        \"avatarShape\": \"circle\",\n        \"allowUsersSelectTheme\": true,\n        \"allowUsersSelectPublicTheme\": true,\n        \"mobilePermanentConnectionMode\": false,\n        \"customData\": {},\n        \"office365ScopesGranted\": [],\n        \"fileSharingCustomisation\": \"enabled\",\n        \"userTitleNameCustomisation\": \"enabled\",\n        \"softphoneOnlyCustomisation\": \"disabled\",\n        \"useRoomCustomisation\": \"enabled\",\n        \"phoneMeetingCustomisation\": \"enabled\",\n        \"useChannelCustomisation\": \"enabled\",\n        \"useScreenSharingCustomisation\": \"enabled\",\n        \"useWebRTCVideoCustomisation\": \"enabled\",\n        \"useWebRTCAudioCustomisation\": \"enabled\",\n        \"instantMessagesCustomisation\": \"enabled\",\n        \"userProfileCustomisation\": \"enabled\",\n        \"fileStorageCustomisation\": \"enabled\",\n        \"overridePresenceCustomisation\": \"enabled\",\n        \"changeTelephonyCustomisation\": \"enabled\",\n        \"changeSettingsCustomisation\": \"enabled\",\n        \"recordingConversationCustomisation\": \"enabled\",\n        \"useGifCustomisation\": \"enabled\",\n        \"useDialOutCustomisation\": \"enabled\",\n        \"eLearningCustomisation\":  \"enabled\",\n        \"eLearningGamificationCustomisation\": \"enabled\",\n        \"meetingRecordingCustomisation\": \"enabled\",\n        \"useOtherPhoneMode\": \"enabled\",\n        \"useComputerMode\": \"enabled\",\n        \"useSoftPhoneMode\": \"enabled\",\n        \"imPopupDuration\": 3,\n        \"canAccessWhatsNew\": \"enabled\",\n        \"canAccesFaqCustomisation\": \"enabled\",\n        \"canAccessHelpCenterCustomisation\": \"enabled\",\n        \"canAccessStoreCustomisation\": \"enabled\",\n        \"canDownloadAppCustomisation\": \"enabled\",\n        \"canCallParticipantPbxNumberCustomisation\": \"enabled\",\n        \"defaultLicenseGroup\": \"Enterprise\",\n        \"defaultOptionsGroups\": [\"Alert\"],\n        \"selectedTheme\": {\n             \"light\": null,\n             \"dark\": \"5ea304e4359c0e6815fc8b57\",\n             \"isLockedByBp\": true\n        },\n        \"businessSpecific\": \"UGAP\",\n        \"allowTeamsToDesktopSso\": true,\n        \"externalStorageAllowedAllUsers\" : false,\n        \"mainStorage\" : \"Rainbow Storage\",\n        \"rainbowStorageAllowedAllUsers\" : true,\n        \"useExternalStorage\" : \"disabled\",\n        \"useRainbowStorage\" : \"enabled\",\n        \"businessData\": {\n             \"region\": \"EMEA\",\n             \"cluster\": \"EU SOUTH\",\n             \"area\": \"BELUX\",\n             \"country\": \"BEL\"\n        },\n        \"useRainbowStorage\" : \"enabled\",\n        \"adminServiceNotificationsLevel\": \"high\"\n    }\n```"
      }
    ],
    "longname": "module:AdminService#updateCompanyByObj",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCompanyByObj",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateConfigurationForLdapConnector\n     * @since 1.86.0\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {string} ldapConfigId ldap connector unique identifier\n     * @param {boolean}   strict=false      Allows to specify if all the previous fields must be erased or just update/push new fields.\n     * @param {string}    name name of this configuration\n     * @param {Object}    settings      config settings\n     * @param {Object}    settings.massproFromLdap      list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal.\n     * @param {string}    settings.massproFromLdap.headerName      headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap (only when a ldap field exists for this headerName, should never be empty).\n     * @param {Object}    settings.company      specific settings for the company. Each key represent a setting.\n     * @param {string}    settings.company.login      login for the ldap server.\n     * @param {string}    settings.company.password      password for the ldap server.\n     * @param {number}     settings.company.synchronizationTimeInterval      time interval between synchronization in hours.\n     * @param {string}    settings.company.url      url of the ldap server.\n     * @param {string}    settings.company.baseDN      base DN for the ldap server.\n     * @param {boolean}     settings.company.activeFlag      defines if the synchronization is active, or not.\n     * @param {boolean}      settings.company.enrollmentEmailEnable   defines if an enrollment email is sent to new users\n     * @param {boolean}      settings.company.synchronisationDiffMode     defines if  synching only users changed since last sync date\n     * @param {string}    settings.company.nextSynchronization      date (ISO 8601 format) which defines when the next synchronization will be performed.\n     * @param {string}    settings.company.search_rule      filters to use when requesting the ldap server.\n     * @param {string}    settings.company.lastSynchronization      date (ISO 8601 format) of the last performed synchronization, usually set by the AD connector .\n     * @param {string}    settings.company.softwareVersion     Software Version of the AD connector, provisioned by the AD connector\n     * @description\n     *      This API allows update configuration for the connector. </BR>\n     *      A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     *      Users with superadmin, support role can update the connectors configuration from any company. </BR>\n     *      Users with bp_admin or bp_finance role can only update the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     *      Users with admin role can only update the connectors configuration in companies they can manage. That is to say: </BR>\n     *      an organization_admin can update the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     *      a company_admin can only update the connectors configuration in his company. </BR>\n     *\n     *      a 'rainbow_onconnectorconfig' event is raised when updated. The parameter configId can be used to retrieve the updated configuration.\n     *\n     * @return {Promise<any>} -\n     * </BR>\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | data | Object | Config Object. |\n     * | id  | string | Config unique identifier. |\n     * | type | string | Config type |\n     * | companyId | string | Allows to specify for which company the connectors configuration is done.. |\n     * | settings | Object | config settings |\n     * | massproFromLdap | Object | list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. |\n     * | headerName | string | headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. |\n     * | company | Object | specific settings for the company. Each key represent a setting. |\n     * | login | string | login for the ldap server. |\n     * | password | string | password for the ldap server. |\n     * | synchronizationTimeInterval | Number | time interval between synchronization in hours. |\n     * | url | string | url of the ldap server. |\n     * | baseDN | string | base DN for the ldap server. |\n     * | activeFlag | boolean | defines if the synchronization is active, or not. |\n     * | nextSynchronization | string | date (ISO 8601 format) which defines when the next synchronization will be performed. |\n     * | enrollmentEmailEnable | boolean | defines if an enrollment email is sent to new users |\n     * | synchronisationDiffMode | boolean | defines if synching only users changed since last sync date |\n     * | search_rule | string | filters to use when requesting the ldap server. |\n     * | lastSynchronization | string | date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). |\n     * | softwareVersion | string | software Version of the ldap connector (filled by the ldap connector). |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9409,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateConfigurationForLdapConnector",
    "since": "1.86.0",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "ldap connector unique identifier",
        "name": "ldapConfigId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": false,
        "description": "Allows to specify if all the previous fields must be erased or just update/push new fields.",
        "name": "strict"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "name of this configuration",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "config settings",
        "name": "settings"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal.",
        "name": "settings.massproFromLdap"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap (only when a ldap field exists for this headerName, should never be empty).",
        "name": "settings.massproFromLdap.headerName"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "specific settings for the company. Each key represent a setting.",
        "name": "settings.company"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "login for the ldap server.",
        "name": "settings.company.login"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "password for the ldap server.",
        "name": "settings.company.password"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "description": "time interval between synchronization in hours.",
        "name": "settings.company.synchronizationTimeInterval"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "url of the ldap server.",
        "name": "settings.company.url"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "base DN for the ldap server.",
        "name": "settings.company.baseDN"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "defines if the synchronization is active, or not.",
        "name": "settings.company.activeFlag"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "defines if an enrollment email is sent to new users",
        "name": "settings.company.enrollmentEmailEnable"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "defines if  synching only users changed since last sync date",
        "name": "settings.company.synchronisationDiffMode"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "date (ISO 8601 format) which defines when the next synchronization will be performed.",
        "name": "settings.company.nextSynchronization"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "filters to use when requesting the ldap server.",
        "name": "settings.company.search_rule"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "date (ISO 8601 format) of the last performed synchronization, usually set by the AD connector .",
        "name": "settings.company.lastSynchronization"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Software Version of the AD connector, provisioned by the AD connector",
        "name": "settings.company.softwareVersion"
      }
    ],
    "description": "This API allows update configuration for the connector. </BR>\n     A template is available : use retrieveLdapConnectorConfigTemplate API. </BR>\n     Users with superadmin, support role can update the connectors configuration from any company. </BR>\n     Users with bp_admin or bp_finance role can only update the connectors configurationin companies being End Customers of their BP company (i.e. all the companies having bpId equal to their companyId). </BR>\n     Users with admin role can only update the connectors configuration in companies they can manage. That is to say: </BR>\n     an organization_admin can update the connectors configuration only in a company he can manage (i.e. companies having organisationId equal to his organisationId) </BR>\n     a company_admin can only update the connectors configuration in his company. </BR>\n\n     a 'rainbow_onconnectorconfig' event is raised when updated. The parameter configId can be used to retrieve the updated configuration.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "-\n</BR>\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| data | Object | Config Object. |\n| id  | string | Config unique identifier. |\n| type | string | Config type |\n| companyId | string | Allows to specify for which company the connectors configuration is done.. |\n| settings | Object | config settings |\n| massproFromLdap | Object | list of fields to map between ldap fields and massprovisioning's import csv file headers. You can have as many keys as the csv's headerNames of massprovisioning portal. |\n| headerName | string | headerName as specified in the csv templates for the massprovisioning portal, value is the corresponding field name in ldap. |\n| company | Object | specific settings for the company. Each key represent a setting. |\n| login | string | login for the ldap server. |\n| password | string | password for the ldap server. |\n| synchronizationTimeInterval | Number | time interval between synchronization in hours. |\n| url | string | url of the ldap server. |\n| baseDN | string | base DN for the ldap server. |\n| activeFlag | boolean | defines if the synchronization is active, or not. |\n| nextSynchronization | string | date (ISO 8601 format) which defines when the next synchronization will be performed. |\n| enrollmentEmailEnable | boolean | defines if an enrollment email is sent to new users |\n| synchronisationDiffMode | boolean | defines if synching only users changed since last sync date |\n| search_rule | string | filters to use when requesting the ldap server. |\n| lastSynchronization | string | date (ISO 8601 format) when the last synchronization was performed by the ldap connector (filled by the ldap connector). |\n| softwareVersion | string | software Version of the ldap connector (filled by the ldap connector). |"
      }
    ],
    "longname": "module:AdminService#updateConfigurationForLdapConnector",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateConfigurationForLdapConnector",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateContactInfos\n     * @instance\n     * @description\n     *      Set informations about a user </BR>\n     * @param {string} userId The id of the user\n     * @param {Object} infos The infos of the user : </BR>\n     * {string{3..255}}  [infos.loginEmail]      User email address (used for login). </BR>\n     * </BR> Must be unique (409 error is returned if a user already exists with the same email address). </BR>\n     *  {string{8..64}}   [infos.password]        User password. </BR>\n     * </BR> Rules: more than 8 characters, at least 1 capital letter, 1 number, 1 special character. </BR>\n     * {string{1..255}}  [infos.firstName]     User first name </BR>\n     * {string{1..255}}  [infos.lastName]      User last name </BR>\n     * {string{1..255}}  [infos.nickName]      User nickName </BR>\n     * {string{1..40}}   [infos.title]         User title (honorifics title, like Mr, Mrs, Sir, Lord, Lady, Dr, Prof,...) </BR>\n     * {string{1..255}}  [infos.jobTitle]      User job title </BR>\n     * {string[]{1..64}} [infos.tags]          An Array of free tags associated to the user. </BR>\n     * A maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. </BR>\n     * `tags` can only be set by users who have administrator rights on the user. The user can't modify the tags. </BR>\n     * The tags are visible by the user and all users belonging to his organisation/company, and can be used with </BR>\n     * the search API to search the user based on his tags. </BR>\n     * {Object[]}           [infos.emails]        Array of user emails addresses objects </BR>\n     * {string{3..255}}          [infos.emails.email]    User email address </BR>\n     * {string=home,work,other}  [infos.emails.type]     User email type </BR>\n     * {Object[]}           [infos.phoneNumbers]  Array of user phone numbers objects </BR>\n     * </BR>\n     * </BR><u><i>Note:</i></u> For each provided number, the server tries to compute the associated E.164 number (<code>numberE164</code> field) using provided PhoneNumber country if available, user country otherwise. </BR>\n     * If <code>numberE164</code> can't be computed, an error 400 is returned (ex: wrong phone number, phone number not matching country code, ...) </BR>\n     * {string{1..32}}   [infos.phoneNumbers.number]    User phone number (as entered by user) </BR>\n     * {string{3}}       [infos.phoneNumbers.country]   Phone number country (ISO 3166-1 alpha3 format). Used to compute numberE164 field from number field. </BR>\n     * </BR>\n     * </BR>If not provided, user country is used by default. </BR>\n     * {string=home,work,other}              phoneNumbers.type           Phone number type </BR>\n     * {string=landline,mobile,fax,other}    phoneNumbers.deviceType     Phone number device type </BR>\n     * {string{3}}       [infos.country]       User country (ISO 3166-1 alpha3 format) </BR>\n     * {string=null,\"AA\",\"AE\",\"AP\",\"AK\",\"AL\",\"AR\",\"AZ\",\"CA\",\"CO\",\"CT\",\"DC\",\"DE\",\"FL\",\"GA\",\"GU\",\"HI\",\"IA\",\"ID\",\"IL\",\"IN\",\"KS\",\"KY\",\"LA\",\"MA\",\"MD\",\"ME\",\"MI\",\"MN\",\"MO\",\"MS\",\"MT\",\"NC\",\"ND\",\"NE\",\"NH\",\"NJ\",\"NM\",\"NV\",\"NY\",\"OH\",\"OK\",\"OR\",\"PA\",\"PR\",\"RI\",\"SC\",\"SD\",\"TN\",\"TX\",\"UT\",\"VA\",\"VI\",\"VT\",\"WA\",\"WI\",\"WV\",\"WY\",\"AB\",\"BC\",\"MB\",\"NB\",\"NL\",\"NS\",\"NT\",\"NU\",\"ON\",\"PE\",\"QC\",\"SK\",\"YT\"} [infos.state] When country is 'USA' or 'CAN', a state can be defined. Else it is not managed. </BR>\n     * </BR> USA states code list: </BR>\n     * <li> <code>AA</code>:\"Armed Forces America\", </BR>\n     * <li> <code>AE</code>:\"Armed Forces\", </BR>\n     * <li> <code>AP</code>:\"Armed Forces Pacific\", </BR>\n     * <li> <code>AK</code>:\"Alaska\", </BR>\n     * <li> <code>AL</code>:\"Alabama\", </BR>\n     * <li> <code>AR</code>:\"Arkansas\", </BR>\n     * <li> <code>AZ</code>:\"Arizona\", </BR>\n     * <li> <code>CA</code>:\"California\", </BR>\n     * <li> <code>CO</code>:\"Colorado\", </BR>\n     * <li> <code>CT</code>:\"Connecticut\", </BR>\n     * <li> <code>DC</code>:\"Washington DC\", </BR>\n     * <li> <code>DE</code>:\"Delaware\", </BR>\n     * <li> <code>FL</code>:\"Florida\", </BR>\n     * <li> <code>GA</code>:\"Georgia\", </BR>\n     * <li> <code>GU</code>:\"Guam\", </BR>\n     * <li> <code>HI</code>:\"Hawaii\", </BR>\n     * <li> <code>IA</code>:\"Iowa\", </BR>\n     * <li> <code>ID</code>:\"Idaho\", </BR>\n     * <li> <code>IL</code>:\"Illinois\", </BR>\n     * <li> <code>IN</code>:\"Indiana\", </BR>\n     * <li> <code>KS</code>:\"Kansas\", </BR>\n     * <li> <code>KY</code>:\"Kentucky\", </BR>\n     * <li> <code>LA</code>:\"Louisiana\", </BR>\n     * <li> <code>MA</code>:\"Massachusetts\", </BR>\n     * <li> <code>MD</code>:\"Maryland\", </BR>\n     * <li> <code>ME</code>:\"Maine\", </BR>\n     * <li> <code>MI</code>:\"Michigan\", </BR>\n     * <li> <code>MN</code>:\"Minnesota\", </BR>\n     * <li> <code>MO</code>:\"Missouri\", </BR>\n     * <li> <code>MS</code>:\"Mississippi\", </BR>\n     * <li> <code>MT</code>:\"Montana\", </BR>\n     * <li> <code>NC</code>:\"North Carolina\", </BR>\n     * <li> <code>ND</code>:\"Northmo Dakota\", </BR>\n     * <li> <code>NE</code>:\"Nebraska\", </BR>\n     * <li> <code>NH</code>:\"New Hampshire\", </BR>\n     * <li> <code>NJ</code>:\"New Jersey\", </BR>\n     * <li> <code>NM</code>:\"New Mexico\", </BR>\n     * <li> <code>NV</code>:\"Nevada\", </BR>\n     * <li> <code>NY</code>:\"New York\", </BR>\n     * <li> <code>OH</code>:\"Ohio\", </BR>\n     * <li> <code>OK</code>:\"Oklahoma\", </BR>\n     * <li> <code>OR</code>:\"Oregon\", </BR>\n     * <li> <code>PA</code>:\"Pennsylvania\", </BR>\n     * <li> <code>PR</code>:\"Puerto Rico\", </BR>\n     * <li> <code>RI</code>:\"Rhode Island\", </BR>\n     * <li> <code>SC</code>:\"South Carolina\", </BR>\n     * <li> <code>SD</code>:\"South Dakota\", </BR>\n     * <li> <code>TN</code>:\"Tennessee\", </BR>\n     * <li> <code>TX</code>:\"Texas\", </BR>\n     * <li> <code>UT</code>:\"Utah\", </BR>\n     * <li> <code>VA</code>:\"Virginia\", </BR>\n     * <li> <code>VI</code>:\"Virgin Islands\", </BR>\n     * <li> <code>VT</code>:\"Vermont\", </BR>\n     * <li> <code>WA</code>:\"Washington\", </BR>\n     * <li> <code>WI</code>:\"Wisconsin\", </BR>\n     * <li> <code>WV</code>:\"West Virginia\", </BR>\n     * <li> <code>WY</code>:\"Wyoming\" </BR>\n     * </BR> Canada states code list: </BR>\n     * <li> <code>AB</code>: \"Alberta\", </BR>\n     * <li> <code>BC</code>: \"British Columbia\", </BR>\n     * <li> <code>MB</code>: \"Manitoba\", </BR>\n     * <li> <code>NB</code>:    \"New Brunswick\", </BR>\n     * <li> <code>NL</code>: \"Newfoundland and Labrador\", </BR>\n     * <li> <code>NS</code>: \"Nova Scotia\", </BR>\n     * <li> <code>NT</code>: \"Northwest Territories\", </BR>\n     * <li> <code>NU</code>: \"Nunavut\", </BR>\n     * <li> <code>ON</code>: \"Ontario\", </BR>\n     * <li> <code>PE</code>: \"Prince Edward Island\", </BR>\n     * <li> <code>QC</code>: \"Quebec\", </BR>\n     * <li> <code>SK</code>: \"Saskatchewan\", </BR>\n     * <li> <code>YT</code>: \"Yukon\" </BR>\n     * {string=\"/^([a-z]{2})(?:(?:(-)[A-Z]{2}))?$/\"}     [infos.language]      User language </BR>\n     * </BR>\n     * </BR> Language format is composed of locale using format <code>ISO 639-1</code>, with optionally the regional variation using <code>ISO 3166‑1 alpha-2</code> (separated by hyphen). </BR>\n     * </BR> Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ... </BR>\n     * </BR> More information about the format can be found on this <a href=\"https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes\">link</a>. </BR>\n     * {string}          [infos.timezone]      User timezone name </BR>\n     * </BR> Allowed values: one of the timezone names defined in <a href=\"https://www.iana.org/time-zones\">IANA tz database</a> </BR>\n     * </BR> Timezone name are composed as follow: <code>Area/Location</code> (ex: Europe/Paris, America/New_York,...) </BR>\n     * {string=free,basic,advanced} [infos.accountType=free]  User subscription type </BR>\n     * {string[]=guest,user,admin,bp_admin,bp_finance,company_support,all_company_channels_admin,public_channels_admin,closed_channels_admin,app_admin,app_support,app_superadmin,directory_admin,support,superadmin} [infos.roles='[\"user\"]']   List of user roles </BR>\n     * </BR>\n     * </BR>The general rule is that a user must have the roles that the wants to assign to someone else. </BR>\n     * </BR>Examples: </BR>\n     * <ul>\n     *     <li>an <code>admin</code> can add or remove the role <code>admin</code> to another user of the company(ies) he manages,</li>\n     *     <li>an <code>bp_admin</code> can add or remove the role <code>bp_admin</code> to another user of the company(ies) he manages,</li>\n     *     <li>an <code>app_superadmin</code> can add or remove the role <code>app_superadmin</code> to another user...</li>\n     * </ul>\n     * Here are some explanations regarding the roles available in Rainbow: </BR>\n     * <ul>\n     * <li><code>admin</code>, <code>bp_admin</code> and <code>bp_finance</code> roles are related to company management (and resources linked to companies, such as users, systems, subscriptions, ...).</li>\n     * <li><code>bp_admin</code> and <code>bp_finance</code> roles can only be set to users of a BP company (company with isBP=true).</li>\n     * <li><code>app_admin</code>, <code>app_support</code> and <code>app_superadmin</code> roles are related to application management.</li>\n     * <li><code>all_company_channels_admin</code>, <code>public_channels_admin</code> and <code>closed_channels_admin</code> roles are related to channels management.</li>\n     * <li>Only <code>superadmin</code> can set <code>superadmin</code> and <code>support</code> roles to a user.</li>\n     * <li>A user with admin rights (admin, bp_admin, superadmin) can't change his own roles, except for roles related to channels (<code>all_company_channels_admin</code>, <code>public_channels_admin</code> and <code>closed_channels_admin</code>).</li>\n     * </ul>\n     * {string=organization_admin,company_admin,site_admin} [infos.adminType]  Mandatory if roles array contains <code>admin</code> role: specifies at which entity level the administrator has admin rights in the hierarchy ORGANIZATIONS/COMPANIES/SITES/SYSTEMS </BR>\n     * {string}  [infos.companyId]             User company unique identifier (like 569ce8c8f9336c471b98eda1) </BR>\n     * </BR> companyName field is automatically filled on server side based on companyId. </BR>\n     * {boolean} [infos.isActive=true]         Is user active </BR>\n     * {boolean} [infos.isInitialized=false]   Is user initialized </BR>\n     * {string=private,public,closed,isolated,none} [infos.visibility]  User visibility </BR>\n     * </BR> Define if the user can be searched by users being in other company and if the user can search users being in other companies. </BR>\n     * - `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n     * - `private`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n     * - `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users </BR>\n     * - `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users </BR>\n     * - `none`:  Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users </BR>\n     * </BR>External users mean 'public user not being in user's company nor user's organisation nor a company visible by user's company. </BR>\n     * {number} [infos.timeToLive] Duration in second to wait before automatically starting a user deletion from the creation date. </BR>\n     * Once the timeToLive has been reached, the user won't be usable to use APIs anymore (error 401523). His account may then be deleted from the database at any moment. </BR>\n     * Value -1 means timeToLive is disable (i.e. user account will not expire). </BR>\n     * If created user has role <code>guest</code> and no timeToLive is provided, a default value of 172800 seconds is set (48 hours). </BR>\n     * If created user does not have role <code>guest</code> and no timeToLive is provided, a default value of -1 is set (no expiration). </BR>\n     * {string=DEFAULT,RAINBOW,SAML} [infos.authenticationType] User authentication type (if not set company default authentication will be used) </BR>\n     * {string{0..64}}  [infos.userInfo1]      Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n     * {string{0..64}}  [infos.userInfo2]      2nd Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n     * {string} selectedTheme Set the selected theme for the user. </BR>\n     * {Object} customData  User's custom data. </BR>\n     *    key1  string User's custom data key1. </BR>\n     *    key2  string Company's custom data key2. </BR>\n     *  customData can only be created/updated by: </BR>\n     *   the user himself, company_admin or organization_admin of his company, bp_admin and bp_finance of his company, superadmin. </BR>\n     *   Restrictions on customData Object: </BR>\n     *   max 20 keys, </BR>\n     *   max key length: 64 characters, max value length: 512 characters. It is up to the client to manage the user's customData (new customData provided overwrite the existing one). </BR>\n     *\n     * @async\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Json object containing informations or an error object depending on the result\n     * @category Companies and users management\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 4247,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing informations or an error object depending on the result",
        "value": "{Object} - Json object containing informations or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      }
    ],
    "kind": "function",
    "name": "updateContactInfos",
    "scope": "instance",
    "description": "Set informations about a user </BR>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The id of the user",
        "name": "userId"
      },
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "The infos of the user : </BR>\n{string{3..255}}  [infos.loginEmail]      User email address (used for login). </BR>\n</BR> Must be unique (409 error is returned if a user already exists with the same email address). </BR>\n {string{8..64}}   [infos.password]        User password. </BR>\n</BR> Rules: more than 8 characters, at least 1 capital letter, 1 number, 1 special character. </BR>\n{string{1..255}}  [infos.firstName]     User first name </BR>\n{string{1..255}}  [infos.lastName]      User last name </BR>\n{string{1..255}}  [infos.nickName]      User nickName </BR>\n{string{1..40}}   [infos.title]         User title (honorifics title, like Mr, Mrs, Sir, Lord, Lady, Dr, Prof,...) </BR>\n{string{1..255}}  [infos.jobTitle]      User job title </BR>\n{string[]{1..64}} [infos.tags]          An Array of free tags associated to the user. </BR>\nA maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. </BR>\n`tags` can only be set by users who have administrator rights on the user. The user can't modify the tags. </BR>\nThe tags are visible by the user and all users belonging to his organisation/company, and can be used with </BR>\nthe search API to search the user based on his tags. </BR>\n{Object[]}           [infos.emails]        Array of user emails addresses objects </BR>\n{string{3..255}}          [infos.emails.email]    User email address </BR>\n{string=home,work,other}  [infos.emails.type]     User email type </BR>\n{Object[]}           [infos.phoneNumbers]  Array of user phone numbers objects </BR>\n</BR>\n</BR><u><i>Note:</i></u> For each provided number, the server tries to compute the associated E.164 number (<code>numberE164</code> field) using provided PhoneNumber country if available, user country otherwise. </BR>\nIf <code>numberE164</code> can't be computed, an error 400 is returned (ex: wrong phone number, phone number not matching country code, ...) </BR>\n{string{1..32}}   [infos.phoneNumbers.number]    User phone number (as entered by user) </BR>\n{string{3}}       [infos.phoneNumbers.country]   Phone number country (ISO 3166-1 alpha3 format). Used to compute numberE164 field from number field. </BR>\n</BR>\n</BR>If not provided, user country is used by default. </BR>\n{string=home,work,other}              phoneNumbers.type           Phone number type </BR>\n{string=landline,mobile,fax,other}    phoneNumbers.deviceType     Phone number device type </BR>\n{string{3}}       [infos.country]       User country (ISO 3166-1 alpha3 format) </BR>\n{string=null,\"AA\",\"AE\",\"AP\",\"AK\",\"AL\",\"AR\",\"AZ\",\"CA\",\"CO\",\"CT\",\"DC\",\"DE\",\"FL\",\"GA\",\"GU\",\"HI\",\"IA\",\"ID\",\"IL\",\"IN\",\"KS\",\"KY\",\"LA\",\"MA\",\"MD\",\"ME\",\"MI\",\"MN\",\"MO\",\"MS\",\"MT\",\"NC\",\"ND\",\"NE\",\"NH\",\"NJ\",\"NM\",\"NV\",\"NY\",\"OH\",\"OK\",\"OR\",\"PA\",\"PR\",\"RI\",\"SC\",\"SD\",\"TN\",\"TX\",\"UT\",\"VA\",\"VI\",\"VT\",\"WA\",\"WI\",\"WV\",\"WY\",\"AB\",\"BC\",\"MB\",\"NB\",\"NL\",\"NS\",\"NT\",\"NU\",\"ON\",\"PE\",\"QC\",\"SK\",\"YT\"} [infos.state] When country is 'USA' or 'CAN', a state can be defined. Else it is not managed. </BR>\n</BR> USA states code list: </BR>\n<li> <code>AA</code>:\"Armed Forces America\", </BR>\n<li> <code>AE</code>:\"Armed Forces\", </BR>\n<li> <code>AP</code>:\"Armed Forces Pacific\", </BR>\n<li> <code>AK</code>:\"Alaska\", </BR>\n<li> <code>AL</code>:\"Alabama\", </BR>\n<li> <code>AR</code>:\"Arkansas\", </BR>\n<li> <code>AZ</code>:\"Arizona\", </BR>\n<li> <code>CA</code>:\"California\", </BR>\n<li> <code>CO</code>:\"Colorado\", </BR>\n<li> <code>CT</code>:\"Connecticut\", </BR>\n<li> <code>DC</code>:\"Washington DC\", </BR>\n<li> <code>DE</code>:\"Delaware\", </BR>\n<li> <code>FL</code>:\"Florida\", </BR>\n<li> <code>GA</code>:\"Georgia\", </BR>\n<li> <code>GU</code>:\"Guam\", </BR>\n<li> <code>HI</code>:\"Hawaii\", </BR>\n<li> <code>IA</code>:\"Iowa\", </BR>\n<li> <code>ID</code>:\"Idaho\", </BR>\n<li> <code>IL</code>:\"Illinois\", </BR>\n<li> <code>IN</code>:\"Indiana\", </BR>\n<li> <code>KS</code>:\"Kansas\", </BR>\n<li> <code>KY</code>:\"Kentucky\", </BR>\n<li> <code>LA</code>:\"Louisiana\", </BR>\n<li> <code>MA</code>:\"Massachusetts\", </BR>\n<li> <code>MD</code>:\"Maryland\", </BR>\n<li> <code>ME</code>:\"Maine\", </BR>\n<li> <code>MI</code>:\"Michigan\", </BR>\n<li> <code>MN</code>:\"Minnesota\", </BR>\n<li> <code>MO</code>:\"Missouri\", </BR>\n<li> <code>MS</code>:\"Mississippi\", </BR>\n<li> <code>MT</code>:\"Montana\", </BR>\n<li> <code>NC</code>:\"North Carolina\", </BR>\n<li> <code>ND</code>:\"Northmo Dakota\", </BR>\n<li> <code>NE</code>:\"Nebraska\", </BR>\n<li> <code>NH</code>:\"New Hampshire\", </BR>\n<li> <code>NJ</code>:\"New Jersey\", </BR>\n<li> <code>NM</code>:\"New Mexico\", </BR>\n<li> <code>NV</code>:\"Nevada\", </BR>\n<li> <code>NY</code>:\"New York\", </BR>\n<li> <code>OH</code>:\"Ohio\", </BR>\n<li> <code>OK</code>:\"Oklahoma\", </BR>\n<li> <code>OR</code>:\"Oregon\", </BR>\n<li> <code>PA</code>:\"Pennsylvania\", </BR>\n<li> <code>PR</code>:\"Puerto Rico\", </BR>\n<li> <code>RI</code>:\"Rhode Island\", </BR>\n<li> <code>SC</code>:\"South Carolina\", </BR>\n<li> <code>SD</code>:\"South Dakota\", </BR>\n<li> <code>TN</code>:\"Tennessee\", </BR>\n<li> <code>TX</code>:\"Texas\", </BR>\n<li> <code>UT</code>:\"Utah\", </BR>\n<li> <code>VA</code>:\"Virginia\", </BR>\n<li> <code>VI</code>:\"Virgin Islands\", </BR>\n<li> <code>VT</code>:\"Vermont\", </BR>\n<li> <code>WA</code>:\"Washington\", </BR>\n<li> <code>WI</code>:\"Wisconsin\", </BR>\n<li> <code>WV</code>:\"West Virginia\", </BR>\n<li> <code>WY</code>:\"Wyoming\" </BR>\n</BR> Canada states code list: </BR>\n<li> <code>AB</code>: \"Alberta\", </BR>\n<li> <code>BC</code>: \"British Columbia\", </BR>\n<li> <code>MB</code>: \"Manitoba\", </BR>\n<li> <code>NB</code>:    \"New Brunswick\", </BR>\n<li> <code>NL</code>: \"Newfoundland and Labrador\", </BR>\n<li> <code>NS</code>: \"Nova Scotia\", </BR>\n<li> <code>NT</code>: \"Northwest Territories\", </BR>\n<li> <code>NU</code>: \"Nunavut\", </BR>\n<li> <code>ON</code>: \"Ontario\", </BR>\n<li> <code>PE</code>: \"Prince Edward Island\", </BR>\n<li> <code>QC</code>: \"Quebec\", </BR>\n<li> <code>SK</code>: \"Saskatchewan\", </BR>\n<li> <code>YT</code>: \"Yukon\" </BR>\n{string=\"/^([a-z]{2})(?:(?:(-)[A-Z]{2}))?$/\"}     [infos.language]      User language </BR>\n</BR>\n</BR> Language format is composed of locale using format <code>ISO 639-1</code>, with optionally the regional variation using <code>ISO 3166‑1 alpha-2</code> (separated by hyphen). </BR>\n</BR> Locale part is in lowercase, regional part is in uppercase. Examples: en, en-US, fr, fr-FR, fr-CA, es-ES, es-MX, ... </BR>\n</BR> More information about the format can be found on this <a href=\"https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes\">link</a>. </BR>\n{string}          [infos.timezone]      User timezone name </BR>\n</BR> Allowed values: one of the timezone names defined in <a href=\"https://www.iana.org/time-zones\">IANA tz database</a> </BR>\n</BR> Timezone name are composed as follow: <code>Area/Location</code> (ex: Europe/Paris, America/New_York,...) </BR>\n{string=free,basic,advanced} [infos.accountType=free]  User subscription type </BR>\n{string[]=guest,user,admin,bp_admin,bp_finance,company_support,all_company_channels_admin,public_channels_admin,closed_channels_admin,app_admin,app_support,app_superadmin,directory_admin,support,superadmin} [infos.roles='[\"user\"]']   List of user roles </BR>\n</BR>\n</BR>The general rule is that a user must have the roles that the wants to assign to someone else. </BR>\n</BR>Examples: </BR>\n<ul>\n    <li>an <code>admin</code> can add or remove the role <code>admin</code> to another user of the company(ies) he manages,</li>\n    <li>an <code>bp_admin</code> can add or remove the role <code>bp_admin</code> to another user of the company(ies) he manages,</li>\n    <li>an <code>app_superadmin</code> can add or remove the role <code>app_superadmin</code> to another user...</li>\n</ul>\nHere are some explanations regarding the roles available in Rainbow: </BR>\n<ul>\n<li><code>admin</code>, <code>bp_admin</code> and <code>bp_finance</code> roles are related to company management (and resources linked to companies, such as users, systems, subscriptions, ...).</li>\n<li><code>bp_admin</code> and <code>bp_finance</code> roles can only be set to users of a BP company (company with isBP=true).</li>\n<li><code>app_admin</code>, <code>app_support</code> and <code>app_superadmin</code> roles are related to application management.</li>\n<li><code>all_company_channels_admin</code>, <code>public_channels_admin</code> and <code>closed_channels_admin</code> roles are related to channels management.</li>\n<li>Only <code>superadmin</code> can set <code>superadmin</code> and <code>support</code> roles to a user.</li>\n<li>A user with admin rights (admin, bp_admin, superadmin) can't change his own roles, except for roles related to channels (<code>all_company_channels_admin</code>, <code>public_channels_admin</code> and <code>closed_channels_admin</code>).</li>\n</ul>\n{string=organization_admin,company_admin,site_admin} [infos.adminType]  Mandatory if roles array contains <code>admin</code> role: specifies at which entity level the administrator has admin rights in the hierarchy ORGANIZATIONS/COMPANIES/SITES/SYSTEMS </BR>\n{string}  [infos.companyId]             User company unique identifier (like 569ce8c8f9336c471b98eda1) </BR>\n</BR> companyName field is automatically filled on server side based on companyId. </BR>\n{boolean} [infos.isActive=true]         Is user active </BR>\n{boolean} [infos.isInitialized=false]   Is user initialized </BR>\n{string=private,public,closed,isolated,none} [infos.visibility]  User visibility </BR>\n</BR> Define if the user can be searched by users being in other company and if the user can search users being in other companies. </BR>\n- `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n- `private`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users </BR>\n- `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users </BR>\n- `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users </BR>\n- `none`:  Default value reserved for guest. User **can't** be searched by **any users** (even within the same company) / can search external users. User can invite external users / can be invited by external users </BR>\n</BR>External users mean 'public user not being in user's company nor user's organisation nor a company visible by user's company. </BR>\n{number} [infos.timeToLive] Duration in second to wait before automatically starting a user deletion from the creation date. </BR>\nOnce the timeToLive has been reached, the user won't be usable to use APIs anymore (error 401523). His account may then be deleted from the database at any moment. </BR>\nValue -1 means timeToLive is disable (i.e. user account will not expire). </BR>\nIf created user has role <code>guest</code> and no timeToLive is provided, a default value of 172800 seconds is set (48 hours). </BR>\nIf created user does not have role <code>guest</code> and no timeToLive is provided, a default value of -1 is set (no expiration). </BR>\n{string=DEFAULT,RAINBOW,SAML} [infos.authenticationType] User authentication type (if not set company default authentication will be used) </BR>\n{string{0..64}}  [infos.userInfo1]      Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n{string{0..64}}  [infos.userInfo2]      2nd Free field that admin can use to link their users to their IS/IT tools / to perform analytics (this field is output in the CDR file) </BR>\n{string} selectedTheme Set the selected theme for the user. </BR>\n{Object} customData  User's custom data. </BR>\n   key1  string User's custom data key1. </BR>\n   key2  string Company's custom data key2. </BR>\n customData can only be created/updated by: </BR>\n  the user himself, company_admin or organization_admin of his company, bp_admin and bp_finance of his company, superadmin. </BR>\n  Restrictions on customData Object: </BR>\n  max 20 keys, </BR>\n  max key length: 64 characters, max value length: 512 characters. It is up to the client to manage the user's customData (new customData provided overwrite the existing one). </BR>",
        "name": "infos"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateContactInfos",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateContactInfos",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateCounterForApplication\n     * @since 2.30.0\n     * @instance\n     * @description\n     * This API allows to update counters for an application.\n     *\n     * </br> Users with `superadmin` role can update counters for an application.\n     * </br> Users with `admin` role can update counters for an application.\n     * </br> Users with `app_admin` role can update counters for an application.\n     * </br> Users with `app_superadmin` role can update counters for an application.\n     *\n     * @async\n     * @param {string} applicationId Application unique identifier\n     * @param {object} counterData Counter data to update\n     * @category Applications\n     * @return {Promise<any>} - result\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 17320,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Applications",
        "value": "Applications"
      }
    ],
    "kind": "function",
    "name": "updateCounterForApplication",
    "since": "2.30.0",
    "scope": "instance",
    "description": "This API allows to update counters for an application.\n\n</br> Users with `superadmin` role can update counters for an application.\n</br> Users with `admin` role can update counters for an application.\n</br> Users with `app_admin` role can update counters for an application.\n</br> Users with `app_superadmin` role can update counters for an application.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Application unique identifier",
        "name": "applicationId"
      },
      {
        "type": {
          "names": [
            "object"
          ]
        },
        "description": "Counter data to update",
        "name": "counterData"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result"
      }
    ],
    "longname": "module:AdminService#updateCounterForApplication",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCounterForApplication",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateCustomisationTemplate\n     * @instance\n     * @description\n     *     This API allows an administrator to update an application customisation template.\n     *\n     *     A public template can't be updated using this API. Update is only allowed via a database migration.\n     * @async\n     * @category Customisation Template\n     * @return {Promise<any>}\n     * @fulfil {Object} - Json object containing the result of the method\n     * @category async\n     * @param {string} templateId id of the template to update.\n     * @param {string} name Template name.\n     * @param {string} visibleBy When visibility is private, list of companyIds that can access the template (other than the 'ownedByCompany' one).\n     * @param {string} instantMessagesCustomisation=\"enabled\" Activate/Deactivate the capability for a user to use instant messages.</BR>\n     * Define if one or all users of a company has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.</BR>\n     * </BR>\n     * instantMessagesCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use instant messages.</BR>\n     * - disabled: No user of the company can use instant messages.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} useGifCustomisation=\"enabled\" Activate/Deactivate the ability for a user to Use GIFs in conversations.</BR>\n     * Define if one or all users of a company has the is allowed to send animated GIFs in conversations</BR>\n     * </BR>\n     * useGifCustomisation can be:</BR>\n     *\n     * - enabled: The user can send animated GIFs in conversations.</BR>\n     * - disabled: The user can't send animated GIFs in conversations.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} fileSharingCustomisation=\"enabled\" Activate/Deactivate file sharing capability per company</BR>\n     * Define if one or all users of a company can use the file sharing service then, allowed to download and share file.</BR>\n     * </BR>\n     * fileSharingCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.</BR>\n     * - disabled: Each user of the company can't use the file sharing service, except when his own capability is set to 'enabled'.</BR>\n     * </BR>\n     * Default value : enabled</BR>\n     * @param {string} fileStorageCustomisation=\"enabled\" Activate/Deactivate the capability for a user to access to Rainbow file storage.</BR>\n     * Define if one or all users of a company has the right to upload/download/copy or share documents.</BR>\n     * </BR>\n     * fileStorageCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can manage and share files.</BR>\n     * - disabled: No user of the company can manage and share files.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} phoneMeetingCustomisation=\"enabled\" Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).</BR>\n     * Define if one or all users of a company has the right to join phone meetings.</BR>\n     * </BR>\n     * phoneMeetingCustomisation can be:</BR>\n     *\n     * -  enabled: Each user of the company can join phone meetings.</BR>\n     * - disabled: No user of the company can join phone meetings.</BR>\n     *</BR>\n     *  Default value : enabled\n     * @param {string} useDialOutCustomisation=\"enabled\" Activate/Deactivate the capability for a user to use dial out in phone meetings.</BR>\n     * Define if one or all users of a company is allowed to be called by the Rainbow conference bridge.</BR>\n     * </BR>\n     * useDialOutCustomisation can be:</BR>\n     *\n     * - enabled: The user can be called by the Rainbow conference bridge.</BR>\n     * - disabled: The user can't be called by the Rainbow conference bridge.</BR>\n     *</BR>\n     *  Default value : enabled\n     * @param {string} useChannelCustomisation=\"enabled\" Activate/Deactivate the capability for a user to use a channel.</BR>\n     * Define if one or all users of a company has the right to create channels or be a member of channels.</BR>\n     * </BR>\n     * useChannelCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use some channels.</BR>\n     * - disabled: No user of the company can use some channel.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} useRoomCustomisation=\"enabled\" Activate/Deactivate the capability for a user to use bubbles.</BR>\n     * Define if one or all users of a company can create bubbles or participate in bubbles (chat and web conference).</BR>\n     * </BR>\n     * useRoomCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can use bubbles.</BR>\n     * - disabled: No user of the company can use bubbles.</BR>\n     *</BR>\n     *  Default value : enabled\n     * @param {string} useScreenSharingCustomisation=\"enabled\" Activate/Deactivate the capability for a user to share a screen.</BR>\n     * Define if a user has the right to share his screen.</BR>\n     * </BR>\n     * useScreenSharingCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can share his screen.</BR>\n     * - disabled: No user of the company can share his screen.</BR>\n     * </BR>\n     * @param {string} useWebRTCAudioCustomisation=\"enabled\" Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.</BR>\n     * Define if one or all users of a company has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).</BR>\n     * </BR>\n     * useWebRTCVideoCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can switch to a Web RTC audio conversation.</BR>\n     * - disabled: No user of the company can switch to a Web RTC audio conversation.</BR>\n     *</BR>\n     * Default value : enabled\n     * @param {string} useWebRTCVideoCustomisation=\"enabled\" Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.</BR>\n     * Define if one or all users of a company has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).</BR>\n     * </BR>\n     * useWebRTCVideoCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can switch to a Web RTC video conversation.</BR>\n     * - disabled: No user of the company can switch to a Web RTC video conversation.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} recordingConversationCustomisation=\"enabled\" Activate/Deactivate the capability for a user to record a conversation.</BR>\n     * Define if one or all users of a company has the right to record a conversation (for P2P and multi-party calls).</BR>\n     * </BR>\n     * recordingConversationCustomisation can be:</BR>\n     *\n     * - enabled: The user can record a peer to peer or a multi-party call.</BR>\n     * - disabled: The user can't record a peer to peer or a multi-party call.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} overridePresenceCustomisation=\"enabled\" Activate/Deactivate the capability for a user to change manually his presence.</BR>\n     * Define if one or all users of a company has the right to change his presence manually or only use automatic states.</BR>\n     * </BR>\n     * overridePresenceCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can change his presence.</BR>\n     * - disabled: No user of the company can change his presence.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} userProfileCustomisation=\"enabled\" Activate/Deactivate the capability for a user to modify his profile.</BR>\n     * Define if one or all users of a company has the right to modify the globality of his profile and not only (title, firstName, lastName).</BR>\n     * </BR>\n     * userProfileCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can modify his profile.</BR>\n     * - disabled: No user of the company can modify his profile.</BR>\n     *</BR>\n     * Default value : enabled\n     * @param {string} userTitleNameCustomisation=\"enabled\" Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company</BR>\n     * Define if one or all users of a company is allowed to change some profile data.</BR>\n     * </BR>\n     * userTitleNameCustomisation can be:</BR>\n     *\n     * - enabled: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.</BR>\n     * - disabled: Each user of the company can't change some profile data, except when his own capability is set to 'enabled'.</BR>\n     *</BR>\n     * Default value : enabled\n     * @param {string} changeTelephonyCustomisation=\"enabled\" Activate/Deactivate the ability for a user to modify telephony settings.</BR>\n     * Define if one or all users of a company has the right to modify telephony settings like forward activation ....</BR>\n     * </BR>\n     * changeTelephonyCustomisation can be:</BR>\n     *\n     * - enabled: The user can modify telephony settings.</BR>\n     * - disabled: The user can't modify telephony settings.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} changeSettingsCustomisation=\"enabled\" Activate/Deactivate the ability for a user to change all client general settings.</BR>\n     * Define if one or all users of a company has the right to change his client general settings.</BR>\n     * </BR>\n     * changeSettingsCustomisation can be:</BR>\n     *\n     * - enabled: The user can change all client general settings.</BR>\n     * - disabled: The user can't change any client general setting.</BR>\n     * </BR>\n     * Default value : enabled</BR>\n     * @param {string} fileCopyCustomisation=\"enabled\" Activate/Deactivate the capability for a user to copy files</BR>\n     * Define if one or all users of a company is allowed to copy any file he receives in his personal cloud space.</BR>\n     * </BR>\n     * fileCopyCustomisation can be:</BR>\n     *\n     * - enabled: The user can make a copy of a file to his personal cloud space.</BR>\n     * - disabled: The user can't make a copy of a file to his personal cloud space.</BR>\n     * </BR>\n     * default value : enabled\n     * @param {string} fileTransferCustomisation=\"enabled\" Activate/Deactivate the ability for a user to transfer files.</BR>\n     * Define if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.</BR>\n     * </BR>\n     * fileTransferCustomisation can be:</BR>\n     *\n     * - enabled: The user can transfer a file doesn't belong to him.</BR>\n     * - disabled: The user can't transfer a file doesn't belong to him.</BR>\n     * </BR>\n     * Default value : enabled</BR>\n     * @param {string} forbidFileOwnerChangeCustomisation=\"enabled\" Activate/Deactivate the ability for a user to loose the ownership on one file.</BR>\n     * Define if one or all users can drop the ownership of a file to another Rainbow user of the same company</BR>\n     * </BR>\n     * forbidFileOwnerChangeCustomisation can be:</BR>\n     *\n     * - enabled: The user can't give the ownership of his file.</BR>\n     * - disabled: The user can give the ownership of his file.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} readReceiptsCustomisation=\"enabled\" Activate/Deactivate the ability for a user to allow a sender to check if a chat message is read.</BR>\n     * Defines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.</BR>\n     * </BR>\n     * readReceiptsCustomisation can be:</BR>\n     *\n     * - enabled: The user allow the sender to check if an IM is read.</BR>\n     * - disabled: The user doesn't allow the sender to check if an IM is read.</BR>\n     * </BR>\n     * Default value : enabled\n     * @param {string} useSpeakingTimeStatistics=\"enabled\" Activate/Deactivate the ability for a user to see speaking time statistics.</BR>\n     * Defines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.</BR>\n     * </BR>\n     * useSpeakingTimeStatistics can be:</BR>\n     *\n     * - enabled: The user can use meeting speaking time statistics.</BR>\n     * - disabled: The user can't can use meeting speaking time statistics.</BR>\n     * </BR>\n     * Default value : enabled\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 6370,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Customisation Template",
        "value": "Customisation Template"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Json object containing the result of the method",
        "value": "{Object} - Json object containing the result of the method"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "updateCustomisationTemplate",
    "scope": "instance",
    "description": "This API allows an administrator to update an application customisation template.\n\n    A public template can't be updated using this API. Update is only allowed via a database migration.",
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "id of the template to update.",
        "name": "templateId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Template name.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "When visibility is private, list of companyIds that can access the template (other than the 'ownedByCompany' one).",
        "name": "visibleBy"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to use instant messages.</BR>\nDefine if one or all users of a company has the right to use IM, then to start a chat (P2P ou group chat) or receive chat messages and chat notifications.</BR>\n</BR>\ninstantMessagesCustomisation can be:</BR>\n\n- enabled: Each user of the company can use instant messages.</BR>\n- disabled: No user of the company can use instant messages.</BR>\n</BR>\nDefault value : enabled",
        "name": "instantMessagesCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the ability for a user to Use GIFs in conversations.</BR>\nDefine if one or all users of a company has the is allowed to send animated GIFs in conversations</BR>\n</BR>\nuseGifCustomisation can be:</BR>\n\n- enabled: The user can send animated GIFs in conversations.</BR>\n- disabled: The user can't send animated GIFs in conversations.</BR>\n</BR>\nDefault value : enabled",
        "name": "useGifCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate file sharing capability per company</BR>\nDefine if one or all users of a company can use the file sharing service then, allowed to download and share file.</BR>\n</BR>\nfileSharingCustomisation can be:</BR>\n\n- enabled: Each user of the company can use the file sharing service, except when his own capability is set to 'disabled'.</BR>\n- disabled: Each user of the company can't use the file sharing service, except when his own capability is set to 'enabled'.</BR>\n</BR>\nDefault value : enabled</BR>",
        "name": "fileSharingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to access to Rainbow file storage.</BR>\nDefine if one or all users of a company has the right to upload/download/copy or share documents.</BR>\n</BR>\nfileStorageCustomisation can be:</BR>\n\n- enabled: Each user of the company can manage and share files.</BR>\n- disabled: No user of the company can manage and share files.</BR>\n</BR>\nDefault value : enabled",
        "name": "fileStorageCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to use phone meetings (PSTN conference).</BR>\nDefine if one or all users of a company has the right to join phone meetings.</BR>\n</BR>\nphoneMeetingCustomisation can be:</BR>\n\n-  enabled: Each user of the company can join phone meetings.</BR>\n- disabled: No user of the company can join phone meetings.</BR>\n</BR>\n Default value : enabled",
        "name": "phoneMeetingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to use dial out in phone meetings.</BR>\nDefine if one or all users of a company is allowed to be called by the Rainbow conference bridge.</BR>\n</BR>\nuseDialOutCustomisation can be:</BR>\n\n- enabled: The user can be called by the Rainbow conference bridge.</BR>\n- disabled: The user can't be called by the Rainbow conference bridge.</BR>\n</BR>\n Default value : enabled",
        "name": "useDialOutCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to use a channel.</BR>\nDefine if one or all users of a company has the right to create channels or be a member of channels.</BR>\n</BR>\nuseChannelCustomisation can be:</BR>\n\n- enabled: Each user of the company can use some channels.</BR>\n- disabled: No user of the company can use some channel.</BR>\n</BR>\nDefault value : enabled",
        "name": "useChannelCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to use bubbles.</BR>\nDefine if one or all users of a company can create bubbles or participate in bubbles (chat and web conference).</BR>\n</BR>\nuseRoomCustomisation can be:</BR>\n\n- enabled: Each user of the company can use bubbles.</BR>\n- disabled: No user of the company can use bubbles.</BR>\n</BR>\n Default value : enabled",
        "name": "useRoomCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to share a screen.</BR>\nDefine if a user has the right to share his screen.</BR>\n</BR>\nuseScreenSharingCustomisation can be:</BR>\n\n- enabled: Each user of the company can share his screen.</BR>\n- disabled: No user of the company can share his screen.</BR>\n</BR>",
        "name": "useScreenSharingCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to switch to a Web RTC audio conversation.</BR>\nDefine if one or all users of a company has the right to be joined via audio (WebRTC) and to use Rainbow audio (WebRTC) (start a P2P audio call, start a web conference call).</BR>\n</BR>\nuseWebRTCVideoCustomisation can be:</BR>\n\n- enabled: Each user of the company can switch to a Web RTC audio conversation.</BR>\n- disabled: No user of the company can switch to a Web RTC audio conversation.</BR>\n</BR>\nDefault value : enabled",
        "name": "useWebRTCAudioCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to switch to a Web RTC video conversation.</BR>\nDefine if one or all users of a company has the right to be joined via video and to use video (start a P2P video call, add video in a P2P call, add video in a web conference call).</BR>\n</BR>\nuseWebRTCVideoCustomisation can be:</BR>\n\n- enabled: Each user of the company can switch to a Web RTC video conversation.</BR>\n- disabled: No user of the company can switch to a Web RTC video conversation.</BR>\n</BR>\nDefault value : enabled",
        "name": "useWebRTCVideoCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to record a conversation.</BR>\nDefine if one or all users of a company has the right to record a conversation (for P2P and multi-party calls).</BR>\n</BR>\nrecordingConversationCustomisation can be:</BR>\n\n- enabled: The user can record a peer to peer or a multi-party call.</BR>\n- disabled: The user can't record a peer to peer or a multi-party call.</BR>\n</BR>\nDefault value : enabled",
        "name": "recordingConversationCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to change manually his presence.</BR>\nDefine if one or all users of a company has the right to change his presence manually or only use automatic states.</BR>\n</BR>\noverridePresenceCustomisation can be:</BR>\n\n- enabled: Each user of the company can change his presence.</BR>\n- disabled: No user of the company can change his presence.</BR>\n</BR>\nDefault value : enabled",
        "name": "overridePresenceCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to modify his profile.</BR>\nDefine if one or all users of a company has the right to modify the globality of his profile and not only (title, firstName, lastName).</BR>\n</BR>\nuserProfileCustomisation can be:</BR>\n\n- enabled: Each user of the company can modify his profile.</BR>\n- disabled: No user of the company can modify his profile.</BR>\n</BR>\nDefault value : enabled",
        "name": "userProfileCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to modify his profile (title, firstName, lastName) per company</BR>\nDefine if one or all users of a company is allowed to change some profile data.</BR>\n</BR>\nuserTitleNameCustomisation can be:</BR>\n\n- enabled: Each user of the company can change some profile data, except when his own capability is set to 'disabled'.</BR>\n- disabled: Each user of the company can't change some profile data, except when his own capability is set to 'enabled'.</BR>\n</BR>\nDefault value : enabled",
        "name": "userTitleNameCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the ability for a user to modify telephony settings.</BR>\nDefine if one or all users of a company has the right to modify telephony settings like forward activation ....</BR>\n</BR>\nchangeTelephonyCustomisation can be:</BR>\n\n- enabled: The user can modify telephony settings.</BR>\n- disabled: The user can't modify telephony settings.</BR>\n</BR>\nDefault value : enabled",
        "name": "changeTelephonyCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the ability for a user to change all client general settings.</BR>\nDefine if one or all users of a company has the right to change his client general settings.</BR>\n</BR>\nchangeSettingsCustomisation can be:</BR>\n\n- enabled: The user can change all client general settings.</BR>\n- disabled: The user can't change any client general setting.</BR>\n</BR>\nDefault value : enabled</BR>",
        "name": "changeSettingsCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the capability for a user to copy files</BR>\nDefine if one or all users of a company is allowed to copy any file he receives in his personal cloud space.</BR>\n</BR>\nfileCopyCustomisation can be:</BR>\n\n- enabled: The user can make a copy of a file to his personal cloud space.</BR>\n- disabled: The user can't make a copy of a file to his personal cloud space.</BR>\n</BR>\ndefault value : enabled",
        "name": "fileCopyCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the ability for a user to transfer files.</BR>\nDefine if one or all users of a company has the right to copy a file from a conversation then share it inside another conversation.</BR>\n</BR>\nfileTransferCustomisation can be:</BR>\n\n- enabled: The user can transfer a file doesn't belong to him.</BR>\n- disabled: The user can't transfer a file doesn't belong to him.</BR>\n</BR>\nDefault value : enabled</BR>",
        "name": "fileTransferCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the ability for a user to loose the ownership on one file.</BR>\nDefine if one or all users can drop the ownership of a file to another Rainbow user of the same company</BR>\n</BR>\nforbidFileOwnerChangeCustomisation can be:</BR>\n\n- enabled: The user can't give the ownership of his file.</BR>\n- disabled: The user can give the ownership of his file.</BR>\n</BR>\nDefault value : enabled",
        "name": "forbidFileOwnerChangeCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the ability for a user to allow a sender to check if a chat message is read.</BR>\nDefines whether a peer user in a conversation allows the sender of a chat message to see if this IM is acknowledged by the peer.</BR>\n</BR>\nreadReceiptsCustomisation can be:</BR>\n\n- enabled: The user allow the sender to check if an IM is read.</BR>\n- disabled: The user doesn't allow the sender to check if an IM is read.</BR>\n</BR>\nDefault value : enabled",
        "name": "readReceiptsCustomisation"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"enabled\"",
        "description": "Activate/Deactivate the ability for a user to see speaking time statistics.</BR>\nDefines whether a user has the right to see for a given meeting the speaking time for each attendee of this meeting.</BR>\n</BR>\nuseSpeakingTimeStatistics can be:</BR>\n\n- enabled: The user can use meeting speaking time statistics.</BR>\n- disabled: The user can't can use meeting speaking time statistics.</BR>\n</BR>\nDefault value : enabled",
        "name": "useSpeakingTimeStatistics"
      }
    ],
    "longname": "module:AdminService#updateCustomisationTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateCustomisationTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateDirectoryEntry\n     * @since 2.2.0\n     * @instance\n     * @async\n     * @category Rainbow Company Directory portal - directory\n     * @param {string} entryId Id of the entry.\n     * @param {string} firstName Contact first Name\n     * @param {string} lastName Contact last Name\n     * @param {string} companyName Company Name of the contact\n     * @param {string} department Contact address: Department\n     * @param {string} street Contact address: Street\n     * @param {string} city Contact address: City\n     * @param {string} state When country is 'USA' or 'CAN', a state should be defined. Else it is not managed. Allowed values: \"AK\", \"AL\", \"....\", \"NY\", \"WY\"\n     * @param {string} postalCode Contact address: postal code / ZIP\n     * @param {string} country Contact address: country (ISO 3166-1 alpha3 format)\n     * @param {Array<string>} workPhoneNumbers Work phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)\n     * @param {Array<string>} mobilePhoneNumbers Mobile phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)\n     * @param {Array<string>} otherPhoneNumbers Other phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)\n     * @param {string} jobTitle Contact Job title\n     * @param {string} eMail Contact Email address\n     * @param {Array<string>} tags An Array of free tags </BR>\n     * A maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. </BR>\n     * The tags can be used to search the directory entries of type user or company using multi-criterion search (search query parameter of the API GET /api/rainbow/directory/v1.0/entries). The multi-criterion search using the tags can only be done on directories belonging to the company of the logged in user (and to the companies belonging to the organisation of the logged in user if that is the case).\n     * @param {string} custom1 Custom field 1\n     * @param {string} custom2 Custom field 2\n     * @description\n     *      This API allows administrators to update an entry of the directory of a company they administrate.</BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12958,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Rainbow Company Directory portal - directory",
        "value": "Rainbow Company Directory portal - directory"
      }
    ],
    "kind": "function",
    "name": "updateDirectoryEntry",
    "since": "2.2.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the entry.",
        "name": "entryId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact first Name",
        "name": "firstName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact last Name",
        "name": "lastName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company Name of the contact",
        "name": "companyName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: Department",
        "name": "department"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: Street",
        "name": "street"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: City",
        "name": "city"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "When country is 'USA' or 'CAN', a state should be defined. Else it is not managed. Allowed values: \"AK\", \"AL\", \"....\", \"NY\", \"WY\"",
        "name": "state"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: postal code / ZIP",
        "name": "postalCode"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact address: country (ISO 3166-1 alpha3 format)",
        "name": "country"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Work phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)",
        "name": "workPhoneNumbers"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Mobile phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)",
        "name": "mobilePhoneNumbers"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Other phone numbers. Allowed format are E164 or national with a country code. e.g: [\"+33390671234\"] or [\"+33390671234, 0690676790\"] with \"country\": \"FRA\") If a number is not in E164 format, it is converted to E164 format using provided country (or company country if contact's country is not set)",
        "name": "otherPhoneNumbers"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact Job title",
        "name": "jobTitle"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Contact Email address",
        "name": "eMail"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "An Array of free tags </BR>\nA maximum of 5 tags is allowed, each tag can have a maximum length of 64 characters. </BR>\nThe tags can be used to search the directory entries of type user or company using multi-criterion search (search query parameter of the API GET /api/rainbow/directory/v1.0/entries). The multi-criterion search using the tags can only be done on directories belonging to the company of the logged in user (and to the companies belonging to the organisation of the logged in user if that is the case).",
        "name": "tags"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Custom field 1",
        "name": "custom1"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Custom field 2",
        "name": "custom2"
      }
    ],
    "description": "This API allows administrators to update an entry of the directory of a company they administrate.</BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateDirectoryEntry",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateDirectoryEntry",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateInformationForUser\n     * @instance\n     * @description\n     *      Change information of a user. Fields that can be changed: `firstName`, `lastName`, `nickName`, `title`, `jobTitle`, `country`, `language`, `timezone`, `emails` </BR>\n     * @param {Object} objData An object (key: value) containing the data to change with their new value\n     * @param {string} userId The id of the user\n     * @async\n     * @category Companies and users management\n     * @return {Promise<Object, ErrorManager>}\n     * @fulfil {Object} - Updated user or an error object depending on the result\n     * @category async\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 1794,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies and users management",
        "value": "Companies and users management"
      },
      {
        "originalTitle": "fulfil",
        "title": "fulfil",
        "text": "{Object} - Updated user or an error object depending on the result",
        "value": "{Object} - Updated user or an error object depending on the result"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "async",
        "value": "async"
      }
    ],
    "kind": "function",
    "name": "updateInformationForUser",
    "scope": "instance",
    "description": "Change information of a user. Fields that can be changed: `firstName`, `lastName`, `nickName`, `title`, `jobTitle`, `country`, `language`, `timezone`, `emails` </BR>",
    "params": [
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": "An object (key: value) containing the data to change with their new value",
        "name": "objData"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The id of the user",
        "name": "userId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Object, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateInformationForUser",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateInformationForUser",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateMjmlFormatPartTemplate\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n     * </br> `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n     * </br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`\n     * @param {any} body information about template. exemple :\n     * <mjml>\n     *    <mj-body>\n     *       <mj-section background-color=\"#f0f0f0\">\n     *          <mj-column>\n     *              <mj-text  font-style=\"italic\" font-size=\"20px\" color=\"#626262\">My Company<br><a href=\"{{publicWebsiteURL }}\">{{ __({phrase: \"Learn more\", locale: locale}) }}</a>\n     *              </mj-text>\n     *          </mj-column>\n     *       </mj-section>\n     *    </mj-body>\n     * </mjml>\n     * @description\n     *    This API allows to update an email template for a given company, and more precisely the text format part. An error occurs when the template name is not yet allowed or when it is not found for this company.\n     * </br> Templates needs to be scanned by an anti-virus. An error may occurs in this step.\n     * </br> The template in .mjml format has to be validated. An error may occurs when the template is not compliant with the syntax.\n     * </br> A template can't be modified when is status is isActive = true (error detail 409011)\n     * </br>\n     * </br> Users with superadmin role can handle all available email templates of any company.\n     * </br> Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> Users with company_admin users can only handle all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | templateName | string | The name of the template |\n     * | companyId | string | The companyId for which the template is dedicated. |\n     * | isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n     * | tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n     * | subject | string | The email subject content. |\n     * | mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n     * | textFormat | string | The email content in text format. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *   {\n     *      \"companyId\": \"598857f360c749e5890ff2f9\",\n     *      \"templateName\": \"enduser_account_terminated\",\n     *      \"isActive\": false,\n     *      \"tested\": false,\n     *      \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     *      \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     *      \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5254,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateMjmlFormatPartTemplate",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n</br> `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n</br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`",
        "name": "templateName"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "information about template. exemple :\n<mjml>\n   <mj-body>\n      <mj-section background-color=\"#f0f0f0\">\n         <mj-column>\n             <mj-text  font-style=\"italic\" font-size=\"20px\" color=\"#626262\">My Company<br><a href=\"{{publicWebsiteURL }}\">{{ __({phrase: \"Learn more\", locale: locale}) }}</a>\n             </mj-text>\n         </mj-column>\n      </mj-section>\n   </mj-body>\n</mjml>",
        "name": "body"
      }
    ],
    "description": "This API allows to update an email template for a given company, and more precisely the text format part. An error occurs when the template name is not yet allowed or when it is not found for this company.\n</br> Templates needs to be scanned by an anti-virus. An error may occurs in this step.\n</br> The template in .mjml format has to be validated. An error may occurs when the template is not compliant with the syntax.\n</br> A template can't be modified when is status is isActive = true (error detail 409011)\n</br>\n</br> Users with superadmin role can handle all available email templates of any company.\n</br> Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n</br> Users with company_admin users can only handle all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| templateName | string | The name of the template |\n| companyId | string | The companyId for which the template is dedicated. |\n| isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n| tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n| subject | string | The email subject content. |\n| mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n| textFormat | string | The email content in text format. |\n\n </br>example of result :\n ```json\n  {\n     \"companyId\": \"598857f360c749e5890ff2f9\",\n     \"templateName\": \"enduser_account_terminated\",\n     \"isActive\": false,\n     \"tested\": false,\n     \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#updateMjmlFormatPartTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateMjmlFormatPartTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateRainbowMultifactorAuthenticationConfiguration\n     * @since 2.29.0\n     * @instance\n     * @description\n     * This API allows to update an Rainbow multifactor authentication configuration for a given company.\n     *\n     * </br> Users with `superadmin` role can create a Rainbow multifactor authentication configuration of any company.\n     * </br> `bp_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> `organization_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> `company_admin` users can only create a Rainbow multifactor authentication configuration of their own company.\n     *\n     * @async\n     * @param {string} companyId Company unique identifier\n     * @param {string} mfaId Rainbow policy unique identifier\n     * @param {boolean} enabledForAllCompanyUsers Enable or disable the use of these Rainbow multifactor authentication settings for all members of the company\n     * </br> When several Rainbow multifactor or SSO authentication types are configured for a company, the multifactor authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set or equal to `DEFAULT`).\n     * </br> If `enabledForAllCompanyUsers` is set to true during MFA setting creation of update, the previous MFA or SSO having `enabledForAllCompanyUsers` set to true is updated to false so that there will always be only one authentication setting with `enabledForAllCompanyUsers` set to true.\n     * @param {string} mfaName Name of Rainbow multifactor authentication configuration\n     * @param {string} mfaType type of Rainbow multifactor authentication\n     * @param {string} mfaPolicy Policy of Rainbow multifactor authentication\n     *\n     * </br> -   `never`: no Multi Factor requested to the user\n     * </br> -   `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)\n     * </br> -   `always`: Multi Factor is always requested to the user\n     *\n     * </br> Possibles values : `never`, `untrusted_only`, `always`\n     * @param {string} rememberDaysApplication Number of days when application and browsers are trusted. Default value : 365\n     * @param {boolean} mfaCanBeDisabled let the user disable the multifactor authentication. Default value : false\n     * @category Company Rainbow Multifactor Authentication Server\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | mfaId | string | unique identifier of Rainbow multifactor authentication |\n     * | mfaType | string | Authentication multifactor type<br><br>Possibles values : `none`, `totp` |\n     * | enabledForAllCompanyUsers | Boolean | Enable or disable the use of these Rainbow multifactor authentication settings for all members of company  <br>When several Rainbow multifactor or SSO authentication types are configured for a company, the SSO authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set). |\n     * | mfaName | string | Name of Rainbow multifactor authentication |\n     * | mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n     * | rememberDaysApplication | Number | Number of days when application and browsers are trusted |\n     * | mfaCanBeDisabled | Boolean | let the user disable the multifactor authentication |\n     *\n     * </br>example of result :\n     * ```json\n     *    {\n     *         \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n     *         \"mfaType\": \"totp\",\n     *         \"mfaPolicy\" : \"untrusted_app\",\n     *         \"enabledForAllCompanyUsers\": true,\n     *         \"mfaName\": \"totp example\",\n     *         \"rememberDaysApplication\": 70\n     *     }\n     * ```\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 467,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Company Rainbow Multifactor Authentication Server",
        "value": "Company Rainbow Multifactor Authentication Server"
      }
    ],
    "kind": "function",
    "name": "updateRainbowMultifactorAuthenticationConfiguration",
    "since": "2.29.0",
    "scope": "instance",
    "description": "This API allows to update an Rainbow multifactor authentication configuration for a given company.\n\n</br> Users with `superadmin` role can create a Rainbow multifactor authentication configuration of any company.\n</br> `bp_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> `organization_admin` users can only create a Rainbow multifactor authentication configuration for a company they manage (i.e. company linked to organization_admin's organization).\n</br> `company_admin` users can only create a Rainbow multifactor authentication configuration of their own company.",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Rainbow policy unique identifier",
        "name": "mfaId"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Enable or disable the use of these Rainbow multifactor authentication settings for all members of the company\n</br> When several Rainbow multifactor or SSO authentication types are configured for a company, the multifactor authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set or equal to `DEFAULT`).\n</br> If `enabledForAllCompanyUsers` is set to true during MFA setting creation of update, the previous MFA or SSO having `enabledForAllCompanyUsers` set to true is updated to false so that there will always be only one authentication setting with `enabledForAllCompanyUsers` set to true.",
        "name": "enabledForAllCompanyUsers"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Name of Rainbow multifactor authentication configuration",
        "name": "mfaName"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "type of Rainbow multifactor authentication",
        "name": "mfaType"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Policy of Rainbow multifactor authentication\n\n</br> -   `never`: no Multi Factor requested to the user\n</br> -   `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)\n</br> -   `always`: Multi Factor is always requested to the user\n\n</br> Possibles values : `never`, `untrusted_only`, `always`",
        "name": "mfaPolicy"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Number of days when application and browsers are trusted. Default value : 365",
        "name": "rememberDaysApplication"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "let the user disable the multifactor authentication. Default value : false",
        "name": "mfaCanBeDisabled"
      }
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| mfaId | string | unique identifier of Rainbow multifactor authentication |\n| mfaType | string | Authentication multifactor type<br><br>Possibles values : `none`, `totp` |\n| enabledForAllCompanyUsers | Boolean | Enable or disable the use of these Rainbow multifactor authentication settings for all members of company  <br>When several Rainbow multifactor or SSO authentication types are configured for a company, the SSO authentication type having `enabledForAllCompanyUsers` set to true is used when users of this company authenticate in Rainbow (if user `authenticationType` setting is not set). |\n| mfaName | string | Name of Rainbow multifactor authentication |\n| mfaPolicy | string | Policy of Rainbow multifactor authentication<br><br>* `never`: no Multi Factor requested to the user<br>* `untrusted_only`: Multi Factor is requested to the user only for untrusted applications and browsers (user has the possibility to trust applications/browsers so that the multi factor is no longer requested for this application/browser during the number of days specified in `rememberDaysApplication` setting)<br>* `always`: Multi Factor is always requested to the user<br><br>Possibles values : `never`, `untrusted_only`, `always` |\n| rememberDaysApplication | Number | Number of days when application and browsers are trusted |\n| mfaCanBeDisabled | Boolean | let the user disable the multifactor authentication |\n\n</br>example of result :\n```json\n   {\n        \"mfaId\": \"60ae30f1334f9a0741e4102f\",\n        \"mfaType\": \"totp\",\n        \"mfaPolicy\" : \"untrusted_app\",\n        \"enabledForAllCompanyUsers\": true,\n        \"mfaName\": \"totp example\",\n        \"rememberDaysApplication\": 70\n    }\n```"
      }
    ],
    "longname": "module:AdminService#updateRainbowMultifactorAuthenticationConfiguration",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateRainbowMultifactorAuthenticationConfiguration",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateSite\n     * @since 2.1.1\n     * @instance\n     * @category sites\n     * @async\n     * @param {string} siteId Site id. </BR>\n     * @param {string} name Site name\n     * @param {string} status Site status. Valid values : \"active\", \"alerting\", \"hold\", \"terminated\"\n     * @param {string} companyId Id of the company from which the site is linked.\n     * @description\n     *      This API allows administrators to update a given site by id they administrate.  </BR>\n     * @return {Promise<any>}\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 11547,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "sites",
        "value": "sites"
      }
    ],
    "kind": "function",
    "name": "updateSite",
    "since": "2.1.1",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site id. </BR>",
        "name": "siteId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site name",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site status. Valid values : \"active\", \"alerting\", \"hold\", \"terminated\"",
        "name": "status"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Id of the company from which the site is linked.",
        "name": "companyId"
      }
    ],
    "description": "This API allows administrators to update a given site by id they administrate.  </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        }
      }
    ],
    "longname": "module:AdminService#updateSite",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateSite",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateSubjectPartTemplate\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n     * </br> `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n     * </br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`\n     * @param {any} body information about template. exemple : {{ __({phrase: \"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\n     * @description\n     *     This API allows to update an email template for a given company, and more precisely the subject part. An error occurs when the template name is not yet allowed or when it is not found for this company.\n     * </br> Templates needs to be scanned by an anti-virus. An error may occurs in this step.\n     * </br> A template can't be modified when is status is isActive = true (error detail 409011)\n     * </br> Users with superadmin role can handle all available email templates of any company.\n     * </br> Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> Users with company_admin users can only handle all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | templateName | string | The name of the template |\n     * | companyId | string | The companyId for which the template is dedicated. |\n     * | isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n     * | tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n     * | subject | string | The email subject content. |\n     * | mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n     * | textFormat | string | The email content in text format. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *   {\n     *      \"companyId\": \"598857f360c749e5890ff2f9\",\n     *      \"templateName\": \"enduser_account_terminated\",\n     *      \"isActive\": false,\n     *      \"tested\": false,\n     *      \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     *      \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     *      \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5174,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateSubjectPartTemplate",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n</br> `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n</br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`",
        "name": "templateName"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "information about template. exemple : {{ __({phrase: \"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}",
        "name": "body"
      }
    ],
    "description": "This API allows to update an email template for a given company, and more precisely the subject part. An error occurs when the template name is not yet allowed or when it is not found for this company.\n</br> Templates needs to be scanned by an anti-virus. An error may occurs in this step.\n</br> A template can't be modified when is status is isActive = true (error detail 409011)\n</br> Users with superadmin role can handle all available email templates of any company.\n</br> Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n</br> Users with company_admin users can only handle all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| templateName | string | The name of the template |\n| companyId | string | The companyId for which the template is dedicated. |\n| isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n| tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n| subject | string | The email subject content. |\n| mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n| textFormat | string | The email content in text format. |\n\n </br>example of result :\n ```json\n  {\n     \"companyId\": \"598857f360c749e5890ff2f9\",\n     \"templateName\": \"enduser_account_terminated\",\n     \"isActive\": false,\n     \"tested\": false,\n     \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#updateSubjectPartTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateSubjectPartTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateSystem\n     * @since 2.20.0\n     * @instance\n     * @category Systems - systems\n     * @async\n     * @param {string} systemId System unique identifier\n     * @param {string} name System name/description\n     * @param {string} siteId Site from which the system is linked with.\n     * @param {string} pbxLdapId custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId.\n     * @param {string} type CCA type. Possibles values : oxo, oxe, third_party, undefined\n     * @param {string} country System country (ISO 3166-1 alpha3 format)\n     * @param {string} version CCA software version\n     * @param {number} serverPingTimeout=120 CCA config data. Default value : 120\n     * @param {string} pbxMainBundlePrefix CCA config data\n     * @param {boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG\n     * @param {Array<Object>} pbxNumberingTranslator List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use []\n     * Object : {\n     *     regexpMatch : string A valid regular expression used to select a translator action. \\d is not supported! Use (0..9) instead.\n     *     regexpReplace ? : string A valid dialable number.\n     *     description ? : string A short description of the rule\n     * }\n     * @param {string} pbxNationalPrefix  National prefix\n     * @param {string} pbxInternationalPrefix International prefix\n     * @param {Array<string>} searchResultOrder List of directory types to order search results: </BR>\n     * </BR>\n     * * RAINBOW: phone numbers defined in Rainbow users </BR>\n     * * LDAP: phone numbers defined in directories according to the following priority order: </BR>\n     *   - personal directory of the user </BR>\n     *   - company directory (of the company(ies) to which the PBX is linked) </BR>\n     *   - office365 directory (of the company(ies) to which the PBX is linked) </BR>\n     * </BR>\n     * Possibles values : RAINBOW, LDAP, PBX </BR>\n     * @param {boolean} isShared Indicates if the system is multi-company (shared across multiple companies). </BR>\n     * </BR>\n     * * isShared flag can't be set to true if isCentrex flag is true (these settings are exclusives). </BR>\n     * * Shared systems can be linked to several sites from different companies. </BR>\n     * * Several shared PBX can be attached to a same Rainbow company, as well as \"standard\" systems (i.e. systems without isShared flag, and so being linked only to this company). </BR>\n     * * Companies being linked to shared PBX can't be attached to centrex systems. </BR>\n     * * It is understood that this approach exposes all users of the shared PBX to all companies that have users on this PBX (for association, for dial by name). </BR> Anyway it seats on a PBX infra where all PBX users can directly dial (by short num and DBN) any other users of the network from their deskphones. </BR>\n     * * In cases the underlying infra is an homogeneous network of PBX, PBX grouping has to be managed. </BR>\n     * * isShared flag can be updated to true only if the system has isCentrex=false and is linked to at least one site or if a bpId is set. </BR>\n     * * isShared flag can be updated to false only if the system is linked to one site (exactly). In that case, bpId field is automatically reset to null. </BR>\n     * </BR>\n     *\n     * @param {boolean} bpId Link the system to the corresponding Business partner company. bpId must correspond to a valid company having isBP equal to true. Only directly settable by superadmin.\n     * @description\n     *  This API allows administrator to update a given system. </BR>\n     *  </BR>\n     *  superadmin can update systems linked to all sites existing in Rainbow. </BR>\n     *  bp_admin can only update systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n     *  organization_admin can only update systems linked to sites of companies under their organisation. </BR>\n     *  company_admin can only update systems linked to sites of their company. </BR>\n     *  site_admin can only update the systems linked to the site they administrate. </BR>\n     *\n     * @return {Promise<any>} An object of the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | id  | string | System unique identifier |\n     * | name optionnel | string | System name/description |\n     * | pbxId | string | Call Control Agent (CCA) login. |\n     * | pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n     * | siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n     * | type optionnel | string | CCA type<br><br>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n     * | country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n     * | version | string | CCA software version |\n     * | jid_pbxagent optionnel | string | CCA Jabber Id |\n     * | jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.<br><br>> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.<br>> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n     * | jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n     * | jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n     * | status optionnel | string | CCA status report. (read only)<br><br>> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)<br>> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code<br>> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.<br><br>Default value : `created`<br><br>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n     * | serverPingTimeout optionnel | Number | CCA config data |\n     * | pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n     * | pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n     * | regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n     * | regexpReplace optionnel | string | A valid dialable number. |\n     * | description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n     * | pbxNationalPrefix optionnel | string | National prefix |\n     * | pbxInternationalPrefix optionnel | string | International prefix |\n     * | creationDate | Date-Time | System creation date (Read only) |\n     * | statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n     * | searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:<br><br>* RAINBOW: phone numbers defined in Rainbow users<br>* LDAP: phone numbers defined in directories according to the following priority order:<br>    * personal directory of the user<br>    * company directory (of the company(ies) to which the PBX is linked)<br>    * office365 directory (of the company(ies) to which the PBX is linked)<br><br>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n     * | hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n     * | isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n     * | isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n     * | isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n     * | bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company<br><br>Default value : `null` |\n     * | connectionHistory | Object\\[\\] | history of connections. |\n     * | eventType | string | Type of connection |\n     * | eventDate | Date-Time | Date of connection |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 12146,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Systems - systems",
        "value": "Systems - systems"
      }
    ],
    "kind": "function",
    "name": "updateSystem",
    "since": "2.20.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System unique identifier",
        "name": "systemId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System name/description",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Site from which the system is linked with.",
        "name": "siteId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId.",
        "name": "pbxLdapId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CCA type. Possibles values : oxo, oxe, third_party, undefined",
        "name": "type"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "System country (ISO 3166-1 alpha3 format)",
        "name": "country"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CCA software version",
        "name": "version"
      },
      {
        "type": {
          "names": [
            "number"
          ]
        },
        "defaultvalue": 120,
        "description": "CCA config data. Default value : 120",
        "name": "serverPingTimeout"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "CCA config data",
        "name": "pbxMainBundlePrefix"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Whether or not pbxMainBundlePrefix is used by PCG",
        "name": "usePbxMainBundlePrefix"
      },
      {
        "type": {
          "names": [
            "Array.<Object>"
          ]
        },
        "description": "List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use []\nObject : {\n    regexpMatch : string A valid regular expression used to select a translator action. \\d is not supported! Use (0..9) instead.\n    regexpReplace ? : string A valid dialable number.\n    description ? : string A short description of the rule\n}",
        "name": "pbxNumberingTranslator"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "National prefix",
        "name": "pbxNationalPrefix"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "International prefix",
        "name": "pbxInternationalPrefix"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "List of directory types to order search results: </BR>\n</BR>\n* RAINBOW: phone numbers defined in Rainbow users </BR>\n* LDAP: phone numbers defined in directories according to the following priority order: </BR>\n  - personal directory of the user </BR>\n  - company directory (of the company(ies) to which the PBX is linked) </BR>\n  - office365 directory (of the company(ies) to which the PBX is linked) </BR>\n</BR>\nPossibles values : RAINBOW, LDAP, PBX </BR>",
        "name": "searchResultOrder"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Indicates if the system is multi-company (shared across multiple companies). </BR>\n</BR>\n* isShared flag can't be set to true if isCentrex flag is true (these settings are exclusives). </BR>\n* Shared systems can be linked to several sites from different companies. </BR>\n* Several shared PBX can be attached to a same Rainbow company, as well as \"standard\" systems (i.e. systems without isShared flag, and so being linked only to this company). </BR>\n* Companies being linked to shared PBX can't be attached to centrex systems. </BR>\n* It is understood that this approach exposes all users of the shared PBX to all companies that have users on this PBX (for association, for dial by name). </BR> Anyway it seats on a PBX infra where all PBX users can directly dial (by short num and DBN) any other users of the network from their deskphones. </BR>\n* In cases the underlying infra is an homogeneous network of PBX, PBX grouping has to be managed. </BR>\n* isShared flag can be updated to true only if the system has isCentrex=false and is linked to at least one site or if a bpId is set. </BR>\n* isShared flag can be updated to false only if the system is linked to one site (exactly). In that case, bpId field is automatically reset to null. </BR>\n</BR>",
        "name": "isShared"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Link the system to the corresponding Business partner company. bpId must correspond to a valid company having isBP equal to true. Only directly settable by superadmin.",
        "name": "bpId"
      }
    ],
    "description": "This API allows administrator to update a given system. </BR>\n </BR>\n superadmin can update systems linked to all sites existing in Rainbow. </BR>\n bp_admin can only update systems linked to sites of End Customer companies for which their bp_admin's company is the BP company. </BR>\n organization_admin can only update systems linked to sites of companies under their organisation. </BR>\n company_admin can only update systems linked to sites of their company. </BR>\n site_admin can only update the systems linked to the site they administrate. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "An object of the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| id  | string | System unique identifier |\n| name optionnel | string | System name/description |\n| pbxId | string | Call Control Agent (CCA) login. |\n| pbxLdapId optionnel | string | custom \"pbxId\" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |\n| siteId optionnel | string\\[\\] | Site from which the system is linked with. |\n| type optionnel | string | CCA type<br><br>Possibles values : `oxo`, `oxe`, `third_party`, `undefined` |\n| country optionnel | string | System country (ISO 3166-1 alpha3 format) |\n| version | string | CCA software version |\n| jid_pbxagent optionnel | string | CCA Jabber Id |\n| jid\\_pbxagent\\_password optionnel | string | CCA Jabber Id access code. The value of this field is depending on status field.<br><br>> * `created, activating`: This is the public access code. The code must be used by the CCA for the first connection.<br>> * `activated`: This is an Hash code of the private access code, reduced to the last eight digits |\n| jid_pbxpcg optionnel | string | PCG Jabber Id for this system |\n| jid\\_pbxpcg\\_password optionnel | string | PCG CCA Jabber Id password for this system |\n| status optionnel | string | CCA status report. (read only)<br><br>> * `created`: CCA uses a public access code to join rainbow infrastructure (see jid\\_pbxagent\\_password field)<br>> * `activating`: Rainbow infrastructure has proposed a private access code to replace the former public access code<br>> * `activated`: CCA has accepted the new access code, that will be used for the next initialization.<br><br>Default value : `created`<br><br>Possibles values : `\"created\"`, `\"activating\"`, `\"activated\"` |\n| serverPingTimeout optionnel | Number | CCA config data |\n| pbxMainBundlePrefix optionnel | string\\[\\] | CCA config data |\n| pbxNumberingTranslator optionnel | Object\\[\\] | List of several regular expressions used to validate internal or external phone numbers. Up to 100 regular expressions are allowed. (64 max char by regexp). To reset the list, use \\[\\] |\n| regexpMatch optionnel | string | A valid regular expression used to select a translator action. \\\\d is not supported! Use (0..9) instead. |\n| regexpReplace optionnel | string | A valid dialable number. |\n| description optionnel | string | A short description of the rule * @apiSuccess {Boolean} usePbxMainBundlePrefix Whether or not pbxMainBundlePrefix is used by PCG |\n| pbxNationalPrefix optionnel | string | National prefix |\n| pbxInternationalPrefix optionnel | string | International prefix |\n| creationDate | Date-Time | System creation date (Read only) |\n| statusUpdatedDate optionnel | Date-Time | Date of last system status update (Read only) |\n| searchResultOrder optionnel | string\\[\\] | List of directory types to order search results:<br><br>* RAINBOW: phone numbers defined in Rainbow users<br>* LDAP: phone numbers defined in directories according to the following priority order:<br>    * personal directory of the user<br>    * company directory (of the company(ies) to which the PBX is linked)<br>    * office365 directory (of the company(ies) to which the PBX is linked)<br><br>Possibles values : `RAINBOW`, `LDAP`, `PBX` |\n| hasMediaPillar optionnel | Boolean | Indicates a mediapillar exists or not for this system |\n| isShared optionnel | Boolean | Indicates if the system is **multi-company** (shared across multiple companies) |\n| isCentrex optionnel | Boolean | Indicates if the system is one tenant or **multi-tenant (OXE - OTEC-S or third_party)** |\n| isOxoManaged optionnel | Boolean | Indicates if the system is an OXO managed |\n| bpId optionnel | string | Identifier which links the system to the corresponding Business partner company. Obligatory when a BP admin creates a isCentrex or isShared system not yet used by a company<br><br>Default value : `null` |\n| connectionHistory | Object\\[\\] | history of connections. |\n| eventType | string | Type of connection |\n| eventDate | Date-Time | Date of connection |"
      }
    ],
    "longname": "module:AdminService#updateSystem",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateSystem",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method updateTextFormatFormatPartTemplate\n     * @since 2.28.2\n     * @instance\n     * @async\n     * @category Companies Customization Emails\n     * @param {string} companyId Company unique identifier\n     * @param {string} templateName One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n     * </br> `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n     * </br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`\n     * @param {any} body information about template. exemple :\n     *   {{ __({phrase: \"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\n     *\n     * {% if custom_message %}\n     * {{ custom_message }}\n     * {% endif %}\n     *\n     * {{ __({phrase: \"Start the discussion\", locale: locale}) }}:\n     * {{ invitationURL }}\n     * @description\n     *    This API allows to update an email template for a given company, and more precisely the text format part. An error occurs when the template name is not yet allowed or when it is not found for this company.\n     * </br> Templates needs to be scanned by an anti-virus. An error may occurs in this step.\n     * </br> The template in .mjml format has to be validated. An error may occurs when the template is not compliant with the syntax.\n     * </br> A template can't be modified when is status is isActive = true (error detail 409011)\n     * </br>\n     * </br> Users with superadmin role can handle all available email templates of any company.\n     * </br> Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n     * </br> Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n     * </br> Users with company_admin users can only handle all available email templates of their own company.\n     *\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | templateName | string | The name of the template |\n     * | companyId | string | The companyId for which the template is dedicated. |\n     * | isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n     * | tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n     * | subject | string | The email subject content. |\n     * | mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n     * | textFormat | string | The email content in text format. |\n     *\n     *  </br>example of result :\n     *  ```json\n     *   {\n     *      \"companyId\": \"598857f360c749e5890ff2f9\",\n     *      \"templateName\": \"enduser_account_terminated\",\n     *      \"isActive\": false,\n     *      \"tested\": false,\n     *      \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     *      \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     *      \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n     *  }\n     * ```\n     * </br>\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 5346,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "updateTextFormatFormatPartTemplate",
    "since": "2.28.2",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Companies Customization Emails",
        "value": "Companies Customization Emails"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Company unique identifier",
        "name": "companyId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "One of the email template allowed to be customized. **For the entire list of allowed template names, use getEmailTemplatesDocumentation API with parameter format=small**\n</br> `enduser_invite_somebody`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users\n</br> Possibles values : `admin_cancel_invite_user_join_company`, `admin_invite_user_join_company`, `admin_invite_user_join_company_as_admin`, `admin_invite_user_register_and_join_company`, `admin_invite_user_register_and_join_company_as_admin`, `admin_request_company_visibility`, `bp_admin_invite_ec_admin_link_his_company_to_bp`, `ec_admin_request_bp_admin_link_his_company_to_bp`, `bp_admin_invite_ec_admin_link_his_company_to_bp_as_bp_ir`, `ec_admin_request_bp_admin_link_his_company_to_bp_as_bp_ir`, `enduser_account_creation_completed`, `enduser_account_terminated`, `enduser_account_terminated_by_himself`, `enduser_conversation_download`, `enduser_invite_somebody`, `enduser_chat_room_invite_guest`, `enduser_conference_invite_somebody`, `enduser_scheduled_conference_cancel_invite`, `enduser_scheduled_conference_invite_somebody`, `enduser_scheduled_conference_ical`, `enduser_scheduled_conference_cancel_ical`, `enduser_request_join_company`, `enduser_request_user_visibility`, `enduser_temporary_token_reset_password`, `enduser_temporary_token_self_register`, `enduser_offline_im_invite`, `enduser_guest_account_time_to_live`, `enduser_oauth_authentication_notification`",
        "name": "templateName"
      },
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "information about template. exemple :\n  {{ __({phrase: \"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\n\n{% if custom_message %}\n{{ custom_message }}\n{% endif %}\n\n{{ __({phrase: \"Start the discussion\", locale: locale}) }}:\n{{ invitationURL }}",
        "name": "body"
      }
    ],
    "description": "This API allows to update an email template for a given company, and more precisely the text format part. An error occurs when the template name is not yet allowed or when it is not found for this company.\n</br> Templates needs to be scanned by an anti-virus. An error may occurs in this step.\n</br> The template in .mjml format has to be validated. An error may occurs when the template is not compliant with the syntax.\n</br> A template can't be modified when is status is isActive = true (error detail 409011)\n</br>\n</br> Users with superadmin role can handle all available email templates of any company.\n</br> Users with bp_admin role can only handle email templates for a company they manage (i.e. End Customer company for which bp_admin's company if the BP company).\n</br> Users with organization_admin role can only handle email templates for a company they manage (i.e. company linked to organization_admin's organization).\n</br> Users with company_admin users can only handle all available email templates of their own company.",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| templateName | string | The name of the template |\n| companyId | string | The companyId for which the template is dedicated. |\n| isActive | Boolean | When true the custom email template is used instead of Rainbow template |\n| tested | Boolean | When the rendering API is used to check the custom email rendering, this boolean is set to true. Any change about template content will reset the flag. |\n| subject | string | The email subject content. |\n| mjmlFormat | string | The email content in MJML markup language.  <br>MJML is a markup language designed to reduce the pain of coding a responsive email. Refer to https://mjml.io/documentation/#mjml-guides |\n| textFormat | string | The email content in text format. |\n\n </br>example of result :\n ```json\n  {\n     \"companyId\": \"598857f360c749e5890ff2f9\",\n     \"templateName\": \"enduser_account_terminated\",\n     \"isActive\": false,\n     \"tested\": false,\n     \"mjmlFormat\": \"<mjml>\\n\\t<mj-body>\\n\\t\\t<mj-section background-color=\\\"#f0f0f0\\\">\\n\\t\\t\\t<mj-column>\\n\\t\\t\\t\\t<mj-text  font-style=\\\"italic\\\" font-size=\\\"20px\\\" color=\\\"#626262\\\">My Company<br><a href={{publicWebsiteURL }}>{{ __({phrase: \\\"about My Company\\\", locale: locale}) }}</a>\\n\\t\\t\\t\\t</mj-text>\\n\\t\\t\\t</mj-column>\\n\\t\\t</mj-section>\\n\\t</mj-body>\\n</mjml>\",\n     \"subject\": \"{{ __({phrase: \\\"{{enduser_displayname}} has invited you to Alcatel-Lucent Rainbow\\\", locale: locale}, {enduser_displayname: enduser_displayname}) | safe }}\",\n     \"textFormat\": \"{{ __({phrase: \\\"You have been invited to Rainbow by {{enduser_displayname}} from {{enduser_companyName}}.\\\", locale: locale}, {enduser_displayname: enduser_displayname, enduser_companyName: enduser_companyName}) }}\\n\\n{% if custom_message %}\\n    {{ custom_message }}\\n{% endif %}\\n\\n{{ __({phrase: \\\"Start the discussion\\\", locale: locale}) }}:\\n{{ invitationURL }}\"\n }\n```\n</br>"
      }
    ],
    "longname": "module:AdminService#updateTextFormatFormatPartTemplate",
    "memberof": "module:AdminService",
    "$longname": "AdminService#updateTextFormatFormatPartTemplate",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @method uploadLdapAvatar\n     * @since 2.25.2-lts.3\n     * @instance\n     * @async\n     * @category AD/LDAP - LDAP APIs to use\n     * @param {any} binaryImgFile File to be sent\n     * @param {string} contentType to specify the content type of data. image/jpeg or image/png. Possibles values : image/jpeg, image/png\n     * @param {string} ldapId=null user unique identifier in ldap\n     * @description\n     *      This API can be used to upload avatar image for logged in user.</BR>\n     *      Rules:</BR>\n     *      Avatar file has to be sent directly in http body (no JSon).</BR>\n     *      Only jpeg, jpg and png files are supported. Appropriate content-type has to be set (image/jpeg or image/png).</BR>\n     *      If user already has an avatar, the existing one is overwritten.</BR>\n     *      By default, avatar file size is limited to 4194304 bytes (4 MB) (this limit can be changed by integration team in enduser portal config file).</BR>\n     *      When an avatar is uploaded, the field lastAvatarUpdateDate of the user is updated to the current date.</BR>\n     *      User vCard is also updated: the PHOTO element is set with avatar filename (i.e. user id) in base64 and the LASTAVATARUPDATE element is set to the current date.  </BR>\n     *\n     *      a 'rainbow_onXXX' event is raised when updated. The parameter configId can be used to retrieve the updated configuration.\n     * @example\n     * const mime = require('mime');\n     * const fs = require(\"fs\");\n     * testuploadLdapAvatar() {\n     *      let that = this;\n     *      let pathImg = \"c:\\\\temp\\\\IMG_20131005_173918.jpg\";\n     *\n     *      let fd = fs.openSync(pathImg, \"r+\");\n     *      let fileStats = fs.statSync(pathImg);\n     *      let sizeToRead = fileStats.size;\n     *      let buf = new Buffer(sizeToRead);\n     *      fs.readSync(fd, buf, 0, sizeToRead, null);\n     *      let fileType = mime.lookup(pathImg);\n\n     *      rainbowSDK.admin.uploadLdapAvatar(buf, fileType).then((result) => {\n     *          ...\n     *      });\n     * }\n     * @return {Promise<any>} -\n     * </BR>\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | status | string | Avatar upload status message. |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 9501,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "kind": "function",
    "name": "uploadLdapAvatar",
    "since": "2.25.2-lts.3",
    "scope": "instance",
    "async": true,
    "tags": [
      {
        "originalTitle": "category",
        "title": "category",
        "text": "AD/LDAP - LDAP APIs to use",
        "value": "AD/LDAP - LDAP APIs to use"
      }
    ],
    "params": [
      {
        "type": {
          "names": [
            "any"
          ]
        },
        "description": "File to be sent",
        "name": "binaryImgFile"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "to specify the content type of data. image/jpeg or image/png. Possibles values : image/jpeg, image/png",
        "name": "contentType"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": null,
        "description": "user unique identifier in ldap",
        "name": "ldapId"
      }
    ],
    "description": "This API can be used to upload avatar image for logged in user.</BR>\n     Rules:</BR>\n     Avatar file has to be sent directly in http body (no JSon).</BR>\n     Only jpeg, jpg and png files are supported. Appropriate content-type has to be set (image/jpeg or image/png).</BR>\n     If user already has an avatar, the existing one is overwritten.</BR>\n     By default, avatar file size is limited to 4194304 bytes (4 MB) (this limit can be changed by integration team in enduser portal config file).</BR>\n     When an avatar is uploaded, the field lastAvatarUpdateDate of the user is updated to the current date.</BR>\n     User vCard is also updated: the PHOTO element is set with avatar filename (i.e. user id) in base64 and the LASTAVATARUPDATE element is set to the current date.  </BR>\n\n     a 'rainbow_onXXX' event is raised when updated. The parameter configId can be used to retrieve the updated configuration.",
    "examples": [
      "const mime = require('mime');\nconst fs = require(\"fs\");\ntestuploadLdapAvatar() {\n     let that = this;\n     let pathImg = \"c:\\\\temp\\\\IMG_20131005_173918.jpg\";\n\n     let fd = fs.openSync(pathImg, \"r+\");\n     let fileStats = fs.statSync(pathImg);\n     let sizeToRead = fileStats.size;\n     let buf = new Buffer(sizeToRead);\n     fs.readSync(fd, buf, 0, sizeToRead, null);\n     let fileType = mime.lookup(pathImg);\n     rainbowSDK.admin.uploadLdapAvatar(buf, fileType).then((result) => {\n         ...\n     });\n}"
    ],
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "-\n</BR>\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| status | string | Avatar upload status message. |"
      }
    ],
    "longname": "module:AdminService#uploadLdapAvatar",
    "memberof": "module:AdminService",
    "$longname": "AdminService#uploadLdapAvatar",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method verifyMultifactorInformation\n     * @since 2.22.4\n     * @instance\n     * @async\n     * @category Multifactor Rainbow Authentication\n     * @param {string} token 6-digits TOTP code\n     * @description\n     *     This API allows Rainbow users to verify that rainbow multifcator authentication is operational. </BR>\n     * @return {Promise<any>} - result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | mfaType | string | type of multifactor |\n     * | mfaRecoveryCode | string | recovery code used as default multifactor authentication |\n     *\n     */",
    "meta": {
      "filename": "AdminService.js",
      "lineno": 13839,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Multifactor Rainbow Authentication",
        "value": "Multifactor Rainbow Authentication"
      }
    ],
    "kind": "function",
    "name": "verifyMultifactorInformation",
    "since": "2.22.4",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "6-digits TOTP code",
        "name": "token"
      }
    ],
    "description": "This API allows Rainbow users to verify that rainbow multifcator authentication is operational. </BR>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any>"
          ]
        },
        "description": "- result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| mfaType | string | type of multifactor |\n| mfaRecoveryCode | string | recovery code used as default multifactor authentication |"
      }
    ],
    "longname": "module:AdminService#verifyMultifactorInformation",
    "memberof": "module:AdminService",
    "$longname": "AdminService#verifyMultifactorInformation",
    "$kind": "method"
  }
]