Documents, Bundles, and File Artifacts

The stored file models used for document libraries, spatial bundles, uploads, and generated outputs.

An artifact bundle groups files at one spatial location. Upload bundles contain source data such as capture images. Model bundles contain generated or directly uploaded 3D output data. Each file inside either kind is represented by a file artifact.

Parent and child bundles

previousBundleId is the bundle's parent identifier. Despite its historical name, it describes the current parent/child relationship rather than model version order.

When a pipeline job publishes a model bundle, the output bundle's previousBundleId is the job's inputBundleId. The input bundle then exposes that output in its direct children collection. Multiple jobs can therefore produce multiple child model bundles from the same input bundle. Directly uploaded bundles have no parent unless a server-side workflow assigns one.

The relationship is direct, not recursive: each returned bundle contains its immediate children. Each child includes its own previousBundleId, which points back to the parent.

List and filter bundles

List bundles at a location:

GET /v1/spatial/locations/{locationId}/bundles
Authorization: Bearer <personal-access-token>

The response is paginated. Every returned bundle includes its direct children. Combine the existing bundleType filter with these hierarchy filters:

  • parentBundleId={bundleId} returns the direct children of one bundle.
  • hasParent=true returns child bundles.
  • hasParent=false returns root bundles.
  • hasChildren=true returns bundles with at least one direct child.
  • hasChildren=false returns leaf bundles.

For example, list uploaded input bundles that have generated outputs:

GET /v1/spatial/locations/{locationId}/bundles?bundleType=Upload&hasChildren=true
Authorization: Bearer <personal-access-token>

List one input bundle's generated outputs:

GET /v1/spatial/locations/{locationId}/bundles?bundleType=Model&parentBundleId={inputBundleId}
Authorization: Bearer <personal-access-token>

parentBundleId cannot be combined with hasParent=false.

Get one bundle and its direct children:

GET /v1/spatial/bundles/{bundleId}
Authorization: Bearer <personal-access-token>

List bundle files and images

Bundle metadata and bundle files are paginated separately. List the files in an input or output bundle with:

GET /v1/spatial/bundles/{bundleId}/files
Authorization: Bearer <personal-access-token>

Use the file artifact's contentType and name to select images. To obtain short-lived inline URLs for displaying them, request:

GET /v1/spatial/bundles/{bundleId}/files/download?disposition=inline
Authorization: Bearer <personal-access-token>

All bundle metadata, hierarchy, file-list, and download operations require final LocationBundles=Read for the containing location.

On this page