Table of Contents
- Permanent Room
- Scheduled Meetings
- Lobby / Waiting Room
- Poll
- Error Codes
Get Permanent Room Info
This API is used to get permanent meeting room information.
- API Route:
- To get own permanent meeting room information – https://api.enablex.io/ucaas/v1/meeting/permanent
- To get permanent meeting room information for the specified user – https://api.enablex.io/ucaas/v1/meeting/permanent/{{user_id}}
- HTTP Request: GET
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Response Example:
{ "result": 1, "permanent_room": { "room_id": "String", "user_id": "String", "room_name": "String", "desc": "String", "mpin": "String", "ppin": "String", "direct_url": "String", "moderators": "Number", "participants": "Number", "duration": "String", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean" } }
Update Permanent Room Info
This API is used to update permanent meeting room information. This updates permanent meeting room information if the room-id specified in URL is for own or any user under it.
- API Route: https://api.enablex.io/ucaas/v1/meetings/permanent/{{room_id}}
- HTTP Request: PATCH
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Request Example:
{ "room_name": "String", "desc": "String", "moderators": "Number", "participants": "Number", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean" }
Raw Body JSON Payload Explanation:
All data fields are optional while updating. Use only those fields which you look to update.
Object/Key | Data Type | Required | Description |
room_name | String | Optional | Name of the Room |
desc | String | Optional | Descriptive text on Room/Meeting |
moderators | Number | Optional | Number of moderators needed on call |
participants | Number | Optional | Number of participants needed on call |
wait_for_moderator | Boolean | Optional | Whether to wait for Moderator to join first to get into a Session |
knock | Boolean | Optional | Whether to enable moderated entry into the session for participants |
auto_recording | Boolean | Optional | Whether to enable auto-recording of the Session |
Response Example:
{ "result": 1, "msg": "permanent Room information has been updated", "permanent_room": { "room_id": "String", "user_id": "String", "room_name": "String", "desc": "String", "mpin": "String", "ppin": "String", "direct_url": "String", "moderators": "Number", "participants": "Number", "duration": "String", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean" } }
Reset Permanent Room PINs
This API is used to reset Access PINs, either Moderator PIN or Participant PIN or both as required. This resets permanent room pins if the room-id specified in URL is for own or any user under it.
- API Route: https://api.enablex.io/ucaas/v1/meetings/permanent/{{room_id}}
- HTTP Request: PATCH
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-Action
:reset-pins
X-App-Type
:vc
,wb
Request Example:
{ "reset_mpin": Boolean, "reset_ppin": Boolean }
Raw Body JSON Payload Explanation:
All data fields are optional while updating. Use only those fields which you look to update.
Object/Key | Data Type | Required | Description |
reset_ppin | Boolean | Optional | To reset Participant PIN |
reset_mpin | Boolean | Optional | To reset Moderator PIN |
Response Example:
{ "result": 1, "msg": "Access PIN has been updated", "permanent_room": { "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String", "desc": "String", "mpin": "String", "ppin": "String", "direct_url": "String", "moderators": "Number", "participants": "Number", "duration": "String", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean" } }
Schedule Meeting
This API is used to schedule a meeting.
- API Route: https://api.enablex.io/ucaas/v1/meetings
- HTTP Request: POST
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Request Example:
{ "user_id": "String", "room_name": "String", "desc": "String", "start_time ": "YYYY-MM-DD HH:ii:ss ", "duration": "Number", "moderators": "Number", "participants": "Number", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean", "send_mail": "Boolean", "invitees": { "contact_ids": [ "String" ], "group_ids": [ "String" ], "emails": [ "String" ] } }
Raw Body JSON Payload Explanation:
Object/Key | Data Type | Required | Description |
user_id | String | Optional | It must be user under the company. If given, meeting to be scheduled under this user. The user must be under the account. |
room_name | String | Required | Name of the Room |
desc | String | Optional | Descriptive text on Room/Meeting |
start_time | Required | YYYY-MM-DD HH:ii:ss in UTC | |
timezone_id | Required | ||
duration | Required | Duration of the meeting | |
moderators | Number | Required | Number of moderators needed on call |
participants | Number | Required | Number of participants needed on call |
wait_for_moderator | Boolean | Optional | Whether to wait for Moderator to join first to get into a Session |
knock | Boolean | Optional | Whether to enable moderated entry into the session for participants |
auto_recording | Boolean | Optional | Whether to enable auto-recording of the Session |
send_mail | Boolean | Optional | Whether to send out emails with Access Info |
invitees | Object | Optional | Array of Contact IDs, Group IDs, or Email Addresses to whom email will be sent. |
Response Example:
{ "result": 1, "msg": "Meeting has been scheduled", "meeting": { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String", "desc": "String", "start_time ": "YYYY-MM-DD HH:ii:ss ", "mpin": "String", "ppin": "String", "direct_url": "String", "moderators": "Number", "participants": "Number", "duration": "String", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean" } }
Edit Meeting Information
This API is used to edit the meeting information. This updates the meeting information if the room-id specified in URL is for own or any user under it.
- API Route: https://api.enablex.io/ucaas/v1/meetings/{{$MEETING_ID}}
- HTTP Request: PATCH
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Request Example:
{ "room_name": "String", "desc": "String", "start_time ": "YYYY-MM-DD HH:ii:ss ", "duration": "Number", "moderators": "Number", "participants": "Number", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean", "send_mail": "Boolean", "invitees": { "contacts": [ { "contact_id": "String", "name": "String", "email": "String" } ], "groups": [ { "group_id": "String", "group_name": "String" } ] } }
Raw Body JSON Payload Explanation:
Object/Key | Data Type | Required | Description |
room_name | String | Optional | Name of the Room |
desc | String | Optional | Descriptive text on Room/Meeting |
start_time | Optional | YYYY-MM-DD HH:ii:ss in UTC | |
timezone_id | Optional | ||
duration | Optional | Duration of the meeting | |
moderators | Number | Optional | Number of moderators needed on call |
participants | Number | Optional | Number of participants needed on call |
wait_for_moderator | Boolean | Optional | Whether to wait for Moderator to join first to get into a Session |
knock | Boolean | Optional | Whether to enable moderated entry into the session for participants |
auto_recording | Boolean | Optional | Whether to enable auto-recording of the Session |
send_mail | Boolean | Optional | Whether to send out emails with Access Info |
invitees | Object | Optional | Array of Contact IDs, Group IDs, or Email Addresses to whom email will be sent. |
Response Example:
{ "result": 1, "msg": "Meeting has been updated", "meeting": { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String", "desc": "String", "start_time ": "YYYY-MM-DD HH:ii:ss ", "timezone": { "timezone_id": "", "zone_name": "", "zone_abbr": "", "time_start": "", "gmt_offset": "", "is_dst": "" }, "mpin": "String", "ppin": "String", "direct_url": "String", "moderators": "Number", "participants": "Number", "duration": "String", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean" } }
Get Meeting Information
This API is used to get Meeting Information for given Meeting ID.
- API Route: https://api.enablex.io/ucaas/v1/meetings/{{$MEETING_ID}}
- HTTP Request: PATCH
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Response Example:
{ "result": 1, "meeting": { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String", "desc": "String", "start_time ": "YYYY-MM-DD HH:ii:ss ", "duration": "Number", "moderators": "Number", "participants": "Number", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean", "invitees": { "contact_ids": [ "String" ], "group_ids": [ "String" ], "emails": [ "String" ] } } }
Get List of Meetings
This API is used to get a list of Meetings scheduled which are current, upcoming or have happened in the past.
- API Route:
- https://api.enablex.io/ucaas/v1/meetings
- https://api.enablex.io/ucaas/v1/meetings?page={{$PAGE_NUM}}
- HTTP Request: GET
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Raw Body JSON Payload Explanation:
Object/Key | Data Type | Required | Description |
page | Number | Optional | Data return requested for the Page. Default 1. |
page_length | Number | Optional | Total Records to include in a page. Default 10. |
search_by | String | Optional | Required if “search_string” is used. Use any of the enumerated values: o mpin: On MPIN field o ppin: On PPIN field o user_id: On a specific user |
search_string | String | Optional | Required with search_by. |
stage | String | Optional | “upcoming”, “current”, “past” |
order_by | String | Optional | Database field names. |
order_qualify | String | Optional | Default “asc”. Enumerated values: asc, desc. |
Response Example:
{ "result": 1, "search": { "page": "Number", "page_length": "Number", "search_by": "String", "stage": "String", "search_string": "String", "order_by": "String", "order_qualify": "String" }, "meetings": [ { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String", "desc": "String", "start_time ": "YYYY-MM-DD HH:ii:ss ", "timezone": { "timezone_id": "", "zone_name": "", "zone_abbr": "", "time_start": "", "gmt_offset": "", "is_dst": "" }, "mpin": "String", "ppin": "String", "direct_url": "String", "moderators": "Number", "participants": "Number", "duration": "String", "wait_for_moderator": "Boolean", "knock": "Boolean", "auto_recording": "Boolean", "stage": "String" } ] }
Cancel Meeting
This API is used to cancel or delete Meeting for given Meeting ID.
- API Route: https://api.enablex.io/ucaas/v1/meetings/{{$MEETING_ID}}
- HTTP Request: DELETE
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Response Example:
{ "result": 1, "msg": "Meeting has been cancelled". "event": { "meeting_id": "String", "room_id": "String ", "user_id": "Strig", "room_name": "String " }
Get Meeting Lobby Information
This API is used to get Lobby Information for given Meeting ID.
- API Route: https://api.enablex.io/ucaas/v1/meetings/{{$MEETING_ID}}/lobby
- HTTP Request: GET
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Response Example:
{ "result": 1, "meeting": { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String" }, "lobby": { "options": { "messages": "Boolean", "images": "Boolean", "audio": "Boolean", "video": "Boolean" }, "message": [ { "text": "String" } ], "image": [ { "url": "String", "caption": "String" } ], "video": [ { "url": "String", "embed": "String" } ], "audio": [ { "url": "String", "embed": "String" } ] } }
Add Meeting Lobby Information
This API is used to add Lobby Information to a Meeting.
- API Route: https://api.enablex.io/ucaas/v1/meetings/{{$MEETING_ID}}/lobby
- HTTP Request: POST
Headers Explanation:
Content-Type
:multipart/form-data
X-App-Type
:vc
,wb
Request Example:
{ "options": { "message": "Boolean", "image": "Boolean", "audio": "Boolean", "video": "Boolean" }, "message": [ { "text": "String" } ], "image": [ { "img_file": "File", "url": "String", "caption": "String" } ], "video": [ { "url": "String" } ], "audio": [ { "audio_file": "File", "url": "String" } ] }
Raw Body JSON Payload Explanation:
Object/Key | Data Type | Required | Description |
options | Object | Required | What type of Lobby to define. You can set one amongst the 4 options as true. |
options .messages | Boolean | Optional | Set it to true if you want “text messages” to show as slideshow on lobby. Along with “messages”, you can define background audio also. |
options.image | Boolean | Optional | Set it to true if you want “image slideshow” to show as slideshow on lobby. Along with “images”, you can define background audio also. |
options.audio | Boolean | Optional | Set it to true if you want “background audio” to play on lobby. |
options.video | Boolean | Optional | Set it to true if you want “video” to play on lobby. |
message | Array of Object | Optional | Required with options.message:true .It contains array of multiple text messages. |
image | Array of Object | Optional | Required with options.image:true . It contains array of multiple image file or image URL with caption. |
audio | Array of Object | Optional | Required with options.audio:true . It contains array of multiple audio file (.mp3) or audio file URL. Currently, we support only one audio file upload. However, you need to maintain this array structure. |
video | Array of Object | Optional | Required with options.video:true . It contains array of multiple video file URLs (.mp4). Currently, we support only one video file. However, you need to maintain this array structure. |
Response Example:
{ "result": 1, "meeting": { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String" }, "lobby": { "options": { "messages": "Boolean", "images": "Boolean", "audio": "Boolean", "video": "Boolean" }, "message": [ { "text": "String" } ], "image": [ { "url": "String", "caption": "String" } ], "video": [ { "url": "String", "embed": "String" } ], "audio": [ { "url": "String", "embed": "String" } ] } }
Update Meeting Lobby Information
This API is used to update Lobby Information to a Meeting.
- API Route: https://api.enablex.io/ucaas/v1/meetings/{{$MEETING_ID}}/lobby
- HTTP Request: PATCH
Headers Explanation:
Content-Type
:multipart/form-data
X-App-Type
:vc
,wb
Request Example:
{ "options": { "message": "Boolean", "image": "Boolean", "audio": "Boolean", "video": "Boolean" }, "message": [ { "text": "String" } ], "image": [ { "img_file": "File", "url": "String", "caption": "String" } ], "video": [ { "url": "String" } ], "audio": [ { "audio_file": "File", "url": "String" } ] }
Raw Body JSON Payload Explanation:
Object/Key | Data Type | Required | Description |
options | Object | Required | What type of Lobby to define. You can set one amongst the 4 options as true. |
options .messages | Boolean | Optional | Set it to true if you want “text messages” to show as slideshow on lobby. Along with “messages”, you can define background audio also. |
options.image | Boolean | Optional | Set it to true if you want “image slideshow” to show as slideshow on lobby. Along with “images”, you can define background audio also. |
options.audio | Boolean | Optional | Set it to true if you want “background audio” to play on lobby. |
options.video | Boolean | Optional | Set it to true if you want “video” to play on lobby. |
message | Array of Object | Optional | Required with options.message:true .It contains array of multiple text messages. |
image | Array of Object | Optional | Required with options.image:true . It contains array of multiple image file or image URL with caption. |
audio | Array of Object | Optional | Required with options.audio:true . It contains array of multiple audio file (.mp3) or audio file URL. Currently, we support only one audio file upload. However, you need to maintain this array structure. |
video | Array of Object | Optional | Required with options.video:true . It contains array of multiple video file URLs (.mp4). Currently, we support only one video file. However, you need to maintain this array structure. |
Response Example:
{ "result": 1, "meeting": { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String" }, "lobby": { "options": { "messages": "Boolean", "images": "Boolean", "audio": "Boolean", "video": "Boolean" }, "message": [ { "text": "String" } ], "image": [ { "url": "String", "caption": "String" } ], "video": [ { "url": "String", "embed": "String" } ], "audio": [ { "url": "String", "embed": "String" } ] } }
Delete Meeting Lobby Information
This API is used to delete Lobby Information for a Meeting.
- API Route: https://api.enablex.io/ucaas/v1/meetings/{{$MEETING_ID}}/lobby
- HTTP Request: DELETE
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Response Example:
{ "result": 1, "desc": "Lobby is deleted", "meeting": { "meeting_id": "String", "room_id": "String", "user_id": "String", "room_name": "String", "app_type": "String" } }
Get Polled Data
This API is used to responses of polls in a Meeting Room.
- API Route: https://api.enablex.io/ucaas/v1/polls/{{$ROOM_ID}} – Get Poll data for all Video Sessions in a Meeting Room
- API Route: https://api.enablex.io/ucaas/v1/polls/{{$ROOM_ID}} ?conf_num={{CONF_NUM}}- Get Poll data for a given Video Sessions in a Meeting Room
- HTTP Request: GET
Headers Explanation:
Content-Type
: To haveapplication/json
to notify that the body content is in JSON.X-App-Type
:vc
,wb
Query String Parameters:
- conf_num – Conference Number for the Session. To receive Polled Data for specific session.
Response Example:
{ "result": 1, "polls": { "{{$poll_id}}": { "conf_num": Number, "timestamp": Number, "duration": String, "type": "String", /* Enumerated Data: MCQ1=1-Answer, MCQN=Multi-Answer */ "question": "String", "options": { "opt1": "String", "opt2": "String", "opt3": "String" }, "status": "P", /* Enumerated Data: P=Polled, D=Draft */ "result": { "opt1": Number, /* Total Responses of Opt-1 */ "opt2": Number, "opt3": Number }, "total_result": Number, /* Overall responponders */ "id": Number /* Poll-ID */ } }, "msg": "String" }
Error Codes
Code | Description |
---|---|
1000 | Room is not active |
1601 | Meeting Date Time must be in future |
1602 | Meeting Date Time: Format YYYY-MM-DD (In UTC) |
1603 | Meeting Date Time is required |
1611 | Meeting Title is reqruied |
1612 | Meeting Title: Minimum 3 Characters |
1613 | Meeting Title: Maximum 50 Characters |
1615 | No active Meeting Subscription |
1616 | No active Webinar Subscription |
1617 | Not assigned with Meeting License |
1618 | Not assigned with Webinar License |
1621 | Description filed is required |
1631 | Meeting Duration is required |
1632 | Meeting Duration: Minimum 10 Minutes |
1633 | Meeting Duration: Exceeded permissible duration |
1634 | Meeting Duration: In number of minutes |
1641 | Moderator count is required |
1642 | Moderator Count: Minimum 1 |
1643 | Moderator Count: Must not exceed room size |
1644 | Moderator Count: In Number |
1651 | Participant count is required |
1652 | Participant Count: Minimum 0 |
1653 | Participant Count: Must not exceed room size |
1654 | Participant Count: In Number |
1672 | Auto Recording: In Boolean (true, false) |
1681 | Timezone is required |
1683 | Timezone id required |
1684 | Invalid Timezone ID |
1685 | Invalid Timezone ID |
1686 | Invalid Timezone ID |
1691 | Invalid Timezone ID |
1692 | Send Email: In Boolean (true, false) |
1693 | Wait for Moderator: In Boolean (true, false) |
1694 | Knock: In Boolean (true, false) |
1695 | Invitees: In Array |
1696 | Invitee Email Addresses: In Array |
1697 | Invitee Contact IDs: In Array |
1698 | Invitee Group IDs: In Array |
1901 | Reset MPIN: In Boolean (true, false) |
1902 | Reset PPIN: In Boolean (true, false) |
1903 | MPIN and PPIN are required |
2402 | Message field is required |
2403 | Image field is required |
2404 | Audio field is required |
2405 | Video field is required |
2412 | The Image option must be an array |
2421 | The video option must be an array |
2422 | Message text is required if message is used for lobby |
2423 | The options field is required. To choose from text, audio and video. |
2432 | Message text min: 5 characters |
2433 | Message text max: 100 characters |
2435 | Image caption must be a string |
2438 | Video url must be a string |
2453 | The url format should be a valid url string |
2501 | Page length filter must be passed with an integer |
2603 | The selected order by is invalid |
2604 | The selected order qualify is invalid |
2605 | The Selected Search is invalid |
2606 | The search string field is required when search by is present |
2608 | Page number must be a number |
3011 | Old password and new password cannot be the same |
4201 | Invalid password reset token or reset code |