Skip to main content

Subscriptions

Subscriptions provide email notifications when asset versions change. Users can subscribe to specific assets and receive alerts when new files are uploaded, versions are created, or other significant changes occur.

Subscription model

Each subscription record tracks a specific event on a specific entity, along with the list of email addresses that should be notified.

FieldDescription
eventNameThe event to monitor. Currently supports Asset Version Change.
entityNameThe type of entity being monitored. Currently supports Asset.
entityIdThe unique identifier of the asset being monitored.
subscribersAn array of email addresses that receive notifications.

How subscriptions work

  1. Subscribe -- A user calls the subscriptions API with an asset identifier and a list of email addresses. VAMS creates an Amazon Simple Notification Service (Amazon SNS) topic for the asset (if one does not already exist) and stores the subscription record in Amazon DynamoDB.

  2. Trigger -- When the monitored event occurs (for example, a new asset version is created or files are modified), VAMS publishes a notification to the asset's Amazon SNS topic.

  3. Notify -- Amazon SNS delivers email notifications to all subscribed addresses.

Managing subscriptions

OperationAPI EndpointDescription
List subscriptionsGET /subscriptionsList all subscriptions the current user has access to view.
Create subscriptionPOST /subscriptionsSubscribe one or more email addresses to an asset event.
Update subscriptionPUT /subscriptionsModify the subscriber list for an existing subscription.
Check subscriptionPOST /check-subscriptionCheck whether a subscription exists for a specific asset and event.
UnsubscribeDELETE /unsubscribeRemove a subscription.

Subscription permissions

Subscription access is governed by the asset object type in the permissions model. To manage subscriptions for an asset, a user must have the appropriate permissions on the asset itself (including databaseId, assetName, assetType, and tags constraint fields). This ensures that users cannot subscribe to assets they are not authorized to view.