Bundle Archive Imports
The workflow for uploading bundle archives, tracking extraction, and exposing imported files to users.
Use an archive import when a bundle contains enough files that per-file upload sessions and URL refreshes would be wasteful.
Import workflow
- Read formats and limits from
GET /v1/spatial/bundles/archive-upload-support. - Start with
POST /v1/spatial/locations/{locationId}/bundles/archive-upload-start. - Transfer the archive through the returned direct target or upload session.
- Complete the direct upload or session and retain
archiveImportTaskId. - Poll
GET /v1/spatial/bundles/archive-imports/{taskId}until terminal.
Completing the transfer only accepts the source archive for extraction. The
server keeps its Bundle-storage reservation active while BackgroundJobs scans
and extracts into inaccessible staging objects. At finalization it revalidates
the current requester or PAT, rechecks LocationBundles=Write and Bundle
capacity, then attaches all extracted records and commits the exact expanded
object bytes in one transaction. The compressed source is deleted as staging
data. A denial before commit publishes nothing, records the terminal
AuthorizationChanged or CapacityChanged state, quarantines staged objects
from visibility for bounded cleanup, and releases the reservation. A fresh
upload can then retry the complete set without reusing or double-committing the
released reservation.
Reading and exporting the result
Bundle metadata, files, and ZIP exports require final
LocationBundles=Read. Normal imported capture/model files are classified as
Bundle bytes. If a mixed or legacy bundle contains a Document-classified file,
that file and a full ZIP additionally require its applicable path-aware
Document read permission. This is an all-or-none check for a full ZIP: the API
does not return an archive URL that would reveal a denied member.
Prepared bundle ZIPs are rebuildable derived caches and do not count as a second durable copy in Bundle usage. Current permissions are still checked before a prepared ZIP URL is returned.
For the complete request shapes, transfer rules, supported formats, and cleanup behavior, see Set Up Bundle Archive Uploads.