Skip to content

API Endpoint Reference (1.5)

Tenovos has introduced version 1.5 to provide non-breaking improvements over previous versions.

Key Changes:

  • Authentication Standards now include OAuth2 code flow.
  • Client ID is no longer required to be passed when requesting an Authorization token using our Standard Auth from v1.4
  • New endpoints have been added and will continue to be added until v2 is generally available to all customers.
    • Adaptive Template endpoints
    • A new Get Asset endpoint with a simplified Response
    • A new Create Asset endpoint with simplified payloads for the Request and Response
    • A new Update Asset endpoint with simplified payloads for the Request and Response
  • We've made some performance improvements to most endpoints
Download OpenAPI description
Languages
Servers
https://api.uat.tenovos.io/v1
https://api.tenovos.io/v1

ACTIONS

Invoke the Action API to retrieve information about invoked Actions.

Operations

ADAPTIVE TEMPLATES

Invoke the API to retrieve information about invoked Actions.

Operations

ASSETS

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

Share a selection of Assets.

Request

Share a selection of Assets to a user specified by Email address.

The user sharing the Assets must be granted the Download Security Template permission on the Assets being shared.

Average Response Time: 195ms

Security
ApiKeyAuth or BasicAuth
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

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

The Request Body is a JSON object

senderobject(AssetShareSender)

Sender information to use in the email

shareUsersArray of objects(AssetShareRecipient)

A list of users to share assets with

assetsArray of strings(uuid)

List of Asset object IDs to be shared

shareMessagestring

An email message.

Example: "A message from sender to recipient"
curl -i -X POST \
  https://api.uat.tenovos.io/v1/asset/share \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "sender": {
      "name": "John"
    },
    "shareUsers": [
      {
        "email": "user@example.com",
        "name": "Jeff"
      }
    ],
    "assets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "shareMessage": "A message from sender to recipient"
  }'

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" }

Share or Download Asset Transformation

Request

Transform asset and download or share transformation with an email. If email is available then this API will share link (send email) of transformed file.

Note: Access to this API Service is currently limited. Contact Tenovos Customer Support to inquire further about access to this API Service if needed.

Average Response Time: 937ms

Security
ApiKeyAuth or BasicAuth
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

Content-Typestringrequired
Value"application/json"
X-API-Verification-Keystringrequired

Additional Customer-specific API verification key to limit access to this API.

Bodyapplication/jsonrequired

The Request Body is a JSON object

transformationsArray of objects(AssetTransformationObject)
recipientsstring

A list of emails of users to share assets with

shareMessagestring

An email message.

Example: "A message from sender to recipient"
curl -i -X POST \
  https://api.uat.tenovos.io/v1/asset/transform \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -H 'X-API-Verification-Key: string' \
  -d '{
    "transformations": [
      {
        "objectId": "9f23f1d5-44c1-4b69-8f66-8f0fd03b62c7",
        "expiration": 3600,
        "source": "imagePreviewLarge",
        "includeOriginal": false,
        "transformations": "png"
      }
    ],
    "recipients": "string",
    "shareMessage": "A message from sender to recipient"
  }'

Responses

Successful operation

Bodyapplication/json
jobIdstring(uuid)

Id of the Job created for the transformation

Example: "f8479fef-c389-4b15-9736-e5dd7b35d8d3"
statusstring

status of the request, success or failure

Example: "success"
messagestring
Example: "Message sent successfully"
Response
application/json
{ "message": "Message sent successfully" }

(NEW!) Create an Asset

Request

Use this endpoint to perform one of the following:

  • Create a new Asset
  • Create a new version of an existing Asset
  • Create a new Metadata-only Asset

Once the new Asset or version is created, a new object ID is returned in the response to identify the new Asset / Asset Version. When a new Asset is created, the Asset is considered a metadata-only Asset until a corresponding content file is uploaded. The Asset's content file size must be less than or equal to 5GB.

After invoking the Create Asset endpoint, the response will include a signed URL to upload the content file. The upload should be performed using a PUT request with the file content attached as binary data in the request body.

After creating an asset greater than 100MB, multiple presigned urls will be returned. You must upload file chunks of 100MB to each one.

You must call the /asset/complete endpoint to complete or cancel a multi-part file upload, otherwise the file will not be available to Tenovos.

The user submitting the request to create an Asset must have the Upload Security Role Privilege and be granted access to at least one Security Template to assign to the new Asset.

Security
ApiKeyAuth or BasicAuth
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

Bodyapplication/json

The Request Body must be a JSON object. To create a new version instead of new asset, pass an additional property originalFileId as part of the JSON object.

One of:
filenamestring

The name of the file if creating a content based Asset.

Example: "hooli-logo.jpg"
metadataTemplateIdstring(uuid)

The UUID (system id) of the Metadata Template to be used.

Example: "ea6eb24d-adef-4080-bd02-f64f567c437f"
securityTemplateIdsArray of strings(uuid)[ 1 .. 50 ] items
Example: ["b84ac1dc-30ed-4741-8f8d-47ef2635950b"]
metadataArray of attribute (object) or table (object)
Example: [{"name":"Release Date","value":"01/01/2024"},{"name":"Product","value":"HooliDocs"},{"name":"Usage Table","value":[[{"name":"Usage Category","value":"E-Commerce"},{"name":"Usage Length","value":"12 months"}]]}]
curl -i -X POST \
  https://api.uat.tenovos.io/v1/assets/asset \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "filename": "hooli-logo.jpg",
    "metadataTemplateId": "ea6eb24d-adef-4080-bd02-f64f567c437f",
    "securityTemplateIds": [
      "b84ac1dc-30ed-4741-8f8d-47ef2635950b"
    ],
    "metadata": [
      {
        "name": "Release Date",
        "value": "01/01/2024"
      },
      {
        "name": "Product",
        "value": "HooliDocs"
      },
      {
        "name": "Usage Table",
        "value": [
          [
            {
              "name": "Usage Category",
              "value": "E-Commerce"
            },
            {
              "name": "Usage Length",
              "value": "12 months"
            }
          ]
        ]
      }
    ]
  }'

Responses

Success

Bodyapplication/json
statusstring

Response Status indicator returned by Tenovos

Example: "success"
messagestring

Message indicated whether the asset was successfully created or not.

Example: "Asset created successfully"
dataobject
Response
application/json
{ "status": "success", "message": "Asset created successfully", "data": { "objectId": "2dee909b-6b2b-4da8-96c3-af90fc1662ec", "filename": "hooli-logo.jpg", "fileId": "0fcb5eb4-5e0e-4ffa-8780-9206a0f833f1", "originalFileId": "0fcb5eb4-5e0e-4ffa-8780-9206a0f833f1", "uploadId": "gR5XHJZpuDv8UizdpSGuwONje0GbMHnCWXS5zTTVkyVINURV6iraWLhpM7Sy7oy65utAgPcm2FfM4fRp4oVga4ggEzD811aS1tke_F0iIIXX1kV7m6UouytsNE0oL8fzo2Zr2JCqwRyhFTXp98zjdQ", "urls": [ … ] } }

AUTHENTICATION

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

Operations

CDN (Coming Soon!)

Tenovos Content Delivery Network (CDN) - Coming Soon!

Tenovos CDN: Pull Zone Overview

Tenovos CDN provides global content acceleration and optimization through a pull zone architecture, ensuring that your assets are delivered to end users with maximum speed, reliability, and efficiency. A Content Delivery Network (CDN) works by caching static content—such as images, videos, and other media—on servers distributed across the globe. When an asset is requested, the CDN serves it from the nearest edge location, reducing load times and offloading traffic from the origin server, which in this case is Tenovos DAM.

A pull zone is the core mechanism that powers this system. It automatically fetches content from the origin the first time it is requested, then caches it at the edge. Subsequent requests are served directly from the CDN cache, improving response times and reducing bandwidth consumption.

Through the Tenovos CDN API, you can create, update, and manage pull zones programmatically. Pull zones support advanced features such as global edge caching, cache purging, bandwidth controls, and real-time performance statistics like cache hit rate and geographic request distribution. Optional optimization settings allow you to enhance performance further by enabling image compression, WebP and AVIF support, and content minification.

With just a few API calls, you can fully integrate high-performance content delivery into your Tenovos workflows—no complex infrastructure required.

Operations

COLLECTIONS

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 users with.

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

METADATA

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

REQUESTS

Invoke these API's to create new Requests and manage existing Requests.

Operations

SECURITY

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

Operations

PEOPLE

Invoke the User API to retrieve User profile information.

Operations

WEBHOOKS

Tenovos Webhook Subscriptions

For more information about our Webhooks, see the Webhook section of our Developer Portal

Operations

PROOFING

Operations