Subscription Controller
Introduction
The Subscription controller lets you subscribe to system events emitted by AdmiralCloud, enabling event-driven automation and integrations. A subscription defines which event to listen for, optional filter conditions (e.g. a specific customerId or payload value), and one or more instructions to execute when the event fires — such as calling an API endpoint, sending an email, or triggering a webhook.
Subscriptions can be created individually or from predefined templates. Once active, they run automatically in response to matching events, without requiring polling on your end.
Common use cases include triggering a workflow after an upload completes, notifying a team when a media container's status changes, or automatically releasing content when certain conditions are met. See the Event Service documentation for the full list of available events and example subscription structures.
Ownership & permissions
Every subscription has an explicit owner (ownerId), even when it was created on your behalf by another AdmiralCloud feature rather than through this API directly. This keeps event management predictable: only the owner of a subscription — or a user with elevated permissions — can update or delete it.
Two permission levels
| Permission | Scope |
|---|---|
subscription.manageOwn |
Find, create, update and delete your own subscriptions (ownerId matches your user id). Granted to every user by default. |
subscription.manage |
Find, create, update and delete any subscription for the customer, regardless of owner. Typically reserved for administrators. |
If you only hold subscription.manageOwn:
findresults are automatically scoped to subscriptions you ownupdateanddestroyonly succeed for subscriptions whereownerIdmatches your user id; any other subscription id returnssubscriptionInvalid- You cannot set or change
ownerIdon a subscription yourself — doing so returnsownerId_notAllowed
Subscriptions created indirectly
Some AdmiralCloud features create or modify a subscription as a side effect of another action. For example, configuring a Dropsite's upload notification creates (and later updates) an event:dropsiteUploadComplete subscription behind the scenes. In these cases:
ownerIdstays fixed to whoever originally triggered the subscription's creation and does not change on subsequent editslastEditorIdalways reflects the user who most recently changed the subscription, even indirectly, so you get an accurate audit trail- Access through this API (
/v5/subscriptions/:id) is still governed byownerId, not by who last edited it. A colleague can change the feature that owns the subscription (e.g. the Dropsite's settings) without becoming its owner, and without gaining the ability to manage it directly through this API — unless they holdsubscription.manage
Deleting a subscription
By default, destroy soft-deletes a subscription (sets flag to 1); it is kept for history and audit purposes, along with its execution logs. Pass forceDelete: true to permanently remove the subscription and all of its logs instead. This cannot be undone.