14. REST Web Services API
This chapter describes the REST Web Services authentication API.
restAuthentication
Allows Super Admins and Admins to set up REST-based authentication.
- Content Type: Application/json
- Supported Method: GET, POST, and PUT
- Sample URL: http://yourfqdn/admin/service/restAuthentication
GET
Sample Request
http://example.com/admin/service/restAuthentication
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"restUrl":"https://webservice.example.com/authentication",
"assignedRoles":[
{
"roleID":1,
"roleName":"Admin",
"roleDescription":"Admin"
},
{
"roleID":3,
"roleName":"Normal",
"roleDescription":"Normal"
}
],
"restAuthConfigured":true
}
}
PUT
Sample Request
{
"restUrl":"https://webservice.example.com/authentication",
"assignedRoles":[
{
"roleID":1,
"roleName":"Admin",
"roleDescription":"Admin"
},
{
"roleID":3,
"roleName":"Normal",
"roleDescription":"Normal"
}
],
}
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"restUrl":"https://webservice.example.com/authentication",
"assignedRoles":[
{
"roleID":1,
"roleName":"Admin",
"roleDescription":"Admin"
},
{
"roleID":3,
"roleName":"Normal",
"roleDescription":"Normal"
}
],
"restAuthConfigured":true
}
}
Error Responses
- Status Code: 405 Method Not Allowed
- Status Code: 400 Bad Request
POST
Sample Request
{
"restUrl":"https://webservice.example.com/authentication",
"assignedRoles":[
{
"roleID":1,
"roleName":"Admin",
"roleDescription":"Admin"
},
{
"roleID":3,
"roleName":"Normal",
"roleDescription":"Normal"
}
],
}
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"restUrl":"https://webservice.example.com/authentication",
"assignedRoles":[
{
"roleID":1,
"roleName":"Admin",
"roleDescription":"Admin"
},
{
"roleID":3,
"roleName":"Normal",
"roleDescription":"Normal"
}
],
"restAuthConfigured":true
}
}
Error Responses
- Status Code: 405 Method Not Allowed
- Status Code: 400 Bad Request
Request parameters
Name | Type | Description | Required |
restURL | String | URL of the REST service which will perform the authentication | Yes |
assignedRoles | List of Role Objects | A list of roles and user types that will be affected by the REST authentication | Yes |
roleID | Integer | Role ID | Yes |
roleName | String | Name of the role | No |
roleDescription | String | Describes the role | No |
restAuthConfigured | Boolean | Indicates whether the REST authentication is enabled | Yes |
availableUserTypes
Retrieves the available user types and roles from VidyoPortal. This information is needed to invoke the restAuthentication API.
- Content Type: Application/json
- Supported Method: GET
- Sample URL: http://yourfqdn/admin/service//availableUserTypes
GET
Sample Request
http://example.com/admin/service/availableUserTypes
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
{
"roleID":1,
"roleName":"Admin",
"roleDescription":"Admin"
},
{
"roleID":2,
"roleName":"Operator",
"roleDescription":"Operator"
}
{
"roleID":3,
"roleName":"Normal",
"roleDescription":"Normal"
}
{
"roleID":4,
"roleName":"VidyoRoom",
"roleDescription":"VidyoRoom"
}
{
"roleID":7,
"roleName":"Executive",
"roleDescription":"Executive"
}
{
"roleID":8,
"roleName":"VidyoPanorama",
"roleDescription":"VidyoPanorama"
}
],
}
Request parameters
Name | Type | Description | Required |
data | List of Role Objects | A list of user type and role objects | Yes |
roleID | Integer | Role ID | Yes |
roleName | String | Name of the role | No |
roleDescription | String | Describes the role | No |
localAuthentication
Enables local authentication.
- Content Type: Application/json
- Supported Method: POST
- Sample URL: http://yourfqdn/admin/service/localAuthentication
POST
Sample Request
http://example.com/admin/service/localAuthentication
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":null
}
samlMetadata
Allows Super Admins and Admins to set up SAML-based authentication.
- Content Type: Application/json
- Supported Method: GET, POST, and PUT
- Sample URL: http://yourfqdn/admin/service/samlMetadata
GET
Sample Request
http://example.com/admin/service/samlMetadata
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"entityId":"vcportalgh2.vidyoqa.lo",
"securityProfile":"PKIX",
"sslSecurityProfile":"PKIX",
"signMetadata":false,
"base64EncodedMetadata":"PD94bWwgdmVyc2lvbj0iMS4.."
}
}
GET
Sample Request
http://example.com/admin/service/samlMetadata
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"entityId":"vcportalgh2.vidyoqa.lo",
"securityProfile":"PKIX",
"sslSecurityProfile":"PKIX",
"signMetadata":false,
"base64EncodedMetadata":"PD94bWwgdmVyc2lvbj0iMS4.."
}
}
POST
Sample Request
{
"entityId":"vcportalgh2.vidyoqa.lo",
"securityProfile":"PKIX",
"sslSecurityProfile":"PKIX",
"signMetadata":false,
"base64EncodedMetadata":"PD94bWwgdm.."
}
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"entityId":"vcportalgh2.vidyoqa.lo",
"securityProfile":"PKIX",
"sslSecurityProfile":"PKIX",
"signMetadata":false,
"base64EncodedMetadata":"PD94.."
}
}
Error Response
Status Code: 405 Method Not Allowed
PUT
Sample Request
{
"entityId":"vcportalgh2.vidyoqa.lo",
"securityProfile":"PKIX",
"sslSecurityProfile":"PKIX",
"signMetadata":false,
"base64EncodedMetadata":"PD94bWwgdm.."
}
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"entityId":"vcportalgh2.vidyoqa.lo",
"securityProfile":"PKIX",
"sslSecurityProfile":"PKIX",
"signMetadata":false,
"base64EncodedMetadata":"PD94.."
}
}
Error Response
Status Code: 405 Method Not Allowed
Request parameters
Name | Type | Description | Required |
entityId | String | Entity ID of the SAML configuration | Yes |
securityProfile | String | PKIX or METAIOP | Yes |
sslSecurityProfile | String | PKIX or METAIOP | Yes |
signMetadata | Boolean | Specifies a value of true or false | Yes |
base64EncodeMetadata | String | Base64 encode IDP Metadata XML | Yes |
samlAttributeMappings
Creates SAML attribute mappings for auto-provisioning.
- Content Type: Application/json
- Supported Method: GET, POST, and PUT
- Sample URL: http://yourfqdn/admin/service/samlAttributeMappings
GET
Sample Request
http://example.com/admin/service/samlAttributeMappings
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"idpmappinglist":[
{
"mappingID":18,
"tenantID":1,
"vidyoAttributeName":"UserName",
"idpAttributeName":"test",
"defaultAttributeValue":""
},
{
"mappingID":19,
"tenantID":1,
"vidyoAttributeName":"UserName",
"idpAttributeName":"",
"defaultAttributeValue":"Normal"
},
{
"mappingID":20,
"tenantID":1,
"vidyoAttributeName":"DisplayName",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":21,
"tenantID":1,
"vidyoAttributeName":"EmailAddress",
"idpAttributeName":"",
"defaultAttributeValue":"yourcompany.com"
},
{
"mappingID":22,
"tenantID":1,
"vidyoAttributeName":"Extension",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":23,
"tenantID":1,
"vidyoAttributeName":"Group",
"idpAttributeName":"",
"defaultAttributeValue":"Default"
},
{
"mappingID":24,
"tenantID":1,
"vidyoAttributeName":"Description",
"idpAttributeName":"",
"defaultAttributeValue":"Idp Provisioned User"
},
{
"mappingID":25,
"tenantID":1,
"vidyoAttributeName":"Proxy",
"idpAttributeName":"",
"defaultAttributeValue":"No Proxy"
},
{
"mappingID":26,
"tenantID":1,
"vidyoAttributeName":"LocationTag",
"idpAttributeName":"",
"defaultAttributeValue":"Default"
},
{
"mappingID":27,
"tenantID":1,
"vidyoAttributeName":"PhoneNumber1",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":28,
"tenantID":1,
"vidyoAttributeName":"PhoneNumber2",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":29,
"tenantID":1,
"vidyoAttributeName":"PhoneNumber3",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":31,
"tenantID":1,
"vidyoAttributeName":"Department",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":32,
"tenantID":1,
"vidyoAttributeName":"Title",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":33,
"tenantID":1,
"vidyoAttributeName":"IM",
"idpAttributeName":"",
"defaultAttributeValue":""
},
{
"mappingID":34,
"tenantID":1,
"vidyoAttributeName":"Location",
"idpAttributeName":"",
"defaultAttributeValue":""
},
]
},
}
POST
Sample Request
{
"idpmappinglist":[
{
"mappingID":18,
"tenantID":1,
"vidyoAttributeName":"UserName",
"idpAttributeName":"test",
"defaultAttributeValue":""
},
{
"mappingID":19,
"tenantID":1,
"vidyoAttributeName":"UserType",
"idpAttributeName":"",
"defaultAttributeValue":"Normal"
},
]
}
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"idpmappinglist":[
{
"mappingID":18,
"tenantID":1,
"vidyoAttributeName":"UserName",
"idpAttributeName":"test",
"defaultAttributeValue":""
},
{
"mappingID":19,
"tenantID":1,
"vidyoAttributeName":"UserType",
"idpAttributeName":"",
"defaultAttributeValue":"Normal"
},
]
},
}
PUT
Sample Request
{
"idpmappinglist":[
{
"mappingID":18,
"tenantID":1,
"vidyoAttributeName":"UserName",
"idpAttributeName":"test",
"defaultAttributeValue":""
},
{
"mappingID":19,
"tenantID":1,
"vidyoAttributeName":"UserType",
"idpAttributeName":"",
"defaultAttributeValue":"Normal"
},
]
}
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"idpmappinglist":[
{
"mappingID":18,
"tenantID":1,
"vidyoAttributeName":"UserName",
"idpAttributeName":"test",
"defaultAttributeValue":""
},
{
"mappingID":19,
"tenantID":1,
"vidyoAttributeName":"UserType",
"idpAttributeName":"",
"defaultAttributeValue":"Normal"
},
]
},
}
Request parameters
Name | Type | Description | Required |
MappingID | String | ID | Yes |
vidyoAttributeName | String | The attribute name that Vidyo uses | Yes |
idpAttributeName | String | The IDP/IDAP attribute that will be mapped to the name of the Vidyo attribute | Yes |
defaultAttributeValue | Boolean | Default value if nothing is mapped | No |
tenantID | Integer | Tenant ID | Yes |
samlAdditionalAttributeMappings
Creates additional SAML attribute mappings needed for auto-provisioning, such as user type, group, etc.
- Content Type: Application/json
- Supported Method: GET, PUT, and DELETE
- Sample URL: http://yourfqdn/admin/service/samlAttributeMappings/
GET
URL Parameter
http://yourfqdn/admin/service/samlAttributeMappings/{mappingID}
Sample Request
http://example.com/admin/service/samlAdditionalAttributeMappings/19
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"idpvaluemappinglist":[
{
"valueID":2,
"mappingID":19,
"vidyoValueName":"Executive",
"idpValueName":""
},
{
"valueID":1,
"mappingID":19,
"vidyoValueName":"Normal",
"idpValueName":""
},
]
},
}
PUT
Sample Request
{
"idpvaluemappinglist":[
{
"valueID":2,
"mappingID":19,
"vidyoValueName":"Executive",
"idpValueName":""
},
{
"valueID":1,
"mappingID":19,
"vidyoValueName":"Normal",
"idpValueName":""
},
]
}
Sample Response
{
"status":{
"code":"200",
"message":"OK"
},
"data":{
"idpvaluemappinglist":[
{
"valueID":2,
"mappingID":19,
"vidyoValueName":"Executive",
"idpValueName":""
},
{
"valueID":1,
"mappingID":19,
"vidyoValueName":"Normal",
"idpValueName":""
},
]
},
}
DELETE
URL Parameter
http://yourfqdn/admin/service/samlAttributeMappings/{valueID}
Sample Request
http://example.com/admin/service/samlAdditionalAttributeMappings/2
Sample Response
{
"status":{
"code":"200",
"message":"Deleted Successfully"
},
"data":null
}
Request parameters
Name | Type | Description | Required |
valueID | String | ID | Yes |
mappingID | String | Attribute mapping ID | Yes |
vidyoValueName | String | Name of the Vidyo attribute | No |
idpValueName | Boolean | Name of the IDP value | Yes |
EPIC Integration REST Services
REST-based service endpoint to validate the extData.
- Content Type: Application/json
- Supported Method: POST
- Sample URL: https://example.com/api/epic/v1/room/map
POST
Sample Request
https://[yourtenantfqdn]/api/epic/v1/room/map
{
"extDataType" : "1",
"extData" :
"sgdfhdsgfhgdshfds46564cashgdw72sdgfdshgjgfsdahfgksdfgjhdsfgsdhdashd242764233qweweytrfew6eafrgruywerewrsfg=="
}
Request parameters
Name | Type | Description | Required |
extDataType | Integer | External Integration Id | Yes |
extData | String | Encrypted and Base64 encoded data | Yes |
Sample Response
{
"roomKey" : "73XEXLW8",
"displayName" : "Firstname Lastname"
}
REST Super Admin APIs
Only Super Admins have authorization to access the REST APIs included in this section.
Get All Log Categories
This API returns all logger category log levels that are configured in the application and it always serves the current state of the logger.
For single log category:
If a category name is provided in this API as a Path-Variable, it will return a single logger category and level.
1/api/v1/system/logcategories/{LogCategoryName}
For list of all logger log categories:
If no Path-Variable is defined in this API, the API will return a list of logger categories.
1/api/v1/system/logcategories/
URL: [PortalFQDN]/api/v1/system/logcategories
Method: GET
Request parameters
Gets a single logger log category level. For example:
PortalFQDN]/api/v1/system/logcategories/com.vidyo.customparameter.CustomParameterLogger
Field | Data Type | Mandatory | Description | Validations |
logCategoryName | String | N | Gets single logger log category and level | None |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
JSON response parameters:
Field | Parent | Data Type | Mandatory | Description |
version | N/A | String | Y | Defines the version of the API. |
status | N/A | String | Y | Defines the response status. For a successful response, the value will be “success”. |
data | Parent | Object | N | The parent object which contains a child object logCategories. |
logCategories | Parent | Array | Y | The child object of the data. This is the array of logger objects which encapsulates category the API response. It is described in the subsequent rows. |
name | N/A | String | Y | Name of logger that was configured in log4j.xml |
level | N/A | String | Y | Log level currently present in log4j.xml |
Sample JSON Response:
{
"version":"1",
"status":"success",
"data":{
"logCategories":[
{
"name":"root",
"level":"INFO"
}
{
"name":"com.package",
"level":"DEBUG"
}
{
"name":"com.package.sample", "level":"DEBUG"
}
{
"name":"mylogger",
"level":"DEBUG"
}]
}
}
Error Responses
Occurs if validation of mandatory parameters fails. In this scenario, the list of errors will be returned in the JSON body. The status code is 400. HttpStatus.BAD_REQUEST.
Error response parameters:
Field | Parent | Data Type | Mandatory | Description |
version | N/A | String | Y | Defines the version of the API. |
status | N/A | String | Y | Defines the response status. For an error response, the value will be “failure”. |
error | Parent | Object | Y | The element that encapsulates the API error details. |
code | N/A | Integer | Y | The error code for the error. |
message | N/A | Text | Y | Describes the error. |
errors | N/A | List | N | The list of errors in case of request validation failure. Its value will be null for all the error scenarios other than request validation failure. |
JSON error response structure when requested logger category is not present:
{
"version":"1",
"status":"failure", "error":{
"code”:101003,
“message”:”Bad request”, “errors”:[
“Logger category not present”
]
}
}
HTTP status codes, error codes, messages, and error messages:
Error responses will be handled the same way as the REST LOGIN API described previously.
HTTP Response Code | Error Code | Error Message | Scenario |
400 | 101003 | Bad request | Logger category not present |
401 | Unauthorized user if anybody other than Super admin tries to access. | ||
500 | 101004 | Internal server error | Could occur due to any unhandled exception scenario. |
Modify Log Level for the Logger Category
This API modifies the log level of the logger categories.
URL: [PortalFQDN]/api/v1/system/logcategories
Method: PUT
Request Body JSON
{
"logCategories":[
{
"name":"value1",
"level":"debug"
}
{
"name":"value11",
"level":"error"
}
{
"name":"value11",
"level":"info"
}
]
}
Field | Parent | Data Type | Mandatory | Description |
logCategories | Parent | Array | Y | Array of log category objects. |
level | String | Y | Log level from which we want to update the existing logger category log level. | |
name | String | Y | Name of logger category whose log level we want to modify. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Field | Data Type | Mandatory | Description |
version | String | Y | Defines the version of the API. |
status | String | Y | Defines the response status. For a successful response, the value will be “success”. |
data | Object | N | The element that encapsulates the API response. For this API, its value is null. |
JSON error response structure when requested logger category is not present:
{
"version":"1",
"status":"success",
"data”:null
}
Error Responses
Occurs if validation of mandatory parameters are not passed or invalid parameters pass in the request body. In this scenario, the list of errors will be returned in the JSON body. The status code is 400. HttpStatus.BAD_REQUEST.
Error response parameters:
Field | Parent | Data Type | Mandatory | Description |
version | N/A | String | Y | Defines the version of the API. |
status | N/A | String | Y | Defines the response status. For an error response, the value will be “failure”. |
error | Parent | Object | Y | The element that encapsulates the API error details. |
code | N/A | Integer | Y | The error code for the error. |
message | N/A | Text | Y | Describes the error. |
errors | N/A | List | N | The list of errors in case of request validation failure. Its value will be null for all the error scenarios other than request validation failure. |
JSON error response structure:
- Request body other than JSON content-type
- Space/backslash
- {} empty request body
- [] like this
- In the request body, when we give the wrong log level:
{
"version":"1",
"status":"failure",
"error":{
“code”:101003,
“message”:“Bad request”,
“errors”:[]
}
}
JSON error response structure when requested logger category is not present:
{
"version":"1",
"status":"failure",
"error":{
“code”:101003,
“message”:“Bad request”,
“errors”:[
“Logger category not present”
]
}
}
HTTP status codes, error codes, messages, and error messages:
Error responses will be handled the same way as the REST LOGIN API described previously.
HTTP Response Code | Error Code | Error Message | Scenario |
400 | 101003 | Bad request | Logger category not present |
401 | Unauthorized user if anybody other than Super admin tries to access. | ||
500 | 101004 | Internal server error | Could occur due to any unhandled exception scenario. |
Reset Log Level to Default
This API resets the logger category level to its default state.
URL: [PortalFQDN]/api/v1/system/logcategories/reset
Method: PUT
Success Response
{
"version":"1",
"status":"success"
"data":null
}
Error Responses
This API does not require any request body or path variable, therefore 400. HttpStatus.BAD_REQUEST will not occur in this API.
Error response parameters:
Field | Parent | Data Type | Mandatory | Description |
version | N/A | String | Y | Defines the version of the API. |
status | N/A | String | Y | Defines the response status. For an error response, the value will be “failure”. |
error | Parent | Object | Y | The element that encapsulates the API error details. |
code | N/A | Integer | Y | The error code for the error. |
message | N/A | Text | Y | Describes the error. |
errors | N/A | List | N | The list of errors in case of request validation failure. Its value will be null for all the error scenarios other than request validation failure. |
HTTP status codes, error codes, messages, and error messages:
Error responses will be handled the same way as the REST LOGIN API described previously.
HTTP Response Code | Error Code | Error Message | Scenario |
401 | N/A | N/A | Unauthorized user if anybody other than Super admin tries to access. |
500 | 101004 | Internal server error | Could occur due to any unhandled exception scenario. |
Endpoint Behavior Mode
This is a REST-based service endpoint used to add, edit, update, and get Endpoint Behavior Mode.
Create Endpoint Behavior Mode API
This Super Admin API enables creation of Endpoint Behavior Labels/Modes for different tenants. The API supports the authentication process similar to all the other APIs in the Admin application (for example, basic authentication). Auth tokens are not supported on this.
The API ensures that the default endpoint behaviors are not impacted or touched upon since they will be managed only from the legacy SOAP APIs.
Note All the API request fields which are “String” will accept and treat Boolean as a string value. |
URL: [PortalFQDN]/admin/api/v1/tenants/{tenantId or tenantFqdn}/endpoints/behaviours
Method: POST
Path Variables
Field | Data Type | Mandatory | Description | Validations |
tenantId / Tenant FQDN | String | Y | The tenant ID or tenant FQDN for which endpoint behavior mode will be configured | Validate if the tenant ID is a valid tenant ID or not |
JSON Parameters
Field | Data Type | Parent | Manda- tory |
Description | Validations |
audioMuteControl | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
AutomaticallyUp-date | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
beautyScreen | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
bottomIframeSize | int | N/A | N | Should range between 0-100 | |
bottomIframeUrl | String | N/A | N | Length should be less than or equal to 2048 | |
cameraMute-Control | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
contentSharing | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
deviceSettings | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
displayLabels | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
enableAutoAnswer | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
endpointBehavior | Object | parent | Y | The parent object that encapsulates all the behavior attributes |
|
exitOnUser-Hangup | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
fullScreenVideo | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
inCallSearch | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
inviteParticipants | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
label | String | N/A | Y | The label/mode for the endpoint behavior data which is getting stored |
Validate that the label is not already present for a specific tenant.
Validate for alphanumeric values. Anything other than alphanumeric will be rejected. Validate that label is not “DEFAULT”. Max size 64 chars Mandatory check |
leftIframeSize | int | N/A | N | Should range between 0-100 | |
leftIframeUrl | String | N/A | N | Length should be less than or equal to 2048 | |
leftPanel | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
lockUserName | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
loginModule | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
logoutOnUser-Hangup | int | N/A | Y | Possible Values - 0,1 | |
muteAudioOn-Entry | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
muteCameraOn-Entry | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
participantNotification | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
pinnedParticipant | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
postIframeSize | int | N/A | N | Should range between 0-100 | |
postIframeUrl | String | N/A | N | Length should be less than or equal to 2048 | |
publicChat | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
recordConference | int | N/A | Y | This should be based on description in Recorder Endpoints.
Max size 64 chars |
|
recordingRole | String | N/A | N | Possible Values - 0,1 Mandatory check |
|
remoteContentAccess | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
rightIframeSize | int | N/A | N | Should range between 0-100 | |
rightIframeUrl | String | N/A | N | Length should be less than or equal to 2048 | |
shareDialogOnJoin | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
topIframeSize | int | N/A | N | Should range between 0-100 | |
topIframeUrl | String | N/A | N | Length should be less than or equal to 2048 | |
welcomePage | int | N/A | Y | Possible Values - 0,1 Mandatory check |
|
windowPosition-Bottom | int | N/A | N | Range -999999999 to
999999999 |
|
windowPosition-Left | int | N/A | N | Range -999999999 to
999999999 |
|
windowPosition-Right | int | N/A | N | Range -999999999 to
999999999 |
|
windowPosition-Top | int | N/A | N | Range -999999999 to
999999999 |
|
windowSizeHeight | int | N/A | N | Range -999999999 to
999999999 |
|
windowSizeWidth | int | N/A | N | Range -999999999 to
999999999 |
Sample Request
{
"endpointBehavior" : {,
"label":"e1",
"welcomePage":"1",
"beautyScreen":"1",
"loginModule":"1",
"publicChat":"1",
"leftPanel":"0",
"inCallSearch" : "0",
"inviteParticipants" : "0",
"contentSharing" : "1",
"shareDialogOnJoin" : "1",
"displayLabels" : "1",
"remoteContentAccess" : "1",
"cameraMuteControl" : "1",
"muteCameraOnEntry" : "1",
"audioMuteControl" : "1",
"muteAudioOnEntry" : "1",
"deviceSettings" : "1",
"pinnedParticipant" : "0",
"recordConference" : "0",
"exitOnUserHangup" : "0",
"automaticallyUpdate" : "0",
"lockUserName" : "0",
"enableAutoAnswer" : "0",
"participantNotification" : "0",
"fullScreenVideo" : "0"
}
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
JSON response parameters:
Field | Data Type | Mandatory | Description |
version | String | Y | Defines the version of the API. |
status | String | Y | Defines the response status. For a successful response, the value will be “success”. |
data | Object | N | The element that encapsulates the API response. For this API, its value is null. |
Sample JSON response:
Error responses will be handled the same way as the REST LOGIN API described previously.
{
"version":"1",
"status":"success"
"data":null
}
Error Responses
Error responses will be handled the same way as the REST LOGIN API described previously.
HTTP Response Code | Error Code | Error Message | Scenario |
400 | 101015 | Invalid request | Validate that the label is not already present for a specific tenant. Validate label for alphanumeric values. Anything other than alphanumeric will be discarded. Validate that label is not “DEFAULT”. Any other request body validation failure. |
403 | N/A | N/A | Unauthorized user if anybody other than Super admin tries to access. Invalid tenant ID/FQDN. |
404 | 101016 | Not Found | Endpoint behavior is not enabled for the tenant. |
500 | 101014 | Unexpected server-side error | Internal server error. |
Update Endpoint Behavior Mode API
This API allows the Super Admin to update the endpoint behavior attributes for a specific endpointBehaviorLabel. The API allows altering of partial/specific data and will not limit to just that. If a person wishes to change all the behavior attributes of a specific endpointLabel/mode, they will be able to do so. However, when changing or omitting any of the behavior attributes, all the mandatory conditions have to be satisfied in the same manner as the Create API. What this means is that a user cannot omit a mandatory behavior attribute using the Update API.
URL: [PortalFQDN]/admin/api/v1/tenants/{tenantId or tenantFqdn}/endpoints/behaviours/{label}
Method: PATCH
Path Variables
Field | Data Type | Mandatory | Description | Validations |
tenantId / Tenant FQDN | String | Y | The tenant ID or tenant FQDN for which endpoint behavior mode will be configured | Validate if the tenant ID is a valid tenant ID or not |
label | String | Y | The label/mode for the endpoint behavior data which is getting updated | Validate that the label is present for a specific tenant
Validate that label is not “DEFAULT” Mandatory check |
JSON Parameters
The JSON parameters are similar to the Create Endpoint Behavior Mode API.
Sample Request
{
"endpointBehavior" : {,
"label":"e1",
"welcomePage":"1",
"beautyScreen":"1",
"loginModule":"1",
"publicChat":"1",
"leftPanel":"0",
"inCallSearch" : "0",
"inviteParticipants" : "0",
"contentSharing" : "1",
"shareDialogOnJoin" : "1",
"displayLabels" : "1",
"remoteContentAccess" : "1",
"cameraMuteControl" : "1",
"muteCameraOnEntry" : "1",
"audioMuteControl" : "1",
"muteAudioOnEntry" : "1",
"deviceSettings" : "1",
"pinnedParticipant" : "0",
"recordConference" : "0",
"exitOnUserHangup" : "0",
"automaticallyUpdate" : "0",
"lockUserName" : "0",
"enableAutoAnswer" : "0",
"participantNotification" : "0",
"fullScreenVideo" : "0"
}
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
JSON response parameters:
Field | Data Type | Mandatory | Description |
version | String | Y | Defines the version of the API. |
status | String | Y | Defines the response status. For a successful response, the value will be “success”. |
data | Object | N | The element that encapsulates the API response. For this API, its value is null. |
Sample JSON response:
{
"version":"1",
"status":"success"
"data":null
}
Error Responses
Error responses will be handled the same way as the REST LOGIN API described previously.
HTTP Response Code | Error Code | Error Message | Scenario |
400 | 101015 | Invalid request | Validate that the label is not already present for a specific tenant. Validate that label is not “DEFAULT”. Mandatory check Any other request body validation failure |
403 | N/A | N/A | Unauthorized user if anybody other than Super admin tries to access. Invalid tenant ID/FQDN. |
404 | 101016 | Not Found | Endpoint behavior is not enabled for the tenant. |
500 | 101014 | Unexpected server-side error | Internal server error. |
Get Endpoint Behavior Mode API
This API allows the Super Admin to fetch the endpointBehavior atributes for a specific EndpointBehaviorLabel/tenant.
URL: [PortalFQDN]/admin/api/v1/tenants/{tenantId or tenantFqdn}/endpoints/behaviours/{label}
Method: GET
Path Variables
Field | Data Type | Mandatory | Description | Validations |
tenantId / Tenant FQDN | String | Y | The tenant ID or tenant FQDN for which endpoint behavior mode will be configured | Validate if the tenant ID is a valid tenant ID or not |
label | String | Y | The label/mode for the endpoint behavior data which is getting updated.
If no label is provided, all the endpoint behaviors will be returned for the requested tenant. |
If provided, validate that the label is present for a specific tenant.
Validate that label is not “DEFAULT”. |
JSON Parameters
No JSON parameters will go in the request.
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON Response:
{
"version":"1",
"status":"success",
"data": {
“endpointBehaviors”: [{,
"label": "abc",
"welcomePage": "1",
"beautyScreen": "1",
"loginModule":"1",
"publicChat":"0",
"leftPanel":"0",
"inCallSearch" : "0",
"inviteParticipants" : "0",
"contentSharing" : "0",
"shareDialogOnJoin" : "0",
"displayLabels" : "1",
"remoteContentAccess" : "1",
"cameraMuteControl" : "1",
"muteCameraOnEntry" : "1",
"audioMuteControl" : "0",
"muteAudioOnEntry" : "0",
"deviceSettings" : "0",
"pinnedParticipant" : "0",
"recordConference" : "0",
"exitOnUserHangup" : "0",
"automaticallyUpdate" : "0",
"lockUserName" : "1",
"enableAutoAnswer" : "1",
"participantNotification" : "1",
"fullScreenVideo" : "1"
}, {
"label": "xyz",
"welcomePage": "1",
"beautyScreen": "1",
"loginModule":"1",
"publicChat":"0",
"leftPanel":"0",
"inCallSearch" : "0",
"inviteParticipants" : "0",
"contentSharing" : "0",
"shareDialogOnJoin" : "0",
"displayLabels" : "1",
"remoteContentAccess" : "1",
"cameraMuteControl" : "1",
"muteCameraOnEntry" : "1",
"audioMuteControl" : "1",
"muteAudioOnEntry" : "0",
"deviceSettings" : "0",
"pinnedParticipant" : "0",
"recordConference" : "0",
"exitOnUserHangup" : "0",
"automaticallyUpdate" : "0",
"lockUserName" : "1",
"enableAutoAnswer" : "1",
"participantNotification" : "1",
"fullScreenVideo" : "1"
}]
}
}
Error Responses
Error responses will be handled the same way as the REST LOGIN API described previously.
HTTP Response Code | Error Code | Error Message | Scenario |
400 | 101015 | Invalid request | Validate that the label is not already present for a specific tenant. Validate that label is not “DEFAULT”. Mandatory check |
403 | N/A | N/A | Unauthorized user if anybody other than Tenant admin or Super admin tries to access. Invalid tenant ID/FQDN. |
404 | 101016 | Not Found | Endpoint behavior is not enabled for the tenant. |
500 | 101014 | Unexpected server-side error | Internal server error. |
Delete Endpoint Behavior Mode API
This API allows for the deletion of EndpointBehaviorLabels along with all the associated endpoint behavior attributes in the record.
URL: [PortalFQDN]/admin/api/v1/tenants/{tenantId or tenantPortal}/endpoints/behaviours/{label}
Method: DELETE
Path Variables
Field | Data Type | Mandatory | Description | Validations |
tenantId / Tenant FQDN | String | Y | The tenant ID or tenant FQDN for which endpoint behavior mode will be configured | Validate if the tenant ID is a valid tenant ID or not |
label | String | Y | The label/mode for the endpoint behavior data which is getting updated | Validate that the label is present for a specific tenant
Validate that label is not “DEFAULT” Mandatory check |
JSON Parameters
No JSON parameters go in the request.
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
{
"version":"1",
"status":"success"
"data":null
}
Error Responses
Error responses will be handled the same way as the REST LOGIN API described previously.
HTTP Response Code | Error Code | Error Message | Scenario |
400 | 101015 | Invalid request | Validate that the label is not already present for a specific tenant. Validate that label is not “DEFAULT”. Mandatory check |
403 | N/A | N/A | Unauthorized user if anybody other than Tenant admin or Super admin tries to access. Invalid tenant ID/FQDN. |
404 | 101016 | Not Found | Endpoint behavior is not enabled for the tenant. |
500 | 101014 | Unexpected server-side error | Internal server error. |
CDR Obfuscation Profiles
These APIs enable Super Admins to manage the Call Detail Record (CDR) obfuscation profiles. An obfuscation profile indicates what data should be obfuscated in the CDR for each Tenant.
- Super Admins can also create a default Obfuscation Profile via the REST APIs.
- This customizability is especially useful for healthcare and GDPR customers who must follow strict guidelines on storing Personally Identifiable Information (PII).
Create System CDR Obfuscation Profile
URL: /admin/api/v1/system/tenants/cdr/obfuscation/profiles
Method: POST
Parameters
No parameters.
Request Body
{
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get All System CDR Obfuscation Profiles
URL: /admin/api/v1/system/tenants/cdr/obfuscation/profiles
Method: GET
Parameters
No parameters.
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Force Update All CDR Obfuscation Profiles with Specified Obfuscation Level
URL: /admin/api/v1/system/tenants/cdr/obfuscation/profiles
Method: PUT
Parameters
No parameters.
Request Body
{
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Update System CDR Obfuscation Profiles
URL: /admin/api/v1/system/tenants/cdr/obfuscation/profiles/{profileId}
Method: PUT
Parameters
Field | Data Type | Mandatory | Description |
profileId | Integer | Y | CDR obfuscation profile to update. |
Request Body
{
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
500 | Internal server error |
Get System CDR Obfuscation Profile
URL: /admin/api/v1/system/tenants/cdr/obfuscation/profiles/{profileId}
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
profileId | Integer | Y | CDR obfuscation profile to read. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
500 | Internal server error |
Create Tenant CDR Obfuscation Profile
URL: /admin/api/v1/tenants/{tenantId}/cdr/obfuscation/profiles
Method: POST
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | Tenant ID or Tenant FQDN. |
Request Body
{
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get All Tenant CDR Obfuscation Profiles
URL: /admin/api/v1/tenants/{tenantId}/cdr/obfuscation/profiles
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | Tenant ID or Tenant FQDN. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Update Tenant CDR Obfuscation Profile
URL: /admin/api/v1/tenants/{tenantId}/cdr/obfuscation/profiles/{profileId}
Method: PUT
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | Tenant ID or Tenant FQDN. |
profileId | Integer | Y | CDR obfuscation profile to update. |
Request Body
{
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
500 | Internal server error |
Get Tenant CDR Obfuscation Profile
URL: /admin/api/v1/tenants/{tenantId}/cdr/obfuscation/profiles/{profileId}
Method: PUT
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | Tenant ID or Tenant FQDN. |
profileId | Integer | Y | CDR obfuscation profile to read. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {
"id": 1,
"tenantId": 0,
"obfuscationLevel": "GUESTS",
"fields": [
"callerName"
]
}
}
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
500 | Internal server error |
Delete Tenant CDR Obfuscation Profile
URL: /admin/api/v1/tenants/{tenantId}/cdr/obfuscation/profiles/{profileId}
Method: DELETE
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | Tenant ID or Tenant FQDN. |
profileId | Integer | Y | CDR obfuscation profile to delete. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": {}
}
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
500 | Internal server error |
Get CDR Fields that Can Be Obfuscated
URL: /admin/api/v1/system/tenants/cdr/obfuscation/fields
Method: GET
Parameters
No parameters.
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version":"1",
"status":"success",
"data": [
{
"fieldname": "callerName"
}
]
}
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Minimum Endpoint Version – System Level Configuration
These APIs enable Administrators to reject endpoints at the system level based on:
- ApplicationName - By default, the following Application Names are configured to be rejected:
- VidyoDesktop
- VidyoMobile
- EndpointType - By default, the following endpoints are configured to be rejected:
- V - VidyoRoom HD200 (Windows)
- R - VidyoRoom HD100/HD50 (Windows)
The reject endpoints created at the system level will be the system default for all tenants and newly created tenants.
Rejection occurs during login sequence (LinkEndpoint) and JoinConference.
Create System Default Rejected Application
URL: /admin/api/v1/system/tenants/rejections/applications
Method: POST
Parameters
No parameters.
Request Body
{
"name": "VidyoDesktop",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": 1,
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get All System Default Rejected Applications
URL: /admin/api/v1/system/tenants/rejections/applications
Method: GET
Parameters
No parameters.
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
[
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoDesktop"
}
{
"id": 2,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
]
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Force Update System Default Rejected Applications to All Tenants
URL: /admin/api/v1/system/tenants/rejections/applications
Method: PUT
Parameters
No parameters.
Request Body
{
"name": "VidyoDesktop",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get System Default Rejected Application
URL: /admin/api/v1/system/tenants/rejections/applications/{rejectedApplicationId}
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
rejectedapplicationid | Integer | Y | Rejected application id. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Update System Default Rejected Application
URL: //admin/api/v1/system/tenants/rejections/applications/{rejectedApplicationId}
Method: PUT
Parameters
Field | Data Type | Mandatory | Description |
rejectedapplicationid | Integer | Y | Rejected application id to update. |
Request Body
{
"name": "VidyoDesktop",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Delete System Default Rejected Application
URL: /admin/api/v1/system/tenants/rejections/applications/{rejectedApplicationId}
Method: DELETE
Parameters
Field | Data Type | Mandatory | Description |
rejectedapplicationid | Integer | Y | Rejected application id to delete. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": null
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Create System Default Rejected Endpoint Type
URL: /admin/api/v1/system/tenants/rejections/endpointTypes
Method: POST
Parameters
No parameters.
Request Body
{
"endpointType": "V",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"endpointType": "V"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get All System Default Rejected Endpoint Types
URL: /admin/api/v1/system/tenants/rejections/endpointTypes
Method: GET
Parameters
No parameters.
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
[
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"endpointType": "R"
},
{
"id": 2,
"tenantID": 0,
"endpointType": "V"
},
{
"id": 3,
"tenantID": 0,
"endpointType": "Y"
}
]
}
]
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Force Update System Default Rejected Endpoint Type to All Tenants
URL: /admin/api/v1/system/tenants/rejections/endpointTypes
Method: PUT
Parameters
No parameters.
Request Body
{
"endpointType": "V",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"endpointType": "V"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get System Default Rejected Endpoint Type
URL: /admin/api/v1/system/tenants/rejections/endpointTypes/{rejectedEndpointTypeId}
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
rejectedEndpointTypeId | Integer | Y | Rejected endpoint type Id. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"endpointType": "V"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Update System Default Rejected Endpoint Type
URL: /admin/api/v1/system/tenants/rejections/endpointTypes/{rejectedEndpointId}
Method: PUT
Parameters
Field | Data Type | Mandatory | Description |
rejectedEndpointTypeId | Integer | Y | Rejected endpoint type Id to update. |
Request Body
{
"endpointType": "V",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"endpointType": "V"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Delete System Default Rejected Endpoint Type
URL: /admin/api/v1/system/tenants/rejections/endpointTypes/{rejectedEndpointId}
Method: DELETE
Parameters
Field | Data Type | Mandatory | Description |
rejectedEndpointTypeId | Integer | Y | Rejected endpoint type Id to delete. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": null
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Minimum Endpoint Version – Tenant Level Configuration
These APIs enable Administrators to reject endpoints at the tenant level based on:
- ApplicationName - By default, the following Application Names are configured to be rejected:
- VidyoDesktop
- VidyoMobile
- EndpointType - By default, the following endpoints are configured to be rejected:
- V - VidyoRoom HD200 (Windows)
- R - VidyoRoom HD100/HD50 (Windows)
The reject endpoints created at the tenant level can override the system default.
Rejection occurs during login sequence (LinkEndpoint) and JoinConference.
Create Tenant Level Rejected Application
URL: /admin/api/v1/tenants{tenantId}/rejections/applications
Method: POST
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
Request Body
{
"name": "VidyoDesktop",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get All Tenant Rejected Applications
URL: /admin/api/v1/tenants{tenantId}/rejections/applications
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
[
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoDesktop"
},
{
"id": 2,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
]
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get Tenant Level Rejected Application
URL: /admin/api/v1/tenants{tenantId}/rejections/applications/{rejectedApplicationId}
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
rejectedApplicationId | Integer | Y | Rejected application id. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Update Tenant Level Rejected Application
URL: /admin/api/v1/tenants{tenantId}/rejections/applications/{rejectedApplicationId}
Method: PUT
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
rejectedApplicationId | Integer | Y | Rejected application id to update. |
Request Body
{
"name": "VidyoDesktop"
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"name": "VidyoMobile"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Delete Tenant Level Rejected Application
URL: /admin/api/v1/tenants{tenantId}/rejections/applications/{rejectedApplicationId}
Method: DELETE
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
rejectedApplicationId | Integer | Y | Rejected application id to delete. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": null
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Create Tenant Level Rejected Endpoint Type
URL: /admin/api/v1/tenants{tenantId}/rejections/endpointTypes/
Method: POST
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
Request Body
{
"endpointType": "V"
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"endpointType": "V"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get All Tenant Level Rejected Endpoint Types
URL: /admin/api/v1/tenants{tenantId}/rejections/endpointTypes/
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 3,
"endpointType": "R"
},
{
"id": 2,
"tenantID": 0,
"endpointType": "V"
},
{
"id": 3,
"tenantID": 0,
"endpointType": "Y"
}
]
}
Error Responses
HTTP Response Code | Error Message |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Get Tenant Level Rejected Endpoint Type
URL: /admin/api/v1/tenants/{tenantId}/rejections/endpointTypes/{rejectedEndpointTypeId}
Method: GET
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
rejectedEndpointTypeId | Integer | Y | Rejected endpoint type id. |
Request Body
{
"tenantId":"V",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 3,
"endpointType": "V"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Update Tenant Level Rejected Endpoint Type
URL: /admin/api/v1/tenants{tenantId}/rejections/applications/{rejectedApplicationId}
Method: PUT
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name |
rejectedEndpointTypeId | Integer | Y | Rejected enpoint type id to update. |
Request Body
{
"endpointType":"V",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": [
{
"id": 1,
"tenantID": 0,
"endpointType": "V"
}
]
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |
Delete Tenant Level Rejected Endpoint Type
URL: /admin/api/v1/tenants{tenantId}/rejections/endpointTypes/{rejectedEndpointTypeId}
Method: DELETE
Parameters
Field | Data Type | Mandatory | Description |
tenantId | String | Y | The tenantId of tenant or tenant host name. |
rejectedEndpointTypeId | Integer | Y | Rejected endpoint type id to delete. |
Request Body
{
"tenantId":"V",
}
Success Response
In case of success, success code 200 HttpStatus.OK is returned with the JSON content shown below.
Sample JSON response:
{
"version": "1",
"status":"success",
"data": null
}
Error Responses
HTTP Response Code | Error Message |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal server error |