Skip to content

Webhooks Introduction (v1.0)

What is a webhook? A webhook is an HTTP request, triggered by an event in a source system (Tenovos) and sent to a destination system.

The destination system is managed by the receiver (customer) of the webhook, or for faster and easier implementation, Tenovos Connect can automatically generate endpoints for receiving webhooks from Tenovos, or any other system.

Webhooks are automated, in other words they are automatically sent out when their corresponding event occurs in Tenovos. These events occur whether you are using the Tenovos UI, or your own custom UI on top of the Tenovos platform.

Download OpenAPI description
Languages
Servers
https://api.tenovos.io/v2
https://api.uat.tenovos.io/v2

Assets

Asset related events

Webhooks

Asset CreatedWebhook

Request

Receive a notification when an Asset in Tenovos is created.

Security
OAuth2
Bodyapplication/json

Information about a new asset in Tenovos

eventTypestring

Combination of the Topic and the Event

Example: "asset.created"
eventobject(event)

Object containing event information and the user who triggered the event.

assetobject(asset)
application/json
{ "eventType": "asset.created", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "asset": { "id": "cdff2214-3873-4cc4-8e2e-94fcec784343", "filename": "pied-piper-grandopening.tif", "metadataTemplate": { … }, "securityTemplates": [ … ] } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Headers
webhook-idstring

The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).

webhook-timestampstring

Timestamp in seconds since epoch.

webhook-signaturestring

The Base64 encoded list of signatures (space delimitated)

Asset DeletedWebhook

Request

Receive a notification when an Asset in Tenovos is deleted.

Security
OAuth2
Bodyapplication/json

Information about an asset when it get's deleted in Tenovos

eventTypestring

Combination of the Topic and the Event

Example: "asset.deleted"
eventobject(event)

Object containing event information and the user who triggered the event.

assetobject(asset)
application/json
{ "eventType": "asset.deleted", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "asset": { "id": "cdff2214-3873-4cc4-8e2e-94fcec784343", "filename": "pied-piper-grandopening.tif", "metadataTemplate": { … }, "securityTemplates": [ … ] } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Headers
webhook-idstring

The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).

webhook-timestampstring

Timestamp in seconds since epoch.

webhook-signaturestring

The Base64 encoded list of signatures (space delimitated)

Asset DownloadedWebhook

Request

Receive a notification when an Asset in Tenovos is downloaded.

Security
OAuth2
Bodyapplication/json

Information about an asset when the download process for this asset has started

eventTypestring

Combination of the Topic and the Event

Example: "asset.downloaded"
eventobject(event)

Object containing event information and the user who triggered the event.

assetsArray of objects(assets)

Contains an object for each asset that was downloaded. For single asset downloads, the array will only contain one object. For bulk downloads, there will be one object for each asset downloaded.

application/json
{ "eventType": "asset.downloaded", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "assets": [ { … } ] }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Asset PurgedWebhook

Request

Receive a notification when an Asset in Tenovos is purged from the Recycle Bin.

Security
OAuth2
Bodyapplication/json

Information about an asset when it's Permanently deleted in Tenovos. This information will no longer be available from Tenovos.

eventTypestring

Combination of the Topic and the Event

Example: "asset.purged"
eventobject(event)

Object containing event information and the user who triggered the event.

assetobject(asset)
application/json
{ "eventType": "asset.purged", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "asset": { "id": "cdff2214-3873-4cc4-8e2e-94fcec784343", "filename": "pied-piper-grandopening.tif", "metadataTemplate": { … }, "securityTemplates": [ … ] } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Headers
webhook-idstring

The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).

webhook-timestampstring

Timestamp in seconds since epoch.

webhook-signaturestring

The Base64 encoded list of signatures (space delimitated)

Renditions CreatedWebhook

Request

Receive a notification when system generated renditions for an Asset in Tenovos have completed processing.

Security
OAuth2
Bodyapplication/json

Information about an asset and its renditions when the asset is created in Tenovos. This event only occurs once the renditions have completed processing.

eventTypestring

Combination of the Topic and the Event

Example: "asset.renditions.created"
eventobject(event)

Object containing event information and the user who triggered the event.

assetobject(asset.renditions)
application/json
{ "eventType": "asset.renditions.created", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "asset": { "id": "cdff2214-3873-4cc4-8e2e-94fcec784343", "filename": "pied-piper-grandopening.tif", "metadataTemplate": { … }, "securityTemplates": [ … ], "renditions": { … } } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Headers
webhook-idstring

The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).

webhook-timestampstring

Timestamp in seconds since epoch.

webhook-signaturestring

The Base64 encoded list of signatures (space delimitated)

Asset SharedWebhook

Request

Receive a notification when an Asset in Tenovos is shared with other users or external contacts.

Security
OAuth2
Bodyapplication/json

Information about an asset when it's Shared in Tenovos

eventTypestring

Combination of the Topic and the Event

Example: "asset.shared"
eventobject(event)

Object containing event information and the user who triggered the event.

shareobject(share)
application/json
{ "eventType": "asset.shared", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "share": { "type": "External", "recipients": [ … ], "assets": [ … ] } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Security UpdatedWebhook

Request

Receive a notification when the Security Templates applied to an Asset in Tenovos have been updated.

Security
OAuth2
Bodyapplication/json

Information about an Asset's Security Templates are updated, with current and previous values

assetobject

Object containing all asset related data.

eventTypestring

Combination of the Topic and the Event

Example: "asset.security.updated"
eventobject(event)

Object containing event information and the user who triggered the event.

application/json
{ "asset": { "id": "cdff2214-3873-4cc4-8e2e-94fcec784343", "filename": "pied-piper-grandopening.tif", "metadataTemplate": { … }, "security": { … } }, "eventType": "asset.security.updated", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Headers
webhook-idstring

The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).

webhook-timestampstring

Timestamp in seconds since epoch.

webhook-signaturestring

The Base64 encoded list of signatures (space delimitated)

Metadata UpdatedWebhook

Request

Receive a notification when the Metadata applied to an Asset in Tenovos is updated.

Security
OAuth2
Bodyapplication/json

Information about an Asset's when the metadata is updated

eventTypestring

Combination of the Topic and the Event

Example: "asset.metadata.updated"
eventobject(event)

Object containing event information and the user who triggered the event.

assetobject(asset.updated)
application/json
{ "eventType": "asset.metadata.updated", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "asset": { "id": "cdff2214-3873-4cc4-8e2e-94fcec784343", "filename": "pied-piper-grandopening.tif", "metadataTemplate": { … }, "updates": [ … ] } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Headers
webhook-idstring

The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).

webhook-timestampstring

Timestamp in seconds since epoch.

webhook-signaturestring

The Base64 encoded list of signatures (space delimitated)

Asset RestoredWebhook

Request

Receive a notification when an Asset in Tenovos is restored from the Recycle Bin and will therefore be available to users again.

Security
OAuth2
Bodyapplication/json

Information about an asset when it is restored from the administrative Recycle Bin in Tenovos

eventTypestring

Combination of the Topic and the Event

Example: "asset.restored"
eventobject(event)

Object containing event information and the user who triggered the event.

assetobject(asset)
application/json
{ "eventType": "asset.restored", "event": { "id": "some-event-type-d231cf1d-86b2-436e-95de-b745c39d2ed5", "time": "2024-05-09T17:55:28.462Z", "user": { … } }, "asset": { "id": "cdff2214-3873-4cc4-8e2e-94fcec784343", "filename": "pied-piper-grandopening.tif", "metadataTemplate": { … }, "securityTemplates": [ … ] } }

Responses

Return a 200 status to Tenovos to indicate that the data was received successfully

Headers
webhook-idstring

The unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).

webhook-timestampstring

Timestamp in seconds since epoch.

webhook-signaturestring

The Base64 encoded list of signatures (space delimitated)

Collections

Collection related events

Webhooks

EventPulse

Tenovos EventPulse is COMING SOON!

Receive a notification when an event occurs from human interaction and decision making (button click, etc.). In support of manually triggered events, EventPulse brings a human touch to Webhooks. EventPulse notifications contain an array of objects for which an event has been raised, manually. Tenovos will offer Administrative configuration of these special events from the Admin --> Webhooks page, or they can be incorporated into customer managed user interfaces.

Tenovos API v1.5 will also fully support EventPulse with several new endpoints.

These capabilities are currently supported via Tenovos Actions, which consists of Asset Actions, Web Actions, and Workflow Actions. EventPulse replaces and extends these capabilities to all customers in a manner customers can manage and control themselves.

Metadata

These events are raised when a user with Administrative privileges take various actions within the Metadata section of the Platform. This includes Metadata Templates, Metadata Groups, Controlled Vocabularies, and Metadata Attributes.

Webhooks

Requests

Requests represent a one step workflow within Tenovos. Users with the Request Management and Request Inbox privileges can see and manage any type of request in the system. Each request is assigned a specific type, which can be defined based on your needs. Examples include:

  • Upload
  • Download
  • Asset Change
  • Merchandising Review
  • Archive

In these examples, one or more assets are part of a request, and each asset can be assigned to a different user for review. The reviewer can updated the status of each asset they are assigned to, such as Approved, Rejected, In Progress, Auto Approved, etc. The request itself can also have a status. These terms are completely customizable, and therefore are not an enum in the API documentation.

Webhooks

Relationships

Relationship related events

Webhooks

Rights Management

Rights Management related events.

Webhooks

Security

These events are raised when a user with Administrative privileges take various actions within the Administration section of the Platform. This includes Groups, Roles, Security Templates, and more.

Webhooks

Story Boards

Story Board related events

Webhooks

Users

User related events

Webhooks

Versions

Webhooks