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