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

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

Retrieve Security Templates

Request

User will get the list of Security Templates available to them.

The user submitting the request must have administrator rights to view Security Templates.

In response user will get a list, containing template names and their corresponding template id.

Average Response Time: 243ms

Security
ApiKeyAuth or BasicAuth
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation

curl -i -X GET \
  https://api.uat.tenovos.io/v1/security/template \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

The Response Body is a JSON object.

Bodyapplication/jsonArray [
templateIdstring(uuid)

Template ID

Example: "7d7345d0-f423-11e9-8071-89c0c4052141"
templateNamestring

TemplateName

Example: "No Access"
securityDenormalizedArray of objects(AssetSecurityDenormalized)
templateDocumentArray of objects(TemplateDocument)
]
Response
application/json
[ { "templateId": "7d7345d0-f423-11e9-8071-89c0c4052141", "templateName": "No Access", "securityDenormalized": [ … ], "templateDocument": [ … ] } ]

(NEW!) List Security Templates (Paginated)

Request

Retrieve an offset-paginated list of security, rights, or access templates for the authenticated customer. Each row is a lightweight summary — group and permission counts, not group contents — suited to an admin browse/list screen.

Defaults:

  • type defaults to security-template.
  • from defaults to 0.
  • limit defaults to 100.
  • sortField defaults to templateName.
  • order defaults to asc.

Business Rules:

  • searchTerm is trimmed and, when non-empty, matched as a case-insensitive substring against template name. It is trimmed before use, so a blank or whitespace-only value is treated as if omitted. Literal % and _ are treated as text, not SQL wildcards.
  • Results are ordered by the requested sortField/order. Template id is used as a deterministic secondary sort field, using the same order as the primary sort field.
  • groupCount and permissionCount are returned as first-class fields without returning the underlying group or permission objects.

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

Security
ApiKeyAuth or BasicAuth
Query
searchTermstring

Case-insensitive substring match against template name. Trimmed before use — a blank or whitespace-only value is treated as if omitted. Literal % and _ are treated as text, not SQL wildcards. Omitted returns all templates of the requested type.

Example: searchTerm=confidential
typestring

Template classification to list. Defaults to security-template.

Default "security-template"
Enum"security-template""rights-template""access-template"
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.

Default 100
Example: limit=100
sortFieldstring

Field to sort results by. Defaults to templateName.

Default "templateName"
Enum"templateName""groupCount""permissionCount""createdEpoch""lastUpdatedEpoch"
orderstring

Sort direction. Defaults to asc.

Default "asc"
Enum"asc""desc"
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation.

curl -i -X GET \
  'https://api.uat.tenovos.io/v1/security/templates?searchTerm=confidential&type=security-template&from=0&limit=100&sortField=templateName&order=asc' \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Paginated list of security templates.

Bodyapplication/json
templatesArray of objects

Templates on this page.

pageInfoobject
Response
application/json
{ "templates": [ { … } ], "pageInfo": { "from": 0, "limit": 100, "totalCount": 120, "hasNextPage": true } }

(NEW!) Create Security Template

Request

Create a security, rights, or access template for the authenticated customer.

Business Rules:

  • name must be trimmed, non-empty, and unique per customer.
  • type is set only at creation and is immutable thereafter.
  • Every groups[].id and permissionIds[] entry must be a well-formed UUID and must exist for the customer (groups) or in the permission catalog (permissions). Unknown ids are rejected with 422, not silently dropped.
  • Duplicate group ids in the same request are rejected.

Defaults:

  • type defaults to security-template.
  • groups defaults to [].

The response body is returned in the same shape as GET /security/templates/{id}, so the UI can render the created template with no follow-up read.

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

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

JSON object describing the template to create. Required: name. Optional: type (defaults to security-template), groups (defaults to []).

namestringrequired

Display name of the template. Trimmed, non-empty, maximum 75 characters. Must be unique per customer.

Example: "Confidential"
typestring

Template classification. Defaults to security-template. Set only at creation; immutable thereafter.

Default "security-template"
Enum"security-template""rights-template""access-template"
Example: "security-template"
groupsArray of objects

Groups to assign to the template, each with the permissions granted to it. Defaults to []. Duplicate group IDs are rejected.

Default []
curl -i -X POST \
  https://api.uat.tenovos.io/v1/security/templates \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Confidential",
    "type": "security-template",
    "groups": [
      {
        "id": "f22dccbc-6032-4279-9f19-d5dc91d9757e",
        "permissionIds": [
          "31bdde6b-1a2c-4d5e-8f90-1234567890ab",
          "9e187a4e-cfe4-419e-8c6c-2509e4bf400b"
        ]
      },
      {
        "id": "dbf4f3d4-fd66-49ec-ad20-dbe3b142a8c9",
        "permissionIds": []
      }
    ]
  }'

Responses

Created. The response body is the new template in the same shape as GET /security/templates/{id}, including the first page of groups.

Headers
Locationstring

Path of the newly created template, e.g. /security/templates/{id}.

Bodyapplication/json
idstring(uuid)

Unique ID of the template.

Example: "a9380047-07d7-48aa-b4b7-474d00f0f428"
namestring

Display name of the template.

Example: "Confidential"
typestring

Template classification. Set at creation and immutable thereafter.

Enum"security-template""rights-template""access-template"
Example: "security-template"
groupCountinteger

Total number of groups on the template, across all pages.

Example: 2
permissionCountinteger

Total number of permissions granted across all groups, including the watermark permission.

Example: 3
createdBystring(uuid)

User ID of the template's creator.

Example: "dc63db1b-1e63-43bc-877e-418931b6895c"
createdEpochinteger

Unix timestamp (ms) of creation.

Example: 1773070355217
createdDatestring(date-time)

ISO 8601 creation date.

Example: "2026-03-09T15:32:35.217Z"
lastUpdatedBystring(uuid)

User ID of the user who last updated the template.

Example: "dc63db1b-1e63-43bc-877e-418931b6895c"
lastUpdatedEpochinteger

Unix timestamp (ms) of the last update. Pass this value back as expectedLastUpdatedEpoch on PATCH to guard against concurrent edits.

Example: 1773070355217
lastUpdatedDatestring(date-time)

ISO 8601 last updated date.

Example: "2026-03-09T15:32:35.217Z"
groupsobject

Page of groups assigned to the template.

Response
application/json
{ "id": "a9380047-07d7-48aa-b4b7-474d00f0f428", "name": "Confidential", "type": "security-template", "groupCount": 2, "permissionCount": 3, "createdBy": "dc63db1b-1e63-43bc-877e-418931b6895c", "createdEpoch": 1773070355217, "createdDate": "2026-03-09T15:32:35.217Z", "lastUpdatedBy": "dc63db1b-1e63-43bc-877e-418931b6895c", "lastUpdatedEpoch": 1773070355217, "lastUpdatedDate": "2026-03-09T15:32:35.217Z", "groups": { "totalCount": 2, "items": [ … ], "pageInfo": { … } } }

(NEW!) List Security Templates Available to Current User

Request

Retrieve the security, rights, or access templates the authenticated user may act on — either templates the user can view, or templates that grant the user a specific permission. Returns only id and name, suited to populating a template picker for ingest, edit, or delete flows.

Business Rules:

  • When permissionId is omitted, returns templates the user has view access to (resolved from the user's group membership).
  • When permissionId is provided, returns only templates where at least one of the user's groups is granted that permission.
  • Templates with no visible groups, and groups with no remaining permissions after filtering, are excluded.

Defaults:

  • type defaults to security-template.
  • from defaults to 0.
  • limit defaults to 100.

The requesting user must be authenticated.

Security
ApiKeyAuth or BasicAuth
Query
permissionIdstring(uuid)

Permission ID to check. When provided, only templates granting this permission to one of the user's groups are returned. When omitted, templates the user can view are returned.

Example: permissionId=31bdde6b-1a2c-4d5e-8f90-1234567890ab
typestring

Template classification to list. Defaults to security-template.

Default "security-template"
Enum"security-template""rights-template""access-template"
frominteger>= 0

Result offset from which to start. Must be an integer of 0 or greater; a negative or non-integer value is rejected with a 400. Defaults to 0.

Default 0
Example: from=0
limitinteger

Number of results to return per page. Defaults to 100.

Default 100
Example: limit=100
cursorstring

Opaque cursor for pagination. Omit on the first request. Use the nextCursor value from the previous response for subsequent pages.

Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation.

curl -i -X GET \
  'https://api.uat.tenovos.io/v1/security/templates/user?permissionId=31bdde6b-1a2c-4d5e-8f90-1234567890ab&type=security-template&from=0&limit=100&cursor=string' \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Templates the current user may act on.

Bodyapplication/json
templatesArray of objects
pageInfoobject
Response
application/json
{ "templates": [ { … } ], "pageInfo": { "hasNextPage": false, "nextCursor": null } }

(NEW!) Get Security Template

Request

Retrieve full detail for a single security, rights, or access template — header fields plus a paginated page of its groups, each with its permissions.

Defaults:

  • includePermissions defaults to true.
  • groupLimit defaults to 100.

Pagination:

  • Loop on groups.pageInfo.nextCursor, passing it back as groupCursor, until groups.pageInfo.hasNextPage is false.

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

Security
ApiKeyAuth or BasicAuth
Path
templateIdstring(uuid)required

The unique ID of the security template.

Example: a9380047-07d7-48aa-b4b7-474d00f0f428
Query
includePermissionsboolean

When true, each group includes its permissions array. Defaults to true.

Default true
groupLimitinteger

Number of groups to return per page. Defaults to 100.

Default 100
Example: groupLimit=100
groupCursorstring

Opaque cursor for paging the template's groups. Omit on the first request. Use groups.pageInfo.nextCursor from the previous response for subsequent pages.

Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation.

curl -i -X GET \
  'https://api.uat.tenovos.io/v1/security/templates/a9380047-07d7-48aa-b4b7-474d00f0f428?includePermissions=true&groupLimit=100&groupCursor=string' \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Full detail of the security template.

Bodyapplication/json
idstring(uuid)

Unique ID of the template.

Example: "a9380047-07d7-48aa-b4b7-474d00f0f428"
namestring

Display name of the template.

Example: "Confidential"
typestring

Template classification. Set at creation and immutable thereafter.

Enum"security-template""rights-template""access-template"
Example: "security-template"
groupCountinteger

Total number of groups on the template, across all pages.

Example: 2
permissionCountinteger

Total number of permissions granted across all groups, including the watermark permission.

Example: 3
createdBystring(uuid)

User ID of the template's creator.

Example: "dc63db1b-1e63-43bc-877e-418931b6895c"
createdEpochinteger

Unix timestamp (ms) of creation.

Example: 1773070355217
createdDatestring(date-time)

ISO 8601 creation date.

Example: "2026-03-09T15:32:35.217Z"
lastUpdatedBystring(uuid)

User ID of the user who last updated the template.

Example: "dc63db1b-1e63-43bc-877e-418931b6895c"
lastUpdatedEpochinteger

Unix timestamp (ms) of the last update. Pass this value back as expectedLastUpdatedEpoch on PATCH to guard against concurrent edits.

Example: 1773070355217
lastUpdatedDatestring(date-time)

ISO 8601 last updated date.

Example: "2026-03-09T15:32:35.217Z"
groupsobject

Page of groups assigned to the template.

Response
application/json
{ "id": "a9380047-07d7-48aa-b4b7-474d00f0f428", "name": "Confidential", "type": "security-template", "groupCount": 34, "permissionCount": 12, "createdBy": "dc63db1b-1e63-43bc-877e-418931b6895c", "createdEpoch": 1773070355217, "createdDate": "2026-03-11T14:32:35Z", "lastUpdatedBy": "dc63db1b-1e63-43bc-877e-418931b6895c", "lastUpdatedEpoch": 1773070399999, "lastUpdatedDate": "2026-03-11T15:00:00Z", "groups": { "totalCount": 34, "items": [ … ], "pageInfo": { … } } }

(NEW!) Update Security Template

Request

Partially update a security, rights, or access template. Only the fields present in the body are changed.

Business Rules:

  • type is not an updatable field. If present in the body, the request is rejected with 400. Type is fixed at creation because assets and metadata templates reference the template by id and assume its type.
  • At least one of name or groups must be present, or the request is rejected with 400. Unknown fields are also rejected with 400.
  • When groups is present, it is a full replacement of the template's group/permission set — omitted groups are removed, not left alone.
  • Every groups[].id and permissionIds[] entry must be a well-formed UUID and must exist for the customer (groups) or in the permission catalog (permissions). Unknown ids are rejected with 422.
  • name, if changed, is re-checked for uniqueness per customer.

Optimistic Concurrency:

  • Opt-in via expectedLastUpdatedEpoch. If provided, it is compared against the template's current lastUpdatedEpoch; a mismatch is rejected with 409 and code: STALE_UPDATE. If omitted, the update proceeds last-write-wins.

The response body is returned in the same shape as GET /security/templates/{id}.

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

Security
ApiKeyAuth or BasicAuth
Path
templateIdstring(uuid)required

The unique ID of the security template to update.

Example: a9380047-07d7-48aa-b4b7-474d00f0f428
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

JSON object with the fields to change. name and/or groups — at least one required. groups, when present, fully replaces the existing group/permission set. type cannot be included.

namestring

Updated display name. Same validation as creation (trimmed, non-empty, maximum 75 characters); re-checked for uniqueness if changed.

Example: "Confidential - Marketing"
groupsArray of objects

When present, this is a full replacement of the template's group/permission set — the service recomputes both stored columns from it. Omit to leave the current groups untouched.

expectedLastUpdatedEpochinteger

Optional optimistic-concurrency guard. When provided, it is compared against the template's current lastUpdatedEpoch; a mismatch is rejected with 409 and code: STALE_UPDATE. Omit for last-write-wins.

Example: 1773070355217
curl -i -X PATCH \
  https://api.uat.tenovos.io/v1/security/templates/a9380047-07d7-48aa-b4b7-474d00f0f428 \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Confidential - Marketing"
  }'

Responses

Updated. The response body is the template in the same shape as GET /security/templates/{id}.

Bodyapplication/json
idstring(uuid)

Unique ID of the template.

Example: "a9380047-07d7-48aa-b4b7-474d00f0f428"
namestring

Display name of the template.

Example: "Confidential"
typestring

Template classification. Set at creation and immutable thereafter.

Enum"security-template""rights-template""access-template"
Example: "security-template"
groupCountinteger

Total number of groups on the template, across all pages.

Example: 2
permissionCountinteger

Total number of permissions granted across all groups, including the watermark permission.

Example: 3
createdBystring(uuid)

User ID of the template's creator.

Example: "dc63db1b-1e63-43bc-877e-418931b6895c"
createdEpochinteger

Unix timestamp (ms) of creation.

Example: 1773070355217
createdDatestring(date-time)

ISO 8601 creation date.

Example: "2026-03-09T15:32:35.217Z"
lastUpdatedBystring(uuid)

User ID of the user who last updated the template.

Example: "dc63db1b-1e63-43bc-877e-418931b6895c"
lastUpdatedEpochinteger

Unix timestamp (ms) of the last update. Pass this value back as expectedLastUpdatedEpoch on PATCH to guard against concurrent edits.

Example: 1773070355217
lastUpdatedDatestring(date-time)

ISO 8601 last updated date.

Example: "2026-03-09T15:32:35.217Z"
groupsobject

Page of groups assigned to the template.

Response
application/json
{ "id": "a9380047-07d7-48aa-b4b7-474d00f0f428", "name": "Confidential - Marketing", "type": "security-template", "groupCount": 1, "permissionCount": 1, "createdBy": "dc63db1b-1e63-43bc-877e-418931b6895c", "createdEpoch": 1773070355217, "createdDate": "2026-03-09T15:32:35.217Z", "lastUpdatedBy": "dc63db1b-1e63-43bc-877e-418931b6895c", "lastUpdatedEpoch": 1773070500000, "lastUpdatedDate": "2026-03-09T15:35:00.000Z", "groups": { "totalCount": 1, "items": [ … ], "pageInfo": { … } } }

(NEW!) Delete Security Template

Request

Permanently delete a security, rights, or access template the authenticated customer owns.

Delete Rules:

  • Template must exist for the authenticated customer.
  • Deletion is blocked when the template is still referenced: either it has stored dependencies, or it is applied somewhere — for access-template, the count of metadata templates using it; otherwise, the count of assets using it.
  • There is no force-delete option. An in-use template can only be removed directly against the database, outside this API.
  • On success, the deletion is recorded in tenovos_delete_history for the security-template type.

This action is permanent and cannot be undone.

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

Security
ApiKeyAuth or BasicAuth
Path
templateIdstring(uuid)required

The unique ID of the security template to delete.

Example: a9380047-07d7-48aa-b4b7-474d00f0f428
Headers
X-API-Keystringrequired

Customer-specific API key required to invoke API.

Authorizationstringrequired

Provided by Authentication Token creation operation.

curl -i -X DELETE \
  https://api.uat.tenovos.io/v1/security/templates/a9380047-07d7-48aa-b4b7-474d00f0f428 \
  -H 'Authorization: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

No Content. The security template has been permanently deleted.

Response
No content

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