Libero API Documentation

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:

ResourceEndpoint*
Meetingshttps://meet.liberomeet.io/api/client-meetings
Meeting Infohttps://meet.liberomeet.io/api/rooms//sessions
Recordingshttps://meet.liberomeet.io/api/rooms//recordingshttps://api.liberomeet.io/rooms//notes/
Noteshttps://api.liberomeet.io/rooms//notes/
Chathttps://api.liberomeet.io/rooms//messages

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:

MethodDescriptionExample
GETRetrieve the JSON representation of a meeting room.GET //sessions
POSTAdd a new note to a meeting. This method generally requires additional parameters.POST
https://api.liberomeet.io/rooms//notes/
PUTReplace or update note content.PUT
https://api.liberomeet.io/notes//
DELETEReplace 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

HeaderData typeDescription
API_KEY *StringA unique API key that is generated from the application

A quick example of how to create a one-time room for a meeting:

Response

ParameterData typeDescription
is_password_requiredBooleanA field to check whether a password is required or not.
room_idStringA unique auto-generated room id
passcodeStringA 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

ParameterData typeDescription
room_id *StringThis is room id of the meeting

Response

ParameterData typeDescription
bgcolorStringBackground color of note is stored in hex code format
createdStringA user name of the person who created the note
updatedStringA user name of the person who updated the latest note
imageStringURL of the image uploaded in the note
notesTextText of the notes
titleTextTitle 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

ParameterData typeDescription
room_id *StringThis is room id of the meeting

Response

ParameterData typeDescription
bgcolorBooleanName of the user who messaged
createdStringEmail of the user who messaged
updatedStringMessage 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

ParameterData typeDescription
API_KEY *StringA unique API key that is generated from the application

Response

ParameterData typeDescription
is_password_requiredBooleanA field to check whether a password is required or not
room_idStringA unique auto-generated room id
passcodeStringA 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

ParameterData typeDescription
room_id *StringThe room id of the meeting

Response

ParameterData typeDescription
is_password_requiredBooleanA field to check whether a password is required or not
room_idStringA unique auto-generated room id
passcodeStringA unique auto-generated passcode
created_byStringUser id who created the meeting
participantArrayList of participant info (like participant name, email, etc.)
emailStringParticipant’s email
nameStringParticipant’s Name
statusBooleanWhether the meeting is active or not
started_atData timeMeeting start time
ended_atData timeMeeting 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

ParameterData typeDescription
room_id *StringThis is room id of the meeting

Response

ParameterData typeDescription
is_password_requiredBooleanA field to check whether a password is required or not
room_idStringA unique auto-generated room id
passcodeStringA unique auto-generated passcode
created_byStringUser id who created the meeting
statusArrayThe 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.
urlStringUrl of the meeting recording saved
has_audioBooleanTrue if the Recording includes an audio track, false otherwise
has_videoBooleanTrue if the Recording includes a video track, false otherwise
sizeNumberDuration of the video file in seconds. Only guaranteed to be greater than 0 if status is ready
durationFloat

URL: https://meet.liberomeet.io/api/rooms/<ROOM_ID>/recordings

Method: GET

Sample Response code snippet: