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

Complete Upload.

Request

Complete/Cancel multipart upload once all parts are uploaded. This endpoint must be called after creating asset when the file is sent in chunks of 100MB each. For files 100MB or less in size this operation is not needed.

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.

Content-Typestringrequired
Value"application/json"
Bodyapplication/jsonrequired

The Request Body must be a JSON array.

fileIdstring(uuid)
filenamestring
filesizeinteger
Example: 335226108
actionstring

Either complete or cancel as the action to finalize the multipart upload. This field is case sensitive.

Enum"complete""cancel"
Example: "complete"
originalFileIdstring(uuid)
uploadIdstring
Example: "gR5XHJZpuDv8UizdpSGuwONje0GbMHnCWXS5zTTVkyVINURV6iraWLhpM7Sy7oy65utAgPcm2FfM4fRp4oVga4ggEzD811aS1tke_F0iIIXX1kV7m6UouytsNE0oL8fzo2Zr2JCqwRyhFTXp98zjdQ--"
partsArray of objects(AssetMultipartUploadRequest_parts)
curl -i -X POST \
  https://enterprise.services.tenovos.io/content-store-v1/asset/complete \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "fileId": "a1c6a2ab-4b01-4253-b4c9-70e04b3b48fc",
    "filename": "string",
    "filesize": 335226108,
    "action": "complete",
    "originalFileId": "1ebf63d7-819a-4a33-a1cd-00df81f55bd3",
    "uploadId": "gR5XHJZpuDv8UizdpSGuwONje0GbMHnCWXS5zTTVkyVINURV6iraWLhpM7Sy7oy65utAgPcm2FfM4fRp4oVga4ggEzD811aS1tke_F0iIIXX1kV7m6UouytsNE0oL8fzo2Zr2JCqwRyhFTXp98zjdQ--",
    "parts": [
      {
        "partNumber": 1,
        "etag": "6988d46a133c76f49c555deebb8efb8a"
      }
    ]
  }'

Responses

Successful operation

Bodyapplication/json
fileIdstring(uuid)
filenamestring
actionstring
Example: "Complete/Cancel"
originalFileIdstring(uuid)
uploadIdstring
Example: "gR5XHJZpuDv8UizdpSGuwONje0GbMHnCWXS5zTTVkyVINURV6iraWLhpM7Sy7oy65utAgPcm2FfM4fRp4oVga4ggEzD811aS1tke_F0iIIXX1kV7m6UouytsNE0oL8fzo2Zr2JCqwRyhFTXp98zjdQ--"
s3Keystring
Example: "masters/843ec17f-9491-4cfa-b840-faa299973207/2-vid.mp4"
statusstring
Example: "success"
Response
application/json
{ "fileId": "a1c6a2ab-4b01-4253-b4c9-70e04b3b48fc", "filename": "string", "action": "Complete/Cancel", "originalFileId": "1ebf63d7-819a-4a33-a1cd-00df81f55bd3", "uploadId": "gR5XHJZpuDv8UizdpSGuwONje0GbMHnCWXS5zTTVkyVINURV6iraWLhpM7Sy7oy65utAgPcm2FfM4fRp4oVga4ggEzD811aS1tke_F0iIIXX1kV7m6UouytsNE0oL8fzo2Zr2JCqwRyhFTXp98zjdQ--", "s3Key": "masters/843ec17f-9491-4cfa-b840-faa299973207/2-vid.mp4", "status": "success" }

Assign an image or PDF to be the new preview for one or more Assets.

Request

Generate a request to upload an image or PDF file to be the new preview for one or more Assets. Supported preview image formats include: GIF, JPG, PNG, and TIFF.

If a PDF file is uploaded to be the preview for a document Asset, then the PDF will also be displayed in the Asset Detail page as the multi-page PDF preview.

After submitting the request to replace an Asset preview,

The user replacing the Asset previews must be granted the Replace Mezzanine and Upload User Role Permissions and View Security Template Permission on the Assets being updated.

For Federated Assets, if user provides optional contentPaths key in the request body, then files referenced in the contentPaths > properties are used as renditions.

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.

Content-Typestringrequired
Value"application/json"
Bodyapplication/jsonrequired

The Request Body must be a JSON object.

fileIdsArray of strings(uuid)
Example: ["7d6f4e30-f423-11e9-8071-89c0c4052141"]
filenamestring
Example: "Preview.jpg"
filesizeinteger
Example: 1024
contentPathsobject

This property is used only for federated assets

Example: {"imagePreview":"<relativePath>","imageThumb":"<relativePath>","videoProxy":"<relativePath>"}
curl -i -X POST \
  https://enterprise.services.tenovos.io/content-store-v1/asset/content/preview \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "fileIds": [
      "7d6f4e30-f423-11e9-8071-89c0c4052141"
    ],
    "filename": "Preview.jpg",
    "filesize": 1024,
    "contentPaths": {
      "imagePreview": "<relativePath>",
      "imageThumb": "<relativePath>",
      "videoProxy": "<relativePath>"
    }
  }'

Responses

Successful operation

Bodyapplication/json
messagestring
Example: "Message sent successfully"
statusstring

status of the request, success or failure

Response
application/json
{ "message": "Message sent successfully", "status": "string" }

Exposes Content.

Request

Exposes Asset's pre-signed urls with expiration time given in seconds

Asset being exposed needs to have a Security Template with Download permission and and User must have role with Download privilege.

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.

Content-Typestringrequired
Value"application/json"
Bodyapplication/jsonrequired

The Request Body must be a JSON array.

Array [
idstring(uuid)
identifierstring

Type of identifier

Enum"objectId""fileId"
Example: "objectId"
componentsArray of AssetExposeRefRendition (object) or AssetExposeRefObject (object)

Array of Objects for generating urls based on properties rendition or object with expiration time in seconds.

]
curl -i -X POST \
  https://enterprise.services.tenovos.io/content-store-v1/asset/expose \
  -H 'AccessToken: string' \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '[
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "identifier": "objectId",
      "components": [
        {
          "componentType": "rendition",
          "componentRef": [
            "imageThumb"
          ],
          "expiration": 3000
        }
      ]
    }
  ]'

Responses

Successful operation

Bodyapplication/jsonArray [
idstring(uuid)
identifierstring
Enum"objectId""fileId"
Example: "objectId"
componentsArray of AssetExposeRenditionResponse (object) or AssetExposeObjectResponse (object)
]
Response
application/json
[ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifier": "objectId", "components": [ … ] } ]

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

Proof Operations

Operations

Cart Operations

Operations