About Libero
Libero is your secured video conferencing and collaboration solution powered with AI. An innovative and indigenious product from SoulPage IT Solutions, Libero offers cognitive video conferencing features for more effective business collaborations with a deep understanding on providing efficient data security to the information shared during the meetings.
Libero API Documentation
Libero API documentation acts as your handbook to get started and integrate audio, video streaming capabilities in your applications. With just a few lines of codes, you will be able to build video conferencing, audio conferencing, and live streaming into your applications that work across all platforms and browsers. Explore the documentation to get trained and master leveraging APIs to build custom applications with a powerful collaboration solution.
Getting Started
We have two different parts to the API. You can use them either together or individually.
- Create meetings using the HTTP meetings API from a server.
- Embed meetings using an <iframe> or in a mobile app
Prerequisites
In order to integrate Libero, begin by creating an account.
- To create meetings, you’ll need an API key. Once you are registered, submit a request for an API key.
- If you are planning to embed Libero into another web service, you must whitelist the domains you’ll use (except for local development and testing)
About endpoints
An API endpoint is a path that uniquely identifies any resource: anything from meeting details to notes and recordings. The path of the endpoint will differ depending on the type of the resource. Always append the endpoint to https://meet.liberomeet.io/ or https://api.liberomeet.io/
The below table shows a few of the most common endpoints.
Common endpoints:
Resource | Endpoint* |
---|---|
Meetings | https://meet.liberomeet.io/api/client-meetings |
Meeting Info | https://meet.liberomeet.io/api/rooms/ |
Recordings | https://meet.liberomeet.io/api/rooms/ |
Notes | https://api.liberomeet.io/rooms/ |
Chat | https://api.liberomeet.io/rooms/ |
About HTTP methods
An HTTP method or HTTP verb describes how to interact with the resource that your endpoint identifies. The GET method, for example, retrieves the data associated with the endpoint; the POST method creates a new resource of that type, the DELETE method removes a specific resource of that type, and so on.
HTTP methods:
Method | Description | Example |
---|---|---|
GET | Retrieve the JSON representation of a meeting room. | GET / |
POST | Add a new note to a meeting. This method generally requires additional parameters. | POST https://api.liberomeet.io/rooms/ |
PUT | Replace or update note content. | PUT https://api.liberomeet.io/notes/ |
DELETE | Replace or update note content. | DELETE https://api.liberomeet.io/notes/ |
1. Creating meetings
Using the meetings API: Meetings are created by sending an HTTP request to our servers. If successful, the response will contain the URL of a newly created meeting, which can be shared through email, SMS, etc, or embedded into a website as described below.
Since this API requires your unique API key, you’ll need to call it from your servers. You can not call this API from a client’s browser or application. If you want to do that, you’ll need to create your own endpoint on your own API server.
Request
Header | Data type | Description |
---|---|---|
API_KEY * | String | A unique API key that is generated from the application |
A quick example of how to create a one-time room for a meeting:
Response
Parameter | Data type | Description |
---|---|---|
is_password_required | Boolean | A field to check whether a password is required or not. |
room_id | String | A unique auto-generated room id |
passcode | String | A unique auto-generated passcode |
Result:
2. Embed meetings
You can embed Libero within your own web service or within a native app. Embedding is only available through our Meetings API plan.
The embedded source needs to be a Libero meeting URL (also called room link). You can create the URL manually, or use the HTTP API to create it.
Sample iframe code snippet:
The iframeSource parameter is required and must be set to your Liberomeet, and not to your domain.
On the iframe itself, you need to set the allow the attribute to allow Libero to get access to cam/ mic: allow=”camera; microphone; fullscreen; speaker”.
You also need to use https (also in development) for some browsers to give you access to all the web APIs Libero uses.
3. Notes
You may enter notes while in meetings through your native application invoking the following URL: https://api.liberomeet.io/rooms/<ROOM_ID>/notes/. The JSON data returned follows the below format:
Request
Parameter | Data type | Description |
---|---|---|
room_id * | String | This is room id of the meeting |
Response
Parameter | Data type | Description |
---|---|---|
bgcolor | String | Background color of note is stored in hex code format |
created | String | A user name of the person who created the note |
updated | String | A user name of the person who updated the latest note |
image | String | URL of the image uploaded in the note |
notes | Text | Text of the notes |
title | Text | Title of the notes |
Sample code snippet:
4. Chat
If you want to broadcast data messages or chat with other participants in the meeting, you can use the Chat feature. Invoke this feature through your native application through the following URL: https://api.liberomeet.io/rooms/<ROOM_ID>/messages/. The JSON data returned follows the below format:
Request
Parameter | Data type | Description |
---|---|---|
room_id * | String | This is room id of the meeting |
Response
Parameter | Data type | Description |
---|---|---|
bgcolor | Boolean | Name of the user who messaged |
created | String | Email of the user who messaged |
updated | String | Message text or uploaded Image URL in the message body |
Sample code snippet:
5. Meetings List
Our meetings function is safe and secure. Invoke this feature through your native application through the following URL: https://meet.liberomeet.io/api/client-meetings. The JSON data returned follows the below format:
Use custom header API_KEY syntax: API_KEY:<API_KEY>
Request
Parameter | Data type | Description |
---|---|---|
API_KEY * | String | A unique API key that is generated from the application |
Response
Parameter | Data type | Description |
---|---|---|
is_password_required | Boolean | A field to check whether a password is required or not |
room_id | String | A unique auto-generated room id |
passcode | String | A unique auto-generated passcode |
Sample code snippet:
6. Meeting Info
Our meetings function is safe and secure. To get this feature into your native app, route to the URL: https://meet.liberomeet.io/api/rooms/<ROOM_ID>/sessions, it returns JSON data with the below structure.
URL: https://meet.liberomeet.io/api/rooms/<ROOM_ID>/sessions
Request
Parameter | Data type | Description |
---|---|---|
room_id * | String | The room id of the meeting |
Response
Parameter | Data type | Description |
---|---|---|
is_password_required | Boolean | A field to check whether a password is required or not |
room_id | String | A unique auto-generated room id |
passcode | String | A unique auto-generated passcode |
created_by | String | User id who created the meeting |
participant | Array | List of participant info (like participant name, email, etc.) |
String | Participant’s email | |
name | String | Participant’s Name |
status | Boolean | Whether the meeting is active or not |
started_at | Data time | Meeting start time |
ended_at | Data time | Meeting end time |
Method: GET
Sample Response code snippet:
7. Recordings
You may want to record the meetings for future references. The recorded meetings are securely stored and can be accessed from the cloud. Invoke this feature through your native application through the following URL: https://meet.liberomeet.io/api/rooms/<ROOM_ID>/recordings.
The JSON data returned follows the below format:
Request
Parameter | Data type | Description |
---|---|---|
room_id * | String | This is room id of the meeting |
Response
Parameter | Data type | Description |
---|---|---|
is_password_required | Boolean | A field to check whether a password is required or not |
room_id | String | A unique auto-generated room id |
passcode | String | A unique auto-generated passcode |
created_by | String | User id who created the meeting |
status | Array | The status of the recording: starting: the recording is being started. started: the session is being recorded. stopped: the recording process has stopped and files are being processed. ready: the recorded file has been successfully processed and is available for download. failed: the recording process has failed. |
url | String | Url of the meeting recording saved |
has_audio | Boolean | True if the Recording includes an audio track, false otherwise |
has_video | Boolean | True if the Recording includes a video track, false otherwise |
size | Number | Duration of the video file in seconds. Only guaranteed to be greater than 0 if status is ready |
duration | Float |
URL: https://meet.liberomeet.io/api/rooms/<ROOM_ID>/recordings
Method: GET