About this topic

These endpoints are exposed by the Adam UI Server (backend-for-frontend for the DAM UI), not the core DAM REST API host. Use your tenant’s UI Server base URL as the request prefix for the routes below.

They support subscribing and unsubscribing to content items and collections, querying subscriptions, and listing users subscribed to an object.

When you read a collection with GET /collections/{collectionId}, the representation can include the inSubscription property described in the table below.

Enums (shared)subscriptionType: 1 = Follow, 2 = Expiry. subscriptionObjectType / objectType: 0 = Record, 1 = Collection.

Adam UI Server — content item subscriptions

Method Route Description
POST /contentitems/{contentItemId}/subscription Subscribe to a content item. The body uses SubscribeResource (objectId should match the subscribed record; typically the same as contentItemId).
DELETE /contentitems/{id}/subscription Remove the current user’s subscription for the subscribed object. The path id is forwarded to the DAM API as the subscribed object id (record id), not the subscription row id.

POST request body (JSON; property names use camelCase when serialized by the UI Server):

POST /contentitems/3fa85f64-5717-4562-b3fc-2c963f66afa6/subscription HTTP/1.1
Content-Type: application/json

{
  "objectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "subscriptionType": 1,
  "subscriptionObjectType": 0
}

POST response body (SubscriptionResponse; 200 OK):

{
  "id": "8b9c1f2e-4a3b-4d4c-9e5f-1234567890ab",
  "inSubscription": false
}

The handler sets id to the new subscription id returned from the DAM API. DELETE returns 204 No Content on success.

Adam UI Server — collection subscriptions

Method Route Description
POST /collections/{collectionId}/subscription Subscribe to a collection. No body; the server sends Follow and Collection to the DAM API.
DELETE /collections/{collectionId}/subscription Remove the current user’s subscription for that collection (path collectionId is the subscribed object id).

POST has an empty body. POST response matches the content-item example (id + inSubscription). DELETE returns 204 No Content.

Adam UI Server — collection resource (GET /collections/{collectionId})

Property Description Type
inSubscription true if a subscription exists for the current user on this collection; false otherwise. boolean (nullable)

Sample fragment of the JSON representation (Collection in the UI Server; other properties omitted):

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "title": "My collection",
  "inSubscription": true,
  "modifiedOn": "2026-04-16T12:00:00Z"
}

DAM REST API — subscription reads (called by the UI Server / clients)

These routes are served by the core DAM REST API (not the UI Server). Use the usual API-Version and authentication headers required by your environment.

Method Route Description
GET /subscription/{subscriptionId} Read one subscription by its id. Returns a SubscriptionResource (HAL/JSON includes _links).
GET /subscription?objectId={recordId}&userId={userId}&subscriptionType={subscriptionType} Read a subscription by object, user, and type (all query parameters are required for this action).
GET /subscriptions?objectId={recordId}&subscriptionType={subscriptionType}&objectType={objectType} List subscriptions for an object. objectType is 0 (Record) or 1 (Collection).
POST /subscriptions Create a subscription (SubscriptionCreateCommand body). 201 Created with { "id": "..." } and Location header.

POST /subscriptions request body (user id is taken from the authenticated user when saving; body supplies object and type):

POST /subscriptions HTTP/1.1
Content-Type: application/json
API-Version: 1

{
  "objectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "subscriptionType": 1,
  "subscriptionObjectType": 0
}

If subscriptionObjectType is omitted, the API defaults it to Record (0).

POST /subscriptions response (201 Created):

{
  "id": "8b9c1f2e-4a3b-4d4c-9e5f-1234567890ab"
}

GET /subscription/{subscriptionId} — example representation (plain fields; actual responses may include HAL _links and embedded resources):

{
  "id": "8b9c1f2e-4a3b-4d4c-9e5f-1234567890ab",
  "objectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "userId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
  "subscriptionType": 1,
  "subscriptionObjectType": 0,
  "createdBy": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
  "modifiedBy": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
  "createdOn": "2026-04-16T10:00:00Z",
  "modifiedOn": "2026-04-16T10:00:00Z",
  "aprimoUserId": 12345
}

GET /subscriptions?... — returns a JSON array of the same subscription shape as above.