title | language_tabs | language_clients | toc_footers | includes | search | highlight_theme | headingLevel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Video Conferencing Service v1.0.0 |
|
|
false |
darkula |
2 |
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Microservice providing Video-Conferencing service
Base URLs:
- HTTP Authentication, scheme: bearer
Code samples
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/archives/storage-target',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {};
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/archives/storage-target',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /archives/storage-target
Configures custom storage target to a custom Amazon s3 bucket or Microsoft Azure Storage.
Permissions |
---|
SetMeetingUploadTarget |
Body parameter
{}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | none |
Example responses
200 Response
null
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | text |
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/archives/{archiveId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/archives/{archiveId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /archives/{archiveId}
Used to fetch a specific archive w.r.t archiveId. If archive is not present, it will throw HTTP Not Found Error.
Permissions |
---|
GetMeetingArchives |
Name | In | Type | Required | Description |
---|---|---|---|---|
archiveId | path | string | true | none |
Example responses
200 Response
{}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Inline |
Code samples
const headers = {
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/archives/{archiveId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/archives/{archiveId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /archives/{archiveId}
Used to delete a specific archive w.r.t archiveId. If archive is not present, it will throw HTTP Not Found Error.
Permissions |
---|
DeleteMeetingArchive |
Name | In | Type | Required | Description |
---|---|---|---|---|
archiveId | path | string | true | none |
Example responses
200 Response
null
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | text |
Code samples
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/archives',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/archives',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /archives
Used to fetch a list of archives (meetings that were recorded).
Permissions |
---|
GetMeetingArchives |
Example responses
200 Response
{}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Inline |
Code samples
const headers = {
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}/attendees',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}/attendees',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /session/{meetingLinkId}/attendees
Permissions |
---|
GetMeetingAttendees |
Name | In | Type | Required | Description |
---|---|---|---|---|
meetingLinkId | path | string | true | none |
active | query | string | false | none |
Example responses
200 Response
[]
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Inline |
Code samples
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}/end',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}/end',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /session/{meetingLinkId}/end
Used to stop the current active meeting. Meeting cannot be stopped again if it is already stopped. Successful execution will add the endTime attribute to a recently ending session.
Permissions |
---|
StopMeeting |
Name | In | Type | Required | Description |
---|---|---|---|---|
meetingLinkId | path | string | true | none |
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | MessageRecipient PATCH success | None |
Code samples
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}/token',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}/token',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /session/{meetingLinkId}/token
Used for Generating token, which is used for connecting to a room/session on a client side. In vonage, there are three different roles (Moderator, Subscriber, Publisher). We can use expire time for limited validity of a token. Successful execution will send a token.
Permissions |
---|
GenerateMeetingToken |
Body parameter
{}
Name | In | Type | Required | Description |
---|---|---|---|---|
meetingLinkId | path | string | true | none |
body | body | object | false | none |
Example responses
200 Response
null
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Inline |
Code samples
const inputBody = '{
"deleted": true,
"deletedOn": "2019-08-24T14:15:22Z",
"deletedBy": "string",
"createdOn": "2019-08-24T14:15:22Z",
"modifiedOn": "2019-08-24T14:15:22Z",
"createdBy": "string",
"modifiedBy": "string",
"id": 0,
"sessionId": "string",
"meetingLink": "string",
"isScheduled": true,
"scheduleTime": "2019-08-24T14:15:22Z",
"isArchived": true,
"archiveId": "string",
"uploadTarget": "string",
"startTime": "2019-08-24T14:15:22Z",
"endTime": "2019-08-24T14:15:22Z",
"extId": "string",
"extMetadata": {}
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"deleted": true,
"deletedOn": "2019-08-24T14:15:22Z",
"deletedBy": "string",
"createdOn": "2019-08-24T14:15:22Z",
"modifiedOn": "2019-08-24T14:15:22Z",
"createdBy": "string",
"modifiedBy": "string",
"id": 0,
"sessionId": "string",
"meetingLink": "string",
"isScheduled": true,
"scheduleTime": "2019-08-24T14:15:22Z",
"isArchived": true,
"archiveId": "string",
"uploadTarget": "string",
"startTime": "2019-08-24T14:15:22Z",
"endTime": "2019-08-24T14:15:22Z",
"extId": "string",
"extMetadata": {}
};
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/session/{meetingLinkId}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /session/{meetingLinkId}
Used for editing the meeting
Permissions |
---|
EditMeeting |
Body parameter
{
"deleted": true,
"deletedOn": "2019-08-24T14:15:22Z",
"deletedBy": "string",
"createdOn": "2019-08-24T14:15:22Z",
"modifiedOn": "2019-08-24T14:15:22Z",
"createdBy": "string",
"modifiedBy": "string",
"id": 0,
"sessionId": "string",
"meetingLink": "string",
"isScheduled": true,
"scheduleTime": "2019-08-24T14:15:22Z",
"isArchived": true,
"archiveId": "string",
"uploadTarget": "string",
"startTime": "2019-08-24T14:15:22Z",
"endTime": "2019-08-24T14:15:22Z",
"extId": "string",
"extMetadata": {}
}
Name | In | Type | Required | Description |
---|---|---|---|---|
meetingLinkId | path | string | true | none |
body | body | VideoChatSessionPartial | false | none |
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Session details PATCH success | None |
Code samples
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/session',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {};
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/session',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /session
Used for Creating a session with options such as end to end encryption, archive mode. Note: Archiving Option cannot be enabled while using end to end encryption, otherwise an Error will be thrown. Successful execution will send a meeting link id which can be used to amend in client url.
Permissions |
---|
CreateMeetingSession |
Body parameter
{}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | none |
Example responses
200 Response
"string"
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | string |
Code samples
const inputBody = '{}';
const headers = {
'Content-Type':'application/json'
};
fetch('/webhooks/session',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {};
const headers = {
'Content-Type':'application/json'
};
fetch('/webhooks/session',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /webhooks/session
Webhook API hit from a third party to add/update session attendees in a meeting.
Body parameter
{}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | none |
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | POST /webhooks/session Success | None |
{
"deleted": true,
"deletedOn": "2019-08-24T14:15:22Z",
"deletedBy": "string",
"createdOn": "2019-08-24T14:15:22Z",
"modifiedOn": "2019-08-24T14:15:22Z",
"createdBy": "string",
"modifiedBy": "string",
"id": 0,
"sessionId": "string",
"meetingLink": "string",
"isScheduled": true,
"scheduleTime": "2019-08-24T14:15:22Z",
"isArchived": true,
"archiveId": "string",
"uploadTarget": "string",
"startTime": "2019-08-24T14:15:22Z",
"endTime": "2019-08-24T14:15:22Z",
"extId": "string",
"extMetadata": {}
}
VideoChatSessionPartial
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
deleted | boolean | false | none | none |
deletedOn | string(date-time)¦null | false | none | none |
deletedBy | string¦null | false | none | none |
createdOn | string(date-time) | false | none | none |
modifiedOn | string(date-time) | false | none | none |
createdBy | string | false | none | none |
modifiedBy | string | false | none | none |
id | number | false | none | none |
sessionId | string | false | none | none |
meetingLink | string | false | none | none |
isScheduled | boolean | false | none | none |
scheduleTime | string(date-time) | false | none | none |
isArchived | boolean | false | none | none |
archiveId | string | false | none | none |
uploadTarget | string | false | none | none |
startTime | string(date-time) | false | none | none |
endTime | string(date-time) | false | none | none |
extId | string | false | none | none |
extMetadata | object | false | none | none |