Content API

Preservica also provides a simple content API to view the archival content available through CMIS via a set of JSON endpoints. This set of endpoints is available from the API server at content/method-name (e.g. at

All of these content methods require a valid access token issued through the access token API in the Preservica-Access-Token HTTP header.

These methods are broadly separable into two categories, those which request specific entities from Preservica, and those which request listings of entities. The first category require simple GET requests and are dealt with in the first part of this section. The second category use a search based syntax, and return broadly similar results, and so are dealt with together in the second part of this section.

All parameters specified in the requests here are mandatory unless explicitly stated otherwise.

Metadata responses from this API will be JSON formatted and will include a success and version field. If the response succeeded, there will be a value field which contains the data appropriate to the request.

You can find Swagger UI for it at

Single Entity Requests

The methods described in this section are HTTP GET requests.

object-details: Gets details (metadata) about an individual object.

download: Returns the asset contents when the appropriate file exists on an adapter with a minimum access speed of NEAR-LINE. The access representation will be used, if there is one, otherwise the first representation (usually the preservation representation) will. This method accepts ranged requests as described by

thumbnail: Returns a thumbnail image for a given object reference.

indexed-fields: Gets all fields indexed by Preservica and their schema short name.

Entity Listing Requests

These methods use a search like syntax to return a paged listing of archival entities matching some specified criteria. They allow the consumer to specify which metadata fields to return for each entity in the list, to apply filters, to request facet details in the response, to determine how many entities to retrieve details for, and to specify the ordering of the returned entities. Although these are all semantically GET-type operations, they all also accept POST requests as the parameter sent may be large and require posting.

top-level-list: Performs a listing of top level objects in the repository.

object-children: Gets details about the direct children of an object.

search: Performs a search against the repository content.

search-within: Performs a search within a sub-directory of the repository content.

Open API library and latest developments on GitHub

Visit the Preservica GitHub page for our extensive API library, sample code, our latest open developments and more.

Visit our GitHub

Protecting the world’s digital memory

The world's cultural, economic, social and political memory is at risk. Preservica's mission is to protect it.

Learn more about Preservica