Skip to content
  • There are no suggestions because the search field is empty.

How to generate manifest files with MASV

Include manifest files to pass along file and metadata information to power downstream automations

MASV can create manifest files for transfers to Amazon S3 and S3-compatible storage. MASV manifest files include information such as metadata (including metadata in Custom Forms), file information, and destination path. Manifest files can be read by destination systems and trigger operations on the incoming files.

Manifest files are generated as JSON files. There are two types of manifest files:

  • Transfer Manifest: A single manifest file that is generated after the package download is complete. It includes a file list with information about each file in the package. If you are transferring a package via a MASV Portal that has more than one integration (i.e. delivering to multiple destinations), a dedicated transfer manifest is generated for each destination, capturing the corresponding file path.

  • Per-File Manifest: A manifest file that is generated for each file in the package. This is particularly beneficial if you are using MASV Express because Per-File Manifest files are generated after each individual file finishes downloading. For large multi-file transfers, this means that there is no need to wait for the entire package to finish downloading before downstream operations can start.

Transfer Manifest example:

{
   "id": "01KG3B8EJMMN1FYY1GYV4RXFG3",
   "created_at": "2025-12-14T10:39:45.334Z",
   "package": {
       "id": "01KG3B83Y4AVTSAJ4J9T8CD90K",
       "files": [
           {
               "id": "01HGJW3WGD50J6FTVFZFMJJQ6B",
               "kind": "regular",
               "name": "file1.svg",
               "path": "/Portal Downloads/Media Upload/images/",
               "size": 9004
           },
           {
               "id": "01HGJW3WGAH3TT225AXPF8SS6W",
               "kind": "regular",
               "name": "file2.jpg",
               "path": "/Portal Downloads/Media Upload/images/",
               "size": 251529
           },
           {
               "id": "01HGJW3WFQDFF9B2MWV1HDJYCY",
               "kind": "regular",
               "name": "file3.txt",
               "path": "/Portal Downloads/Media Upload/docs/",
               "size": 9004
           },
           {
               "id": "01HGJW3WFVRJA8VGJADDT1NVFF",
               "kind": "regular",
               "name": "file4.txt",
               "path": "/Portal Downloads/Media Upload/docs/",
               "size": 9004
           },
           {
               "id": "01HGJW3WFVRJA8VGJADDT1NVJJ",
               "kind": "directory",
               "name": "empty",
               "path": "/Portal Downloads/Media Upload/",
               "size": 0
           }
       ],
       "metadata": {
           "editorial_notes": "Some additional details about the upload.",
           "embargo_release_date": "2025/12/21",
           "event_id": "ABc137410",
           "ingest_method": "MASV",
           "match_number": "02",
           "original_title": "Sample Upload"
       },
       "name": "Sample Upload",
       "portal_id": "01CYCWJC40RXPK3HNQVYKAX1K1",
       "portal_name": "Media Upload",
       "sender": "test@masv.io",
       "size": 269537,
       "state": "finalized",
       "total_files": 4,
       "created_at": "2025-12-14T10:39:45.334Z",
       "updated_at": "2025-12-14T16:39:56.350Z"
   },
   "updated_at": "2025-12-14T16:39:56.350Z"
}

Per-File Manifest example

{
"transfer_id": "01KG3B8EJMMN1FYY1GYV4RXFG3",
"package_id": "01KG3B83Y4AVTSAJ4J9T8CD90K",
"file": {
"id": "01HGJW3WGAH3TT225AXPF8SS6W",
"name": "file2.jpg",
"path": "/Portal Downloads/Media Upload/images/",
"size": 251529
},
"metadata": {
"editorial_notes": "Some additional details about the upload.",
      "embargo_release_date": "2025/12/21",
      "event_id": "ABc137410",
       "ingest_method": "MASV",
      "match_number": "02",
      "original_title": "Sample Upload"}
}

Note: Transfer Manifest files use the kind property to identify if the content is a file or a folder/directory:  regular = file,  and directory= a folder/directory.

MASV can generate manifest files for the following S3-compatible integrations:

  • Amazon S3
  • Digital Ocean
  • Lyve Cloud
  • MinIO
  • Object Matrix
  • Other S3
  • Qumulo S3
  • Storj
  • Wasabi

To generate manifest files for a MASV integration

  1. In the MASV Web App, as a Team Owner or Admin (roles), create or edit an S3-compatible integration on the My Integrations page.
  2. Near the bottom of the Add Integration or Edit Integration window, in the Sidecar Options area, enable one or more of the following options:
    1. Include Transfer Manifest: Generate a manifest file (JSON) for each package transfer. The manifest includes a full list of files and directories in the package. Available only for S3/S3-compatible integrations.
    2. Include Per-File Manifest: Generates a manifest file (JSON) for each file delivered.
masv-manifest-options

Note: You can include a Per-File Manifest file or a Mimir Sidecar Form ID, but not both.

Tip: You can also set different Sidecar Options settings for each Portal that has integrations enabled by choosing the options you want in Portal Integrations Settings. The settings for the Portal override the Sidecar Options set in the Add Integration or Edit Integration window.