UCaaS API Authentication

UCaaS API provides 2 different type of Access Mechanisms

HTTP Basic Authentication (for Server to Server API Call)

The UCaaS API uses HTTP Basic Authentication mechanism to authenticate API calls. Each API call is validated via the authentication header. To authenticate to the API, pass the following credentials in the Authorization header in the API call request:

  • Application ID or APP_ID as Username
  • Application Key or APP_KEY as Password
POST https://api.enablex.io/ucaas/v1/customers
Authorization: Basic XXXXXX
Content-Type: application/json

The Authorization header in the above example contains a value XXXXX which is a base64 encoded string of the API ACCESS ID:API ACCESS KEY.


Every reseller or customer may get access to API access for application integration. To obtain the API access credentials, perform the following steps:

  1. Log in to the EnableX CPaaS portal. If you haven't registered yet, sign up here . Upon successful login, you are directed to the CPaaS Dashboard.
  2. In the Dashboard, navigate to Create Project and select your preferred channels for integration. After creating the project, EnableX will send your project's API access credentials (App ID and App Key) to the email address associated with your account.

In case you need to reset your App Key or want EnableX to resend the API credentials, follow these additional steps:

  1. Select the project for which you need to reset or resend the API credentials.

  2. Click the Action icon (ellipsis) in front of the selected project. The Project Summary page is displayed.

  3. On the Project Summary page, locate the Project Credentials section.

  4. The Project Credentials section includes the following options:

    a. RESET APP KEY: Use this option to reset the application credentials for the project.

    b. SEND CREDENTIALS: Use this option to resend the application credentials to your registered email address.

OAuth2 (for Client to Server API Call)

The UCaaS API uses OAuth2 Authentication mechanism to authenticate API calls using a limited access token. Developer must call a "Login" route to get the access token which will be used for subsequent API Call. The access token expires in 20 minutes. Developer must call the "Login" route again to get a fresh access token for further API access.

This suits best to integrate EnableX with a client endpoint application. An application user uses their own login credentials which is used in the "Login" route to get an access token. This helps the client endpoint application development without having to share API access credentials in the client endpoint code.

POST https://api.enablex.io/ucaas/v1/login
Content-Type: application/json
X-Api-Id: String /* API Access ID */
{ "email": "String",
"password": "String"
// Returns { "token": "String" }. Use it for subsequent API Call
GET https://api.enablex.io/ucaas/v1/customers
Authorization: Token XXXXXXXXXXX
Content-Type: application/json