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
- Get Access Token
- Get Link to reset Password
- Validate Password Reset Key
- Reset Password
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 haveapplication/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/Key | Data Type | Required | Description |
email | String | Required | Email of the user trying to access API |
password | String | Required | Password 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 / Keys | Description |
token | This is the Access Token for Provisioning API Access. Use this in Authorization Header of API Call |
user.user_id | Unique ID of the logged in User |
user.user_type | String Constants, Enumerated values are: |
user.user_type_desc | String. Full Description of user.user_type |
apps.vc | Object. Explains if the user has access to Meeting or Video Conference App |
apps.wb | Object. 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 haveapplication/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/Key | Data Type | Required | Description |
email | String | Required | Registered 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 [email protected] 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 haveapplication/json
.X-Api-Id
: API Access ID. Get this from Portal.
URL Placeholder Explanation:
Placeholder | Description |
RESET_KEY | This 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 haveapplication/json
to notify that the body content is in JSON.X-Api-Id
: API Access ID. Get this from Portal.
URL Placeholder Explanation:
Placeholder | Description |
RESET_KEY | This is the RESET Key sent to Registered Email |
Raw Body JSON Payload Explanation:
Object/Key | Data Type | Required | Description |
email | String | Required | Registered Email of the user trying to reset. Must match with the Email used to get RESET_KEY |
password | String | Required | New Password |
password_retyped | String | Required | New Password Retyped. Must match with password. |
Response Example:
{ "result": 1 "data": { "email": "[email protected]", "msg": "Your Account's Password has been reset." } }