Skip to main content

Manifests

The Manifest feature lets you receive an export of the assets in your account as a text file on a regular schedule (daily, weekly etc). This makes it possible for you to fetch and parse these files to update your own internal databases. Your systems will then know what assets exist for a given product, so they can display them on the product details page.

The current manifest system process takes in a list of asset stores and a search query and outputs a file containing all of the assets that match the search query. Manifests can be standard, or nested. Nested manifests reveal the set and their contained assets. Users can only search on the standard asset metadata - File, EXIF and Image. You can also specify the format of the output file using velocity templating. You'll usually work with Amplience to configure your manifest file at the beginning of your project.

On this page we'll explain the key features of manifests, what fields you can choose to output and provide some examples about the queries that you can specify to generate the manifest files.

Key Features
Link copied!

  • Output a list of all assets
  • Output a list of all sets with associated assets
  • Output a list of new assets (diff), using Solr date search syntax
  • Custom header/footer/asset format using velocity templating
  • XML & CSV are the most common output formats
  • You can export in JSON format, but bear in mind that because manifests are output using repeating line patterns, the JSON could end up with extraneous commas(,) and closing braces (})
  • Provides the ability to filter assets using complex Solr syntax (AND/OR, updated date, status, asset type etc)
  • Upload output to S3
  • Upload output to a FTP/SFTP server

Fields output
Link copied!

  • ID
  • bucketID
  • type
  • name
  • label
  • srcName
  • status
  • created
  • updated
  • mimeType
  • lastPublish.status
  • lastSuccess.timestamp
  • published
  • publishStatus
  • workflow.status
  • folder
  • .width
  • .height
  • .type
  • .size
  • contents

Opening Manifest files
Link copied!

Manifest files can be very large (depending on the query and number of assets in your account) and opening them in your browser is not recommended. Using xmlexplorer is a good option, or any good text editor. You could also use curl to download the file to your local machine.

General query advice
Link copied!

Boolean operators
Link copied!

AND, NOT and OR can all be used within manifest queries (AND is the same as &&, NOT ! and OR ||). For example !status:active would return all the assets that aren't marked as active

Date time fields
Link copied!

Queries against date based fields must use the appropriate date formating. Queries for exact date values will require quoting or escaping since : is used to denote a field query. Date time field searches in manifests should all be range searches, for example, from one date TO another- even if one of those values is a *.

There are special keywords to enable simpler search definitions:

NOW - current time and date

HOUR, DAY, WEEK, MONTH, YEAR all define that period of time and can be preceded with a number (e.g. 3DAYS defines a period of 3 days).

HOUR, DAY, WEEK, MONTH and YEAR can also follow a datetime string(or NOW) like NOW/DAY to round the date time value to the nearest HOUR, DAY, WEEK, MONTH or YEAR.

Usage examples
Link copied!

created:[2020-01-01T23:59:59.999Z TO \*]

created:[2020-01-01T23:59:59.999Z TO 2020-02-01T00:00:00Z]

lastSuccess.timestamp:[\* TO NOW]

updated:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]

Regular expressions on label fields
Link copied!

There is some limited support for regular expressions within manifest queries, for fields like name, label and srcName you can use a subset of regular expressions to refine your search. For example, label:/(MF|IMG)/</ matches labels containing the string MF or IMG.

You can even go as far as specifying: label:/.\*_a(\.[a-zA-Z0-9]\*)\*/ which matches labels containing _a. followed by any alphanumeric combination.

Common manifest queries
Link copied!

QueryResult/Description
*Return all the assets in an account
status:activeReturn all the active assets
!published:trueReturn all the assets in an account that aren't published
!status:activeReturn all the assets that are not marked as active - Note that these assets aren't visible in Content Hub
type:setReturn all the assets that are of type set (you could substitute any valid type here like 'text','image','video' etc.
lastSuccess.timestamp:[NOW/HOUR - 24HOURS TO *]Return all assets successfully published in the last 24 hours
published:trueReturn all the published assets
folder:idReturn all the assets within the folder with and id of id
updated:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]Return assets updated between a year and tomorrow date
lastSuccess.timestamp:[* TO NOW]Return all assets successfully published