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
    • Metadata Admin API endpoints for managing Attributes, Groups, and Templates
  • We've made some performance improvements to most endpoints
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

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 ATTRIBUTES

Invoke the Metadata Attributes API to retrieve Metadata Attributes, and to create, read, update, and delete Metadata Attribute definitions. Metadata Attributes come in varying types, including Text, Date, Controlled Vocabulary, Tabular, and Cascading, and can be assigned to Metadata Groups and Templates.

Admin Endpoints (NEW!): Create, read, update, and delete Metadata Attributes. These endpoints require the Metadata Management admin privilege.

Operations

METADATA GROUPS

Invoke the Metadata Groups API to create, read, update, and delete Metadata Groups. A Metadata Group organizes related Metadata Attributes together for use within a Metadata Template.

Admin Endpoints (NEW!): These endpoints require the Metadata Management admin privilege.

Operations

METADATA TEMPLATES

Invoke the Metadata Templates API to create, read, update, and delete Metadata Templates, and to apply Metadata definition changes. A Metadata Template defines a set of Metadata Attributes that, when assigned to an Asset, become available for population on that Asset.

Admin Endpoints (NEW!): Create, read, update, and delete Metadata Templates. These endpoints require the Metadata Management admin privilege.

Operations

METADATA VOCABULARIES

Invoke the Controlled Vocabularies API to create, retrieve, update, and delete Controlled Vocabularies used to constrain the values available to a Metadata Attribute.

Operations

METADATA CASCADES

Invoke the Metadata Cascades API to create, retrieve, update, and delete Cascading Attributes, a Metadata Attribute type whose available values depend on the value selected in a parent Attribute.

Operations

(NEW!) List Metadata Cascades (Paginated)

Request

Retrieve a paginated, searchable list of metadata cascades for UI consumption. Response fields are lightweight by default (counts only); full level/value detail is available via GET /metadata/cascades/{id} or via the include query parameter.

Defaults:

  • sortField defaults to name.
  • order defaults to asc.
  • from defaults to 0.
  • limit defaults to 100 — or 20 if include contains values, regardless of the value requested.

Business Rules:

  • searchTerm is a case-insensitive partial match on cascade name.
  • inUse accepts a boolean (true/false — aggregate: used anywhere at all) or one of metadataTables, metadataGroups, metadataTemplates, filtering to cascades referenced in that specific usage category. Omitted applies no filter. inUse is also a valid sortField value.
  • includeSystem defaults to false. When true, also returns read-only, platform-owned cascades used internally by various platform functionalities, alongside user-created ones. System cascades cannot be edited or deleted by users.
  • include is a comma-separated list of levels, values. Omitted returns summary fields only (levelCount/valueCount); include=levels adds levels[] per row; include=values adds values[] per row and clamps limit to 20; include=levels,values returns both.
  • usedIn is shaped { metadataTables: [], metadataGroups: [], metadataTemplates: [] } — metadataGroups is a derived, transitive rollup through Table → group, and metadataTemplates a further rollup through group → template; neither is a direct reference.

The user submitting the request must have the Metadata Template Management admin privilege.

Security
ApiKeyAuth or BasicAuth
Query
searchTermstring

Case-insensitive partial match on cascade name.

inUsestring

Filters by usage status. true/false filters on aggregate usage (referenced anywhere at all). One of metadataTables, metadataGroups, metadataTemplates filters to cascades referenced in that specific usage category. Omitted applies no filter.

Enum"true""false""metadataTables""metadataGroups""metadataTemplates"
Examples:

Returns only cascades referenced directly in at least one Table.

inUse=metadataTables

Returns only cascades that transitively reach at least one group (Table → group) — i.e. cascades present in a group.

inUse=metadataGroups

Returns only cascades that transitively reach at least one Template (Table → group → template).

inUse=metadataTemplates
includeSystemboolean

When true, also returns read-only, platform-owned cascades used internally by various platform functionalities, in addition to user-created ones. System cascades cannot be edited or deleted by users. Defaults to false.

Default false
frominteger

Result offset from which to start. Defaults to 0.

Default 0
Example: from=0
limitinteger

Number of results to return per page. Defaults to 100, maximum 100 — clamped to 20 when include contains values.

Default 100
Example: limit=100
sortFieldstring

Field to sort results by. Defaults to name.

Default "name"
Enum"name""createdEpoch""lastUpdatedEpoch""inUse"
orderstring

Sort direction. Defaults to asc.

Default "asc"
Enum"asc""desc"
includestring

Comma-separated additional data to return per row. levels, values, or both. Omitted returns summary fields only.

Example: include=levels,values
Headers
Authorizationstringrequired

Provided by Authentication Token creation operation.

curl -i -X GET \
  'https://api.uat.tenovos.io/v1/metadata/cascades?searchTerm=string&inUse=true&includeSystem=false&from=0&limit=100&sortField=name&order=asc&include=levels%2Cvalues' \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Paginated list of metadata cascades.

Bodyapplication/json
hitCountinteger

Total number of cascades matching the search criteria.

Example: 9
resultsArray of objects

Array of cascade summary objects.

Response
application/json
{ "hitCount": 9, "results": [ { … } ] }

(NEW!) Create Metadata Cascade

Request

Create a metadata cascade — its level schema and initial value tree — as one merged resource, in a single call. This replaces what was previously two separate writes (create the attribute, then create its value map); there is no longer a separate map/attribute split at all.

Defaults:

  • nameVisible defaults to true.

Business Rules:

  • levels must contain at most 4 entries. Each attributeId must reference an existing, single-select controlled-vocabulary attribute.
  • values may be omitted to create an empty cascade. Nesting depth via children must not exceed levels.length (and therefore can never exceed 4). No two nodes in the submitted tree may share the same id.
  • searchField is optional. Omitted, it is generated server-side. Supplied, it is used as-is and the cascade is created as featured (featured: true). Either way it is permanently fixed thereafter.
  • A duplicate name/searchField is rejected with 409.

The user submitting the request must have the Metadata Template Management admin privilege.

Security
ApiKeyAuth or BasicAuth
Headers
Authorizationstringrequired

Provided by Authentication Token creation operation.

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

JSON object defining the cascade to create. Required: name, levels. Optional: nameVisible (defaults to true), searchField (creates a featured cascade), values (may be omitted to create an empty cascade).

namestringrequired

Display name for the new cascade.

Example: "Region Cascade"
searchFieldstring

Optional. When supplied, the cascade is created as featured, using this value as its permanent search field slug instead of a server-generated one.

Example: "region_cascade"
nameVisibleboolean

Whether the cascade name is visible when rendered on an asset. Defaults to true.

Default true
Example: true
levelsArray of objectsrequired

Level schema for the cascade. Maximum 4 entries. Each attributeId must reference an existing, single-select controlled-vocabulary attribute.

levels[].​orderintegerrequired

Zero-based level position.

Example: 0
levels[].​attributeIdstring(uuid)required

Id of the existing, single-select controlled-vocabulary attribute backing this level.

Example: "a29f3e1c-7b4d-4f8a-9c2e-5d1b8f6a3c70"
valuesArray of objects

Initial value tree. May be omitted to create an empty cascade and populate values later via update. id is client-generated so a multi-level tree can be submitted in one request. Nesting depth via children must not exceed levels.length (and therefore can never exceed 4). No two nodes in the submitted tree may share the same id.

curl -i -X POST \
  https://api.uat.tenovos.io/v1/metadata/cascades \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Region Cascade",
    "nameVisible": true,
    "levels": [
      {
        "order": 0,
        "attributeId": "a29f3e1c-7b4d-4f8a-9c2e-5d1b8f6a3c70"
      },
      {
        "order": 1,
        "attributeId": "c8b6d4f2-1a3e-4c9b-8f7d-3e2a9c5b1d64"
      }
    ],
    "values": [
      {
        "id": "f3a8c1e5-9d24-4b7a-8e6f-1c3a9d5e2b74",
        "name": "North America",
        "children": [
          {
            "id": "7b2e9c4a-3f1d-4e8b-9a6c-5d0f2a7b3e91",
            "name": "United States",
            "children": []
          }
        ]
      }
    ]
  }'

Responses

Created. Returns the complete cascade detail, mirroring GET /metadata/cascades/{id}.

Bodyapplication/json
idstring(uuid)

Unique ID of the cascade.

Example: "b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61"
namestring

Display name of the cascade.

Example: "Region Cascade"
searchFieldstring

System-generated slug. Permanent once created.

Example: "region_cascade"
levelsArray of objects

Ordered levels, fixed at creation. Always present here — unconditional, unlike the list endpoint where it's only included via ?include=levels.

nameVisibleboolean

Whether the cascade name is visible when rendered on an asset.

Example: true
featuredboolean or null

System-assigned. null if never set. Blocks deletion when true.

Example: null
createdBystring(uuid)

User-profile id of the cascade's creator.

Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45"
createdEpochinteger

Unix timestamp (ms) of creation.

Example: 1770714900000
createdDatestring(date-time)

ISO 8601 creation date.

Example: "2026-02-10T09:15:00Z"
lastUpdatedBystring(uuid)

User-profile id of the last user to update the cascade.

Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45"
lastUpdatedEpochinteger

Unix timestamp (ms) of the last update.

Example: 1771432800000
lastUpdatedDatestring(date-time)

ISO 8601 last-updated date.

Example: "2026-02-18T16:40:00Z"
usedInobject

Where the cascade is currently referenced. A cascade's only direct relationship is being used as a column inside a Table. metadataGroups is a derived, transitive rollup of every group reached through that table's own group membership (Table → group). metadataTemplates is a further derived, transitive rollup of every template reached through that group's own template membership (group → template).

valuesArray of objects

Full nested value tree, returned untruncated — always present here (unconditional, same as levels; the list endpoint only includes it via ?include=values). Depth is bounded at 4 levels, but breadth is not — a level with hundreds of sibling values can still make this a large payload.

Response
application/json
{ "id": "b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61", "name": "Region Cascade", "searchField": "region_cascade", "levels": [ { … } ], "nameVisible": true, "featured": true, "createdBy": "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45", "createdEpoch": 1770714900000, "createdDate": "2026-02-10T09:15:00Z", "lastUpdatedBy": "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45", "lastUpdatedEpoch": 1770714900000, "lastUpdatedDate": "2026-02-10T09:15:00Z", "usedIn": { "metadataTables": [], "metadataGroups": [], "metadataTemplates": [] }, "values": [] }

(NEW!) Get Metadata Cascade

Request

Retrieve a single metadata cascade by its ID. This is the one place in the cascades API where everything is always returned unconditionally — no include option, no summary/lightweight mode.

The user submitting the request must have the Metadata Template Management admin privilege.

Security
ApiKeyAuth or BasicAuth
Path
idstring(uuid)required

The unique ID of the cascade to retrieve.

Example: b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61
Headers
Authorizationstringrequired

Provided by Authentication Token creation operation.

curl -i -X GET \
  https://api.uat.tenovos.io/v1/metadata/cascades/b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61 \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

The requested metadata cascade.

Bodyapplication/json
idstring(uuid)

Unique ID of the cascade.

Example: "b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61"
namestring

Display name of the cascade.

Example: "Region Cascade"
searchFieldstring

System-generated slug. Permanent once created.

Example: "region_cascade"
levelsArray of objects

Ordered levels, fixed at creation. Always present here — unconditional, unlike the list endpoint where it's only included via ?include=levels.

nameVisibleboolean

Whether the cascade name is visible when rendered on an asset.

Example: true
featuredboolean or null

System-assigned. null if never set. Blocks deletion when true.

Example: null
createdBystring(uuid)

User-profile id of the cascade's creator.

Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45"
createdEpochinteger

Unix timestamp (ms) of creation.

Example: 1770714900000
createdDatestring(date-time)

ISO 8601 creation date.

Example: "2026-02-10T09:15:00Z"
lastUpdatedBystring(uuid)

User-profile id of the last user to update the cascade.

Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45"
lastUpdatedEpochinteger

Unix timestamp (ms) of the last update.

Example: 1771432800000
lastUpdatedDatestring(date-time)

ISO 8601 last-updated date.

Example: "2026-02-18T16:40:00Z"
usedInobject

Where the cascade is currently referenced. A cascade's only direct relationship is being used as a column inside a Table. metadataGroups is a derived, transitive rollup of every group reached through that table's own group membership (Table → group). metadataTemplates is a further derived, transitive rollup of every template reached through that group's own template membership (group → template).

valuesArray of objects

Full nested value tree, returned untruncated — always present here (unconditional, same as levels; the list endpoint only includes it via ?include=values). Depth is bounded at 4 levels, but breadth is not — a level with hundreds of sibling values can still make this a large payload.

Response
application/json
{ "id": "b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61", "name": "Region Cascade", "searchField": "region_cascade", "levels": [ { … }, { … } ], "nameVisible": true, "featured": null, "createdBy": "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45", "createdEpoch": 1770714900000, "createdDate": "2026-02-10T09:15:00Z", "lastUpdatedBy": "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45", "lastUpdatedEpoch": 1771432800000, "lastUpdatedDate": "2026-02-18T16:40:00Z", "usedIn": { "metadataTables": [ … ], "metadataGroups": [ … ], "metadataTemplates": [ … ] }, "values": [ { … } ] }

(NEW!) Update Metadata Cascade

Request

Update an existing cascade's name, nameVisible, and/or its full value tree. levels and featured can never be changed through this endpoint — levels because restructuring which attributes back a level could invalidate the existing value tree, and featured because it exists specifically to protect a cascade from deletion and would mean nothing if it could simply be toggled off here.

Business Rules:

  • At least one of name, nameVisible, values is required.
  • When values is provided, it fully replaces the existing tree — nodes omitted from the request are removed. Same depth and duplicate-id rules as create.
  • usedIn is not enforced or checked on this endpoint — a value may be updated or removed even while referenced on assets; asset reconciliation is handled by a separate downstream process, out of scope here.
  • A new name colliding with an existing cascade's name/searchField is rejected with 409.
  • An optional expectedLastUpdatedEpoch concurrency check protects against clobbering another admin's concurrent edit. If it doesn't match the cascade's current lastUpdatedEpoch, the request is rejected with 409 and the response includes currentLastUpdatedEpoch.

The user submitting the request must have the Metadata Template Management admin privilege.

Security
ApiKeyAuth or BasicAuth
Path
idstring(uuid)required

The unique ID of the cascade to update.

Example: b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61
Headers
Authorizationstringrequired

Provided by Authentication Token creation operation.

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

JSON object updating the cascade. At least one of name, nameVisible, values is required. levels and featured are never accepted.

namestring

New display name for the cascade.

Example: "Global Region Cascade"
nameVisibleboolean

Whether the cascade name is visible when rendered on an asset.

Example: false
valuesArray of objects

Full replacement of the value tree — not a diff. Nodes omitted from the request are removed. Same shape, depth, and duplicate-id rules as create.

expectedLastUpdatedEpochinteger

Optional optimistic-concurrency check. If provided and it does not match the cascade's current lastUpdatedEpoch, the update is rejected with 409.

Example: 1771432800000
curl -i -X PATCH \
  https://api.uat.tenovos.io/v1/metadata/cascades/b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61 \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "expectedLastUpdatedEpoch": 1771432800000,
    "values": [
      {
        "id": "f3a8c1e5-9d24-4b7a-8e6f-1c3a9d5e2b74",
        "name": "North America",
        "children": [
          {
            "id": "7b2e9c4a-3f1d-4e8b-9a6c-5d0f2a7b3e91",
            "name": "United States",
            "children": []
          },
          {
            "id": "1c9a4e7f-6b3d-4a25-8f7c-2e9b5d1a4c63",
            "name": "Canada",
            "children": []
          }
        ]
      }
    ]
  }'

Responses

Updated. Returns the complete cascade detail, mirroring GET /metadata/cascades/{id}, reflecting the values tree exactly as it now stands.

Bodyapplication/json
idstring(uuid)

Unique ID of the cascade.

Example: "b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61"
namestring

Display name of the cascade.

Example: "Region Cascade"
searchFieldstring

System-generated slug. Permanent once created.

Example: "region_cascade"
levelsArray of objects

Ordered levels, fixed at creation. Always present here — unconditional, unlike the list endpoint where it's only included via ?include=levels.

nameVisibleboolean

Whether the cascade name is visible when rendered on an asset.

Example: true
featuredboolean or null

System-assigned. null if never set. Blocks deletion when true.

Example: null
createdBystring(uuid)

User-profile id of the cascade's creator.

Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45"
createdEpochinteger

Unix timestamp (ms) of creation.

Example: 1770714900000
createdDatestring(date-time)

ISO 8601 creation date.

Example: "2026-02-10T09:15:00Z"
lastUpdatedBystring(uuid)

User-profile id of the last user to update the cascade.

Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45"
lastUpdatedEpochinteger

Unix timestamp (ms) of the last update.

Example: 1771432800000
lastUpdatedDatestring(date-time)

ISO 8601 last-updated date.

Example: "2026-02-18T16:40:00Z"
usedInobject

Where the cascade is currently referenced. A cascade's only direct relationship is being used as a column inside a Table. metadataGroups is a derived, transitive rollup of every group reached through that table's own group membership (Table → group). metadataTemplates is a further derived, transitive rollup of every template reached through that group's own template membership (group → template).

valuesArray of objects

Full nested value tree, returned untruncated — always present here (unconditional, same as levels; the list endpoint only includes it via ?include=values). Depth is bounded at 4 levels, but breadth is not — a level with hundreds of sibling values can still make this a large payload.

Response
application/json
{ "id": "b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61", "name": "Global Region Cascade", "searchField": "region_cascade", "levels": [ { … }, { … } ], "nameVisible": false, "featured": null, "createdBy": "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45", "createdEpoch": 1770714900000, "createdDate": "2026-02-10T09:15:00Z", "lastUpdatedBy": "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45", "lastUpdatedEpoch": 1773480000000, "lastUpdatedDate": "2026-09-05T11:20:00Z", "usedIn": { "metadataTables": [], "metadataGroups": [], "metadataTemplates": [] }, "values": [ { … } ] }

(NEW!) Delete Metadata Cascade

Request

Permanently remove a metadata cascade. Deletion is blocked if the cascade is featured, and blocked if it is still referenced by a table (and, transitively, any template that reaches it through that table).

Business Rules:

  • Checks run in this order: not found, then featured, then in-use.

The user submitting the request must have the Metadata Template Management admin privilege.

Security
ApiKeyAuth or BasicAuth
Path
idstring(uuid)required

The unique ID of the cascade to delete.

Example: b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61
Headers
Authorizationstringrequired

Provided by Authentication Token creation operation.

curl -i -X DELETE \
  https://api.uat.tenovos.io/v1/metadata/cascades/b7e41f2a-6c9d-4a17-8f3b-2d5c8a0e3f61 \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

No Content. The cascade has been permanently deleted.

Response
No content

METADATA TABLES

Invoke the Metadata Tables API to create, retrieve, update, and delete Tabular Attributes, a Metadata Attribute type that stores structured, multi-column data on an Asset.

Operations

REQUESTS

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

Operations

SECURITY ROLES

Invoke the Security Roles API to retrieve, create, update, and delete Security Roles, and to retrieve the Permissions and Privileges that can be assigned to a Role to control what a user can see and do across the platform.

Operations

SECURITY TEMPLATES

Invoke the Security Templates API to retrieve, create, update, and delete Security Templates. A Security Template combines Security Roles and User Groups to define access to Assets and other objects in the platform.

Operations

SECURITY GROUPS

Invoke the Security User Groups API to retrieve, create, update, and delete Security User Groups used to organize users for the purpose of assigning security access.

Operations

USERS

Invoke the User API to retrieve User profile information.

Operations

STORY BOARDS

Invoke the Story Boards API to retrieve and manage Story Boards. Story Boards are curated content experiences that combine collections, saved searches, and other content blocks into a single shareable view.

Coming Soon: Additional endpoints for creating, updating, and deleting Story Boards.

Operations

WEBHOOKS

Tenovos Webhook Subscriptions

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

Operations

RIGHTS MANAGEMENT

Invoke the Rights Management API to manage rights-management associations between Projects, Agreements, Entities, and Rights.

Operations

PROOFING

Operations