title | language_tabs | language_clients | toc_footers | includes | search | highlight_theme | headingLevel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Video Conferencing Service v1.0.0 |
|
|
true |
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 functionality
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. To archive the session, use enableArchiving (a boolean value) in the request body with it's value as true.
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 |