Library APIs

Library APIs

The Content Library package provides structures and services for defining and managing the library's items, subscription, publication, and storage.

API Categories

The Item service provides operations for managing library items.


The SubscribedItem service manages the unique features of library items that are members of a subscribed library.


The Subscriptions service provides operations for managing the subscription information of the subscribers of a published library.


The Changes service provides operations to get a history of the content changes made to a library item.


The DownloadSession service manipulates download sessions, which are used to download content from the Content Library Service. A download session is an object that tracks the download of content (that is, downloading content from the Content Library Service) and acts as a lease to keep the download links available.

The File service provides access to the download links.


The File service can be used to query for information on the files within a library item. Files are objects which are added to a library item through the UpdateSession and File services.


Storage is a resource that represents a specific instance of a file stored on a storage backing. Unlike File, which is abstract, storage represents concrete files on the various storage backings. A file is only represented once in File, but will be represented multiple times (once for each storage backing) in Storage. The Storage service provides information on the storage backing and the specific location of the file in that backing to privileged users who want direct access to the file on the storage medium.


The UpdateSession service manipulates sessions that are used to upload content into the Content Library Service, and/or to remove files from a library item. An update session is a resource which tracks changes to content. An update session is created with a set of files that are intended to be uploaded to a specific ItemModel, or removed from an item. The session object can be used to track the uploads and inspect the changes that are being made to the item by that upload. It can also serve as a channel to check on the result of the upload, and status messages such as errors and warnings for the upload.

Modifications are not visible to other clients unless the session is completed and all necessary files have been received.

The management of the files within the session is done through the File service.


The File service provides operations for accessing files within a download session. After a download session is created against a library item, the File service can be used to retrieve all downloadable content within the library item. Since the content may not be available immediately in a downloadable form on the server side, the client will have to prepare the file and wait for the file status to become PREPARED.

See DownloadSession.


The File service provides operations for accessing files within an update session. After an update session is created against a library item, the File service can be used to make changes to the underlying library item metadata as well as the content of the files. The following changes can be made:

  • deleting an existing file within the library item. This deletes both the metadata and the content.
  • updating an existing file with new content.
  • adding a new file to the library item.

The above changes are not applied or visible until the session is completed. See UpdateSession.