Meetings API
Meetings API allows to schedule conference call with attendees.
A meeting can have a chat dialog associated with it.
A meeting call can be recorded on server and then a file can be downloaded via Web Admin panel.
Meeting model
Parameter | Description |
---|---|
_id | Meeting identifier |
name | Meeting name |
start_date | Date and time when meeting starts |
end_date | Date and time when meeting ends |
attendees | Users who will be in meeting |
record | Whether a meeting should be recorded |
chat_dialog_id | Meeting chat identifier |
host_id | Meeting creator user id |
created_at | Meeting created date |
updated_at | Meeting updated date |
public | Indicate meeting public or not |
scheduled | Indicate meeting scheduled or not |
notify | Send notification after meeting is created |
notify_before | Timing before meeting start to send notification |
timezone | Meeting timezone settings |
Create meeting
Endpoint
Parameters
Parameter | Required | Description | Data type | Value example |
---|---|---|---|---|
name | Yes | Meeting name | String | ”Friday weekly sync” |
start_date | Yes | Date when meeting starts | Timestamp | 1613729948 |
end_date | Yes | Date when meeting ends | Timestamp | 1613829948 |
attendees | Yes | Array of meeting participants. id is a ConnectyCube user id. email can be anything. id or email is required | Array of objects | '{"id": 5243, "email": "example@mail.com"}' |
chat | No | Whether a chat dialog should be created along with a meeting | Boolean | true |
record | No | Whether a meeting should be recorded | Boolean | false |
public | No | If public is true any user can retrieve this meeting by id | Boolean | true |
scheduled | No | Can be use as filter | Boolean | true |
notify | No | Send notification after meeting is created | Boolean | true |
notify_before | No | Timing before meeting start to send notification | Object | '{"metric": "minutes", "value": 10}' |
timezone | No | Meeting timezone settings | Object | '{"offset": 120, "name": "Europe/Riga"}' |
notify_before parameter object
Parameter | Date type | Description |
---|---|---|
metric | string (enum) | 'minutes' , 'hours' , 'days' , 'weeks' |
value | int | 'minutes' range [0 - 55] , 'hours' range [1 - 24] , 'days' range [1 - 30] , 'weeks' range [1 - 4] |
timezone parameter object
Parameter | Date type | Description |
---|---|---|
offset | int | Minutes UTC offset |
name | string | Timezone Name |
Request example
Response
Retrieve meetings
Endpoint
Parameters
Parameter | Data types | Description |
---|---|---|
_id | string (ObjectId) | Specify to retrieve a specific meeting by id |
limit | number | Setting of limit for a number of results to display. Default - 100 |
offset | number | Skip the defined number of records in the results |
start_date | number (timestamp in seconds) | Filter by start_date field |
end_date | number (timestamp in seconds) | Filter by end_date field |
updated_at | string (date) | Filter by updated_at field |
created_at | string (date) | Filter by created_at field |
scheduled | boolean | Filter by scheduled field |
Without _id
parameter specified, a user will retrieve meetings in which a current user is host or attendee.
Request example
Response
Update meeting
A request to update meeting’s parameters. Only meeting creator (host) can update a meeting.
Endpoint
Parameters
Parameter | Required | Description | Data type | Value example |
---|---|---|---|---|
name | Yes | Meeting name | String | ”New meeting name” |
start_date | Yes | Date when meeting starts | Timestamp | 1613429948 |
end_date | Yes | Date when meeting ends | Timestamp | 1613329948 |
attendees | Yes | Array of meeting participants. id is a ConnectyCube user id. email can be anything. id or email is required | Array of objects | '{"id": 4123, "email": "example@mail.com"}' |
record | No | Update from false to true start recording, from true to false stop recording | Boolean | true |
public | No | If public is true any user can retrieve this meeting by id | Boolean | true |
scheduled | No | Can be use as filter | Boolean | true |
notify | No | Send notification after meeting is created | Boolean | true |
notify_before | No | Timing before meeting start to send notification | Object | '{"metric": "hours", "value": 1}' |
timezone | No | Meeting timezone settings | Object | '{"offset": -300, "name": "America/New_York"}' |
Request example
Response
Meeting notification updating
-
If
"notify"
was updated from'false'
to'true'
, mails will be send to all attendees + host -
If
"start_date"
was updated, mails will be sent to all attendees + host -
If
"attendees"
was updated, mails will be sent only to added attendees
Delete meeting
Delete a meeting by ID. Only meeting creator (host) can delete a meeting.
Endpoint
Request example
Response
Meeting Email Link Settings
You can set meeting url template in Admin App settings MEETING URL TEMPLATE
https://meeting.host.domain/conference/join/%s
where %s
will be replaced by meeting _id
Meeting recordings
Retrieve meeting records with download url
Recording model
Parameter | Description |
---|---|
_id | Recording identifier |
room_id | Meeting identifier |
participants_ids | array of user ids in recording |
participants_count | users count in recording |
duration | recording file duration in seconds |
size | recording file size in MB |
download_url | url to download recording file form storage (expired after 1 hour) |
created_at | recording created date |
updated_at | recording updated date |
Endpoint
Request example
Response
Recording done webhook
You can enable and set webhook endpoint url in Meetings Settings
Once recording files are available server will send POST
requires on webhook url, payload will be an array of recording files records with details along with a meeting and host user.
NOTE: recording files are not available during meeting, only after meeting is finished