Introduction


This is the REST API for the Content Manager module of Videoscape Media Suite. Methods can be accessed using the following base URL:

http(s)://{VMS URL}/opencase/resource/rest{Method Mount Point}

Data

All endpoints act on a common set of data. The data can be represented in different data formats (i.e. MIME types), depending on the endpoint that consumes and/or produces the data. The data format is JSON.

JSON Data Types

/api/admin/v1/permission/api

  • Mount point: /api/admin/v1/permission/api

The following operations are supported on this resource:

GET

This method is used to get list of available APIPermission DTO objects by given optional query parameters. See API Search page for parameters description.

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
APIPermissionDTO application/json

Response Codes

code reason
200OK

/api/admin/v1/permission/api/{uuid}

  • Mount point: /api/admin/v1/permission/api/{uuid}

The following operations are supported on this resource:

GET

This method is used to get a specific instance of the DTO by given UUID.

URL Parameters

name description type default
uuidThe uuid of the object.path

Output Payload

element produceable content type(s)
APIPermissionDTO application/json

Response Codes

code reason
200OK
404NOT FOUND

/api/admin/v1/menu

  • Mount point: /api/admin/v1/menu

The following operations are supported on this resource:

GET

This method is used to get list of available Menu Item DTO objects by given optional query parameters. Search, Sort and Pagination are not supported for this API.

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
MenuItemDTO application/json

Response Codes

code reason
200OK

/api/admin/v1/caching

  • Mount point: /api/admin/v1/caching

The following operations are supported on this resource:

GET

This method is used to get a list of Cache Instance in the system

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
CacheManagementDTO application/json

Response Codes

code reason
200OK

/api/admin/v1/caching/{nameid}

  • Mount point: /api/admin/v1/caching/{nameid}

The following operations are supported on this resource:

DELETE

This method is used to clear a Cache Instance from the system provided the nameid of the Cache Instance.

URL Parameters

name description type default
nameidpath

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
204NO CONTENT. Cache Instance was successfully cleared.
404NOT FOUND. Category with provided id was not found.

GET

This method is used to get a specific instance Cache Instance DTO by given nameid.

URL Parameters

name description type default
nameidThe name of the cache.path

Output Payload

element produceable content type(s)
CacheManagementDTO application/json

Response Codes

code reason
200OK
404NOT FOUND

/api/admin/v2/administrator

  • Mount point: /api/admin/v2/administrator

The following operations are supported on this resource:

GET

This method is used to get list of available user DTO objects.

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
UserV2DTO application/json

Response Codes

code reason
200OK

POST

This method is used to create new user. Username must not be specified for this operation in the Url. Request body must contain all required fields.

Input Payload

element consumeable content type(s)
UserV2DTOapplication/json

Output Payload

element produceable content type(s)
UserV2DTO application/json

Response Codes

code reason
201Created.
400Error in JSON request, or request didn't pass field validation, or not unique data is provided.
404Request path formed incorrectly and cannot be resolved.
405Username is present in request path.
500Request is formed correctly, but server cannot create entity. Unexpected error.

/api/admin/v2/administrator/{username}

  • Mount point: /api/admin/v2/administrator/{username}

The following operations are supported on this resource:

GET

This method is used to get a specific instance of the DTO by given username.

URL Parameters

name description type default
usernameThe username to obtain.path

Output Payload

element produceable content type(s)
UserV2DTO application/json

Response Codes

code reason
200OK
404NOT FOUND

PUT

This method is used to update user. Username can be specified for this operation in the Url or in the body

Note, that in PUT operation we must provide all required fields.

URL Parameters

name description type default
usernameThe username.path

Input Payload

element consumeable content type(s)
UserV2DTOapplication/json

Output Payload

element produceable content type(s)
UserV2DTO application/json

Response Codes

code reason
200Request is formed correctly, operation passed successfully.
400Error in JSON request, or request didn't pass field validation, or not unique data is provided.
404User with username from request is not found.
405Request path has no username.
500Request is formed correctly, but server cannot perform entity update. Unexpected error.

DELETE

This method is used to delete user by given username.

URL Parameters

name description type default
usernameThe username.path

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
204NO CONTENT
404NOT FOUND

/api/admin/v1/locales

  • Mount point: /api/admin/v1/locales

The following operations are supported on this resource:

GET

This method is used to get list of allowed locales which are supported. Search, Sort and Pagination are not supported for this API.

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
LocaleConfigDTO application/json

Response Codes

code reason
200OK

/api/admin/v1/permission/ui

  • Mount point: /api/admin/v1/permission/ui

The following operations are supported on this resource:

GET

This method is used to get list of available Permission DTO objects by given optional query parameters. See API Search page for parameters description.

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
PermissionDTO application/json

Response Codes

code reason
200OK

/api/admin/v1/permission/ui/{uuid}

  • Mount point: /api/admin/v1/permission/ui/{uuid}

The following operations are supported on this resource:

GET

This method is used to get a specific instance of the DTO given the UUID.

URL Parameters

name description type default
uuidThe uuid of the object.path

Output Payload

element produceable content type(s)
PermissionDTO application/json

Response Codes

code reason
200OK
404NOT FOUND

/api/admin/v1/restrictionkey

  • Mount point: /api/admin/v1/restrictionkey

The following operations are supported on this resource:

GET

Returns list of restriction keys, for getting all published keys: ?search=is_published:in:true

URL Parameters

name description type default
searchSearchquery
sortRestriction sortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
RestrictionKeyDTO application/json

Response Codes

code reason
200OK
500Internal server error

POST

This method is used to create new Restriction Key.

Input Payload

element consumeable content type(s)
RestrictionKeyDTOapplication/json

Output Payload

element produceable content type(s)
RestrictionKeyDTO application/json

Response Codes

code reason
201Created.
400Error in JSON request, or entity didn't pass field validation.
404Request path formed incorrectly and cannot be resolved.
405UUID is present in request path.
500Request is formed correctly, but server cannot perform entity creation. Unexpected error.

/api/admin/v1/restrictionkey/{uuid}

  • Mount point: /api/admin/v1/restrictionkey/{uuid}

The following operations are supported on this resource:

PUT

This method is used to perform update Restriction Key.

URL Parameters

name description type default
uuidThe uuid of the Role.path

Input Payload

element consumeable content type(s)
RestrictionKeyDTOapplication/json

Output Payload

element produceable content type(s)
RestrictionKeyDTO application/json

Response Codes

code reason
200Request is formed correctly, operation passed successfully.
400Error in JSON request, or entity didn't pass field validation.
404UUID from request is not found in DB.
405NOT ALLOWED. Updating is not allowed for Restriction Key with provided id.
500Request is formed correctly, but server cannot perform entity update. Unexpected error.

DELETE

This method is used to delete Restriction Key by provided uuid.

URL Parameters

name description type default
uuidpath

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
204NO CONTENT. Restriction Key was successfully deleted.
404NOT FOUND. Restriction Key with provided id was not found.
405NOT ALLOWED. Deletion is not allowed for Restriction Key with provided id.

/api/admin/v1/role

  • Mount point: /api/admin/v1/role

The following operations are supported on this resource:

GET

This method is used to get list of available Role DTO objects by given optional query parameters. See API Search page for parameters description.

Roles available for task assignment may be gotten by next search token: is_task_actor:equals:true

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
RoleDTO application/json

Response Codes

code reason
200OK

POST

This method is used to create new Role.

Uuid must not be specified for this operation. Name field is required. Name must not contain spaces or special symbols. Array of Permissions and APIPermissions references may be specified or left blank

Input Payload

element consumeable content type(s)
RoleDTOapplication/json

Output Payload

element produceable content type(s)
RoleDTO application/json

Response Codes

code reason
201Created.
400Error in JSON request, or request didn't pass field validation, or not unique data is provided.
404Request path formed incorrectly and cannot be resolved.
405UUID is present in request path.
500Request is formed correctly, but server cannot perform entity creation. Unexpected error.

/api/admin/v1/role/{uuid}

  • Mount point: /api/admin/v1/role/{uuid}

The following operations are supported on this resource:

PUT

This method is used to perform update or partial update of Role.

UUID: Note, that UUID in request string must be present. UUID in JSON body may be absent or else, it must be equal to UUID in request string. Name of the Role is not updatable and must be skipped.Only Roles with is_delete_allowed flag = true are available for update.

URL Parameters

name description type default
uuidThe uuid of the Role.path

Input Payload

element consumeable content type(s)
RoleDTOapplication/json

Output Payload

element produceable content type(s)
RoleDTO application/json

Response Codes

code reason
200Request is formed correctly, operation passed successfully.
400Error in JSON request, or entity didn't pass field validation.
404UUID from request is not found in DB.
405Request path has no UUID or it doesn't match the one from request body, or is_delete_allowed = false.
500Request is formed correctly, but server cannot perform entity update. Unexpected error.

DELETE

This method is used to delete Role by provided uuid.

URL Parameters

name description type default
uuidpath

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
204NO CONTENT. Role was successfully deleted.
404NOT FOUND. Role with provided id was not found.
405NOT ALLOWED. Deletion is not allowed for Role with provided id.

GET

This method is used to get a specific instance of the DTO by given UUID.

URL Parameters

name description type default
uuidThe uuid of the object.path

Output Payload

element produceable content type(s)
RoleDTO application/json

Response Codes

code reason
200OK
404NOT FOUND

/api/auth

  • Mount point: /api/auth

The following operations are supported on this resource:

GET

This method is used to get authentication token by its value. Value should be defined in request header.

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
200Existed Token
404NOT FOUND

DELETE

This method is used to logout user by its value. Value should be defined in request header.

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
200NO CONTENT
404NOT FOUND

POST

This method is used to get an authentication token. Request body must contain login/password information.

Input Payload

element consumeable content type(s)
AuthCredentialsDTOapplication/json

Output Payload

element produceable content type(s)
AuthTokenDTO application/json

Response Codes

code reason
200Created.
400Error in JSON request or credentials are missing.
404Request path formed incorrectly and cannot be resolved.
500Request is formed correctly, but server cannot create entity. Unexpected error.

/api/auth/cookiename

  • Mount point: /api/auth/cookiename

The following operations are supported on this resource:

GET

This method is used to get authentication token cookie name.

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
200Token cookie name
404NOT FOUND

/api/admin/v1/administrator

  • Mount point: /api/admin/v1/administrator

The following operations are supported on this resource:

GET

This method is used to get list of available user DTO objects. API search is not supported. API Sort allows to sort users by json fieldnames (except password, roles_ref)

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
UserDTO application/json

Response Codes

code reason
200OK

POST

This method is used to create new user. Username must not be specified for this operation in the Url. Request body must contain all required fields.

Input Payload

element consumeable content type(s)
UserDTOapplication/json

Output Payload

element produceable content type(s)
UserDTO application/json

Response Codes

code reason
201Created.
400Error in JSON request, or request didn't pass field validation, or not unique data is provided.
404Request path formed incorrectly and cannot be resolved.
405Username is present in request path.
500Request is formed correctly, but server cannot create entity. Unexpected error.

/api/admin/v1/administrator/{username}

  • Mount point: /api/admin/v1/administrator/{username}

The following operations are supported on this resource:

PUT

This method is used to update user. Note, that username in request string must be present.

Note, that in PUT operation we must provide all required fields.

URL Parameters

name description type default
usernameThe username.path

Input Payload

element consumeable content type(s)
UserDTOapplication/json

Output Payload

element produceable content type(s)
UserDTO application/json

Response Codes

code reason
200Request is formed correctly, operation passed successfully.
400Error in JSON request, or request didn't pass field validation, or not unique data is provided.
404User with username from request is not found.
405Request path has no username.
500Request is formed correctly, but server cannot perform entity update. Unexpected error.

DELETE

This method is used to delete user by given username.

URL Parameters

name description type default
usernamepath

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
204NO CONTENT
404NOT FOUND

GET

This method is used to get a specific instance of the DTO by given username.

URL Parameters

name description type default
usernameThe administrator username to obtain.path

Output Payload

element produceable content type(s)
UserDTO application/json

Response Codes

code reason
200OK
404NOT FOUND

/api/admin/v1/configuration/

  • Mount point: /api/admin/v1/configuration/

The following operations are supported on this resource:

GET

This method is used to get list of available Config DTO objects by given optional query parameters. See API Search page for parameters description.

URL Parameters

name description type default
searchSearchquery
sortSortquery
paginationPaginationquery

Output Payload

element produceable content type(s)
ConfigDTO application/json

Response Codes

code reason
200OK

POST

This method is used to create new Config at child level. Note that Configuation is not allowed to create at root level.

Input Payload

element consumeable content type(s)
ConfigDTOapplication/json

Output Payload

element produceable content type(s)
ConfigDTO application/json

Response Codes

code reason
201Created.
400Error in JSON request, or request didn't pass field validation, or not unique data is provided.
404Request path formed incorrectly and cannot be resolved.
405UUID is present in request path.
500Request is formed correctly, but server cannot perform entity update. Unexpected error.

/api/admin/v1/configuration/{uuid}

  • Mount point: /api/admin/v1/configuration/{uuid}

The following operations are supported on this resource:

PUT

This method is used to perform update and partial update of the Config

URL Parameters

name description type default
uuidThe uuid of the Config.path

Input Payload

element consumeable content type(s)
ConfigDTOapplication/json

Output Payload

element produceable content type(s)
ConfigDTO application/json

Response Codes

code reason
200Request is formed correctly, operation passed successfully.
400error in JSON request, or entity didn't pass field validation
404UUID from request is not found in DB.
405Request path has no UUID or it doesn't match the one from request body.
500Request is formed correctly, but server cannot perform entity update. Unexpected error.

DELETE

This method is used to perform delete of the Config

URL Parameters

name description type default
uuidpath

Output Payload

element produceable content type(s)
application/json

Response Codes

code reason
204NO CONTENT. Config was successfully deleted.
404NOT FOUND. Config was not found.
405NOT ALLOWED. Deleting config is not allowed.

GET

This method is used to get a specific instance of the DTO by given the UUID.

URL Parameters

name description type default
uuidThe uuid of the object.path

Output Payload

element produceable content type(s)
ConfigDTO application/json

Response Codes

code reason
200OK
404NOT FOUND

Type APIPermissionDTO

JSON object description

nametyperequireddescription
permission_typestringfalse[READ_ONLY] The api permission type
api_nodestringfalse[READ_ONLY] The api node of the API Permission
uuidstringfalse[READ_ONLY] The uuid of the API Permission

Type AuthCredentialsDTO

JSON object description

nametyperequireddescription
credentialsCredentialsfalseCredentials containing login/password information

Type AuthTokenDTO

JSON object description

nametyperequireddescription
authTokenAuthenticationTokenfalse

Type AuthenticationToken

JSON object description

nametyperequireddescription
user_namestringfalseAuthenticated user name
issue_timestampDatefalseDate of authentication token issue
token_valuestringfalseAuthentication token value
rolesstringfalseAuthenticated user roles (comma separated roles)
expiry_timestampDatefalseDate of authentication token expiration

Type CacheManagementDTO

JSON object description

nametyperequireddescription
cache_namestringfalse[READ_ONLY] The Cache Instance
modulestringfalse[READ_ONLY] The module of the Cache Instance
uuidstringfalse

Type ConfigDTO

JSON object description

nametyperequireddescription
is_removablebooleanfalse[READ_ONLY_AFTER_CREATION] Boolean flag indicating, that config can be removed or not. default value is true
is_encryptedbooleanfalseIf the value of Configuration (entry attribute) is encrypted
entrystringfalseThe name of the Config
description_keystringfalseThe key of description in properties file
child_config_refsSetfalse[READ_ONLY] The references on child configuration objects
validator_configstringfalseThe configuration for validator of value (entry attribute)
descriptionstringfalseThe description of the Config
parent_config_refDTOReferencefalseThe reference on parent configuration object
namestringfalse[REQUIRED] The name of the Config
children_allowedbooleanfalseIf the children configurations are allowed
uuidstringfalse[READ_ONLY] The uuid of the Category

Type Credentials

JSON object description

nametyperequireddescription
user_namestringfalseUser's username
passwordstringfalseUser's password

Type DTOReference

JSON object description

nametyperequireddescription
hrefstringfalseThe url that references the other DTO
namestringfalseThe name of the referenced DTO
uuidstringfalse[REQUIRED] The uuid of the referenced DTO

Type DTOResourceBundle

JSON object description

nametyperequireddescription
resource_labelsSetfalseThe Resource Labels (language, label) pair corresponding to the resource key
resource_keystringtrue[REQUIRED] The resource key of the resource labels

Type LocaleConfigDTO

JSON object description

nametyperequireddescription
localestringfalse[READ_ONLY] The locale

Type MenuItemDTO

JSON object description

nametyperequireddescription
child_menu_itemsArray[MenuItemDTO]falseChild Menu Items
namestringfalseThe name of the Menu Item
link_urlstringfalseThe link to the Menu Item

Type PermissionDTO

JSON object description

nametyperequireddescription
actionstringtrue[REQUIRED] The action of the Permission
targetstringtrue[REQUIRED] The target of the Permission
child_permissions_refSetfalse[READ_ONLY] The references on child permission objects
parent_permission_refDTOReferencefalse[READ_ONLY_AFTER_CREATION] The reference on parent permission object
resource_bundleDTOResourceBundletrue[REQUIRED] The resource bundle
uuidstringfalse[READ_ONLY] The uuid of the Permission

Type RestrictionKeyDTO

JSON object description

nametyperequireddescription
is_publishedbooleanfalseShows if Restriction Key is published
restriction_keystringfalse[REQUIRED] The Restriction Key value
uuidstringfalse[READ_ONLY] The uuid of the Restriction Key

Type RoleDTO

JSON object description

nametyperequireddescription
api_permissions_refSetfalse[GET_LIST_HIDDEN] The Set of references to APIPermissions See DTOReference
is_delete_allowedbooleanfalse[READ_ONLY] Shows if Role could be deleted or updated. Default value for POST operations: true
last_modifiedDatefalse[READ_ONLY] Role's last modified date
permissions_refSetfalse[GET_LIST_HIDDEN] The Set of references to Permissions See DTOReference
role_namestringfalse[READ_ONLY_AFTER_CREATION] The name of the Role. Spaces or special symbols are not allowed
uuidstringfalse[READ_ONLY] The uuid of the Role

Type UserDTO

JSON object description

nametyperequireddescription
user_namestringtrue[REQUIRED] [READ_ONLY_AFTER_CREATION] The user name
is_activebooleantrue[REQUIRED] Shows if user is active or not
roles_refSettrue[REQUIRED] List of roles assigned to user
passwordstringtrue[REQUIRED_ON_CREATION] Password of user. Should have at least 8 characters. This is a required property only on POST operations, if the password is empty or null on PUT operations, the password will simply be not updated
localestringtrue[REQUIRED] Defines the locale which will be used by user. For example en_US
restriction_keystringfalseThe restriction key of user
emailstringfalseDefines the email of user
is_adminbooleanfalse[READ_ONLY] Shows if user is administrator
time_zonestringtrue[REQUIRED] Defines the time zone (id) which will be used by user. For example GMT+14

Type UserV2DTO

JSON object description

nametyperequireddescription
user_attributesSetfalseSet of User's attributes
role_namesSetfalseSet of user's rolenames
loginstringtrue[REQUIRED][READ_ONLY_AFTER_CREATION] The login of the User entity