Provisioning APIs are meant for managing Customers, Subscriptions, Meeting and Reports. These APIs has 2 different type of Access, viz. HTTP Base Authentication and OAuth2. Choose on that best suits your development needs.

Table of Contents

Supported Authentication Mechanism

  • HTTP Basic Authentication (For Server to Server API Call): The UCaaS Provisioning APIs use HTTP Basic Authentication mechanism to authenticate API calls. Each API call is validated via the authentication header. This suits best to integrate EnableX with Server Side Code. The API Access Credentials be saved on Server and used for Server-to-Server Call. Read more….
  • OAuth2 (For Client to Server API Call): The UCaaS Provisioning APIs also use OAuth2 Authentication mechanism to authenticate API calls using limited Access Token. Developer must call a “Login” route to get Access Token which will be used for subsequent API Call. Access Token expires in 20 minutes. Developer must call the “Login” route again to get a fresh Access Token for further API Access. Read more…

Get Access Token

This API returns a Access Token & User Information for a given User’s Access Credential using which other APIs may be called that supports OAuth2 Access Mechanism. The Access Token expires in 15 minutes from its creation time. Therefore, before any other API may be called, another Access Token must be created.

This API call doesn’t require any Access Credential.

  • API Route: https://api.enablex.io/ucaas/v1/login
  • HTTP Request: POST

Request Example:

POST https://api.enablex.io/ucaas/v1/login
Content-Type: application/json
X-Api-Id: String

{
  "email": "[email protected]",
  "password": "XOXO"
}

Headers Explanation:

  • Content-Type: To have application/json to notify that the body content is in JSON.
  • X-Api-Id: API Access ID. Get this from Portal.

Raw Body JSON Payload Explanation:

Object/KeyData TypeRequiredDescription
emailStringRequiredEmail of the user trying to access API
passwordStringRequiredPassword of the user

Response Example:

{
  "result": 1,
  "token": "String",
  "user": {
    "user_id": "",
    "user_type": "",
    "user_type_desc": "",
    "email": "",
    "first_name": "",
    "middle_name": "",
    "last_name": "",
    "profile_pic": "",
    "company": {
      "company_id": "Object ID",
      "company_name": "String",
      "company_legal_name": "String"
    },
    "apps": {
      "vc": {
        "access": "Boolean",
        "status": "String",
        "wef": "Date"
      },
      "wb": {
        "access": "Boolean",
        "status": "String",
        "wef": "Date"
      }
    },
    "timezone": {
      "timezone_id": "",
      "zone_name": "",
      "zone_abbr": "",
      "time_start": "",
      "gmt_offset": "",
      "is_dst": ""
    },
    "last_login_time": "",
    "profile_domain": ""
  }
}

Response Explanation (For Important Object/Keys only):

Object / KeysDescription
tokenThis is the Access Token for Provisioning API Access. Use this in Authorization Header of API Call
user.user_idUnique ID of the logged in User
user.user_typeString Constants, Enumerated values are:
user.user_type_descString. Full Description of user.user_type
apps.vcObject. Explains if the user has access to Meeting or Video Conference App
apps.wbObject. Explain if the user has access to Webinar App

Note: All Date Time data in response are in UTC

Get Password Reset Link

This API is used to get a Password Reset Link sent to a registered Email Address, in case a user has forgotten his password. Subsequently the User needs to follow instructions in thee mail to reset password.

This API call doesn’t require any Access Credential.

  • API Route: https://api.enablex.io/ucaas/v1/password
  • HTTP Request: POST

Request Example:

POST https://api.enablex.io/ucaas/v1/password
Content-Type: application/json
X-Api-Id: String

{	"email": “[email protected]”
}

Headers Explanation:

  • Content-Type: To have application/json to notify that the body content is in JSON.
  • X-Api-Id: API Access ID. Get this from Portal.

Raw Body JSON Payload Explanation:

Object/KeyData TypeRequiredDescription
emailStringRequiredRegistered Email of the user trying to get Password Reset Link

Response Example:

{	"result": 1
	"data": {
		"email": "[email protected]",
		"msg": "A Email has been set to user@yourdomain with instructions to reset password"
	}
}

Validate Password Reset Key

This API is used to validate Password Reset Key and to get user Information to reset Password.

This API call doesn’t require any Access Credential.

  • API Route: https://api.enablex.io/ucaas/v1/password/{{$RESET_KEY}}
  • HTTP Request: POST

Request Example:

PATCH https://api.enablex.io/ucaas/v1/password/{{$RESET_KEY}}
Content-Type: application/json
X-Api-Id: String

Headers Explanation:

  • Content-Type: To have application/json.
  • X-Api-Id: API Access ID. Get this from Portal.

URL Placeholder Explanation:

PlaceholderDescription
RESET_KEYThis is the RESET Key sent to Registered Email

Response Example:

{	"result": 1
	"data": {
		"email": "[email protected]",
		"user_id": "",
		"first_name": "",
		"middle_name": "",
		"last_name": ""
	}
}

Reset Password

This API is used to reset Password with a Reset Key that is delivered to Email Address with Instruction (Refer API Explanation above) password

This API call doesn’t require any Access Credential.

  • API Route: https://api.enablex.io/ucaas/v1/password/{{$RESET_KEY}}
  • HTTP Request: POST

Request Example:

PATCH https://api.enablex.io/ucaas/v1/password/XOXOXO
Content-Type: application/json
X-Api-Id: String

{	"email": "[email protected]",
	"password": "",
	"password_retyped": ""
}

Headers Explanation:

  • Content-Type: To have application/json to notify that the body content is in JSON.
  • X-Api-Id: API Access ID. Get this from Portal.

URL Placeholder Explanation:

PlaceholderDescription
RESET_KEYThis is the RESET Key sent to Registered Email

Raw Body JSON Payload Explanation:

Object/KeyData TypeRequiredDescription
emailStringRequiredRegistered Email of the user trying to reset. Must match with the Email used to get RESET_KEY
passwordStringRequiredNew Password
password_retypedStringRequiredNew Password Retyped. Must match with password.

Response Example:

{	"result": 1
	"data": {
		"email": "[email protected]",
		"msg": "Your Account's Password has been reset."
	}
}