Skip to content

API Endpoint Reference (1.0)

Tenovos offers a REST API for partner and customer integrations. This API provides a RESTful endpoint, token-based authorization, HTTP methods for operations, and JSON-formatted payloads. Use this API to incorporate Tenovos functionality into your own application.

This API is up-versioned when a breaking change is introduced such as

  • a change in the format of the response data for one or more calls
  • a change in the request or response type (i.e. changing an integer to a float)
  • removing any part of the API.

This API is not up-versioned for non-breaking changes such as

  • new endpoints
  • new response parameters
  • new optional request parameters
Download OpenAPI description
Languages
Servers
https://enterprise.services.tenovos.io/content-store-v1
https://enterprise-2.services.tenovos.io/content-store-v1
https://enterprise3.services.tenovos.io/content-store-v1
https://enterprise-4.services.tenovos.io/content-store-v1

Action Operations

Invoke the Action API to retrieve information about invoked Actions.

Operations

Asset Operations

Invoke the Asset API to create, retrieve, manipulate, and share Assets. This API also provides operations to manage Asset relationships and download Asset content.

Operations

Authentication Operations

Invoke the Authentication API to generate, refresh, and revoke access tokens. An access token is required to perform any authorized API operation.

Operations

Collection Operations

Invoke the Collection API to create, retrieve, edit, and delete Collections. Collections are used to group and catalog related Assets for quick access and consumption. Collections can be configured as:

  • private: Visible only to the user who created the Collection.
  • secured: Visible to shared users with permission.

When retrieving the Assets within a Collection, the requesting user will only see the Assets that the user has access to view. For example, a librarian may see all Assets within a Collection, but a general consumer user may only see a portion of those Assets, due to limited security access.

Operations

Customer Operations

Invoke the Customer API to retrieve Customer account profile information.

Operations

Metadata Operations

Invoke the Metadata API to retrieve Metadata Template to be applied to Assets during Asset creation. A Metadata Template defines a set of Metadata Attributes of varying types, including Text, Date, Controlled Vocabulary, Tabular, and Cascading Attributes. When a Metadata Template is assigned to a new Asset, the corresponding Metadata Attributes will be available for population on the Asset.

Operations

Search Operations

Search for Collections by Collection name.

Perform Asset searches using keywords or Attribute-specific search terms using the Keyword Search endpoint.

Perform a scan on all assets based on search criteria using a cursor to page through the entire result set of assets.

Operations

Security Operations

Invoke the Metadata API to retrieve Security Template information to be applied to Assets during Asset creation or edit.

Operations

User Operations

Invoke the User API to retrieve User profile information.

Operations

Get the current User's Profile.

Request

Use this endpoint to get the user profile information for the account that you've authenticated against the Tenovos API with.
This is useful when needing to check which groups you are in which may restrict the API calls you can make.

Security
ApiKeyAuth or BasicAuth
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

AccessTokenstringrequired

JWT token provided by Authentication Token creation operation.

curl -i -X GET \
  https://enterprise.services.tenovos.io/content-store-v1/user \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

The Response Body is a JSON object.

Bodyapplication/json
userIdstring(uuid)

Current User ID

Example: "7d675ef0-f423-11e9-8071-89c0c4052141"
customerIdstring

Parent Customer ID

Example: "1234567890"
emailIdstring(email)

User email

Example: "jlake@company.com"
firstNamestring

User first name

Example: "John"
lastNamestring

User last name

Example: "Lake"
roleIdstring(uuid)

User role ID

Example: "7d5620e0-f423-11e9-8071-89c0c4052141"
statusstring

User account status

Example: "enabled"
groupsArray of strings(uuid)

List of group IDs that user belongs to

Example: ["7d6207c0-f423-11e9-8071-89c0c4052141"]
Response
application/json
{ "userId": "7d675ef0-f423-11e9-8071-89c0c4052141", "customerId": "1234567890", "emailId": "jlake@company.com", "firstName": "John", "lastName": "Lake", "roleId": "7d5620e0-f423-11e9-8071-89c0c4052141", "status": "enabled", "groups": [ "7d6207c0-f423-11e9-8071-89c0c4052141" ] }

Create a new User in system.

Request

Use this endpoint to create a new user account in the system. You must have User Management role privilege and Security Template Management role privilege in order to create a user and assign groups. This endpoint can be used to create local or federated users.

Security
ApiKeyAuth or BasicAuth
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

AccessTokenstringrequired

JWT token provided by Authentication Token creation operation.

Bodyapplication/jsonrequired

The Request Body must be a JSON object

firstNamestring

First Name of the User.

Example: "John"
lastNamestring

Last Name of the User.

Example: "Wick"
friendlyNamestring

Friendly Name of the User.

Example: "john.wick"
emailstring

Email of the User.

Example: "john.wick@tenovos.com"
usernamestring

Username of the User.

Example: "john.wick"
passwordstring

Password of the User.

Example: "sdhg&uuUz78u"
accountTypestring

Account Type of the User.

Enum"local""federated"
Example: "local"
customAttributesobject(UserCreateRequest_customAttributes)
userRoleIdstring

Account Type of the User.

Example: "1401df5e-3f13-4c88-a5a8-de64f6227a03"
groupsArray of strings(uuid)

List of group IDs that user belongs to

Example: ["7d6207c0-f423-11e9-8071-89c0c4052141"]
curl -i -X POST \
  https://enterprise.services.tenovos.io/content-store-v1/user \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "firstName": "John",
    "lastName": "Wick",
    "friendlyName": "john.wick",
    "email": "john.wick@tenovos.com",
    "username": "john.wick",
    "password": "sdhg&uuUz78u",
    "accountType": "local",
    "customAttributes": {
      "country": "USA",
      "company": "Tenovos",
      "phone": "",
      "contact": ""
    },
    "userRoleId": "1401df5e-3f13-4c88-a5a8-de64f6227a03",
    "groups": [
      "7d6207c0-f423-11e9-8071-89c0c4052141"
    ]
  }'

Responses

The Response Body is a JSON object.

Bodyapplication/json
roleIdstring(uuid)

User role ID

Example: "7d5620e0-f423-11e9-8071-89c0c4052141"
statusstring

User account status

Example: "success"
Response
application/json
{ "roleId": "7d5620e0-f423-11e9-8071-89c0c4052141", "status": "success" }

Get User Profile by ID.

Request

Current user will get its profile information in response. User will also get ID of a role assign to him and a list of group IDs from which it belongs to.

Security
ApiKeyAuth or BasicAuth
Path
idstringrequired

Specify a User Profile ID.

Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

AccessTokenstringrequired

JWT token provided by Authentication Token creation operation.

curl -i -X GET \
  'https://enterprise.services.tenovos.io/content-store-v1/user/{id}' \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

The Response Body will be a JSON object

Bodyapplication/json
userIdstring(uuid)

Current User ID

Example: "7d675ef0-f423-11e9-8071-89c0c4052141"
customerIdstring

Parent Customer ID

Example: "1234567890"
emailIdstring(email)

User email

Example: "jlake@company.com"
firstNamestring

User first name

Example: "John"
lastNamestring

User last name

Example: "Lake"
roleIdstring(uuid)

User role ID

Example: "7d5620e0-f423-11e9-8071-89c0c4052141"
statusstring

User account status

Example: "enabled"
groupsArray of strings(uuid)

List of group IDs that user belongs to

Example: ["7d6207c0-f423-11e9-8071-89c0c4052141"]
Response
application/json
{ "userId": "7d675ef0-f423-11e9-8071-89c0c4052141", "customerId": "1234567890", "emailId": "jlake@company.com", "firstName": "John", "lastName": "Lake", "roleId": "7d5620e0-f423-11e9-8071-89c0c4052141", "status": "enabled", "groups": [ "7d6207c0-f423-11e9-8071-89c0c4052141" ] }

Update User attributes.

Request

Update User Profile attributes such as First Name, Last Name, Friendly Name, Email, Company, Country, Contact, Phone, and User Role. The user role can be updated by sending either role id or role name.

Security
ApiKeyAuth or BasicAuth
Path
idstringrequired

Specify a User Profile ID.

Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

AccessTokenstringrequired

JWT token provided by Authentication Token creation operation.

Bodyapplication/jsonrequired

The Request Body must be a JSON object

firstNamestring

First Name of the user

Example: "John"
lastNamestring

Last Name of the user

Example: "Smith"
friendlyNamestring

Last Name of the user

Example: "John Smith"
emailstring

Email of the user

Example: "john.smith@company.com"
companystring

Company name of the user

Example: "John's Company Inc."
countrystring

Country of the user

Example: "USA"
contactnumber

Contact Number of the user

Example: 1234567890
phonenumber

Alternate phone number of the user

Example: 1234567890
userRoleIdstring(uuid)

User role id of the user

Example: "7d5620e0-f423-11e9-8071-89c0c4052141"
userRoleNamestring

User role name of the user

Example: "End user"
groupsArray of strings(uuid)

List of user group ids the user is part of

Example: ["7d6207c0-f423-11e9-8071-89c0c4052141"]
statusstring

Allows updating the users status to either enable or disabled. These values are case sensitive.

Enum"enabled""disabled"
Example: "enabled"
curl -i -X PATCH \
  'https://enterprise.services.tenovos.io/content-store-v1/user/{id}' \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "firstName": "John",
    "lastName": "Smith",
    "friendlyName": "John Smith",
    "email": "john.smith@company.com",
    "company": "John'\''s Company Inc.",
    "country": "USA",
    "contact": 1234567890,
    "phone": 1234567890,
    "userRoleId": "7d5620e0-f423-11e9-8071-89c0c4052141",
    "userRoleName": "End user",
    "groups": [
      "7d6207c0-f423-11e9-8071-89c0c4052141"
    ],
    "status": "enabled"
  }'

Responses

The Response Body will be a JSON object

Bodyapplication/json
userIdstring(uuid)

Current User ID

Example: "7d675ef0-f423-11e9-8071-89c0c4052141"
customerIdstring

Parent Customer ID

Example: "1234567890"
emailIdstring(email)

User email

Example: "jlake@company.com"
firstNamestring

User first name

Example: "John"
lastNamestring

User last name

Example: "Lake"
roleIdstring(uuid)

User role ID

Example: "7d5620e0-f423-11e9-8071-89c0c4052141"
statusstring

User account status

Example: "enabled"
groupsArray of strings(uuid)

List of group IDs that user belongs to

Example: ["7d6207c0-f423-11e9-8071-89c0c4052141"]
Response
application/json
{ "userId": "7d675ef0-f423-11e9-8071-89c0c4052141", "customerId": "1234567890", "emailId": "jlake@company.com", "firstName": "John", "lastName": "Lake", "roleId": "7d5620e0-f423-11e9-8071-89c0c4052141", "status": "enabled", "groups": [ "7d6207c0-f423-11e9-8071-89c0c4052141" ] }

Add User to Security Group.

Request

Assign a Security Group to a User Profile.

Security
ApiKeyAuth or BasicAuth
Path
idstringrequired

Specify a User Profile ID.

Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

AccessTokenstringrequired

JWT token provided by Authentication Token creation operation.

Bodyapplication/jsonrequired

The Request Body must be a JSON object

userGroupIdstring(uuid)

group-id of a valid existing user-security-group of customer

Example: "7d6207c0-f423-11e9-8071-89c0c4052141"
userGroupNamestring

group-name of a valid existing user-security-group of a customer

curl -i -X PATCH \
  'https://enterprise.services.tenovos.io/content-store-v1/user/{id}/add-to-group' \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "userGroupId": "7d6207c0-f423-11e9-8071-89c0c4052141",
    "userGroupName": "string"
  }'

Responses

The Response Body will be a JSON object

Bodyapplication/json
statusstring
Example: "success"
messagestring
Example: "User Profile update was successful"
Response
application/json
{ "status": "success", "message": "User Profile update was successful" }

Remove User from Security Group.

Request

Remove an assigned Security Group from a User Profile.

Security
ApiKeyAuth or BasicAuth
Path
idstringrequired

Specify a User Profile ID.

Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

AccessTokenstringrequired

JWT token provided by Authentication Token creation operation.

Bodyapplication/jsonrequired

The Request Body must be a JSON object

userGroupIdstring(uuid)

group-id of a valid existing user-security-group of customer

Example: "7d6207c0-f423-11e9-8071-89c0c4052141"
userGroupNamestring

group-name of a valid existing user-security-group of a customer

curl -i -X PATCH \
  'https://enterprise.services.tenovos.io/content-store-v1/user/{id}/remove-from-group' \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "userGroupId": "7d6207c0-f423-11e9-8071-89c0c4052141",
    "userGroupName": "string"
  }'

Responses

The Response Body will be a JSON object

Bodyapplication/json
statusstring
Example: "success"
messagestring
Example: "User Profile update was successful"
Response
application/json
{ "status": "success", "message": "User Profile update was successful" }

Search User Profiles by Text.

Request

User will get a list of User Profiles matching the searchText in response. Provided searchText will be matched against the user attributes case insensitively - First Name, Last Name, Friendly Name, Email, Phone, Company, Contact, Country, Group Names, and Role Name. User will only see the list of users that are part of the user groups that it belongs to.

Security
ApiKeyAuth or BasicAuth
Path
searchTextstringrequired

Specify searchText to search across user attributes.

Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

AccessTokenstringrequired

JWT token provided by Authentication Token creation operation.

curl -i -X GET \
  'https://enterprise.services.tenovos.io/content-store-v1/user/search/{searchText}' \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

The Response Body will be a JSON object

Bodyapplication/json
statusstring
Example: "success"
dataArray of objects(User)

List of User objects

Response
application/json
{ "status": "success", "data": [ {} ] }

Proof Operations

Operations

Cart Operations

Operations