Skip to main content

Asset Commands

Manage assets, asset versions, asset links, and asset exports within VAMS databases. Assets are the primary containers for files, metadata, and version history.


assets create

Create a new asset in VAMS. Asset IDs are automatically generated by the system.

vamscli assets create [OPTIONS]
OptionTypeRequiredDescription
-d, --database-idTEXTYesDatabase ID where the asset will be created
--nameTEXTConditionalAsset name (required unless using --json-input)
--descriptionTEXTConditionalAsset description (required unless using --json-input)
--distributable / --no-distributableFlagConditionalWhether the asset is distributable
--tagsTEXTNoAsset tags (can be used multiple times)
--bucket-keyTEXTNoExisting Amazon S3 bucket key to use
--json-inputTEXTNoJSON input file path or JSON string
--json-outputFlagNoOutput raw JSON response
vamscli assets create -d my-database --name "My Asset" --description "Asset description"
vamscli assets create -d my-database --name "Tagged Asset" --description "With tags" --tags tag1 --tags tag2 --distributable
vamscli assets create -d my-database --json-input '{"assetName":"test","description":"desc","isDistributable":true}'

assets list

List assets in a database or all assets across databases.

vamscli assets list [OPTIONS]
OptionTypeRequiredDescription
-d, --database-idTEXTNoDatabase ID (optional for all assets)
--show-archivedFlagNoInclude archived assets
--page-sizeINTEGERNoNumber of items per page
--max-itemsINTEGERNoMaximum total items (only with --auto-paginate)
--starting-tokenTEXTNoToken for manual pagination
--auto-paginateFlagNoAutomatically fetch all items
--json-outputFlagNoOutput raw JSON response
vamscli assets list -d my-database
vamscli assets list -d my-database --auto-paginate --json-output
vamscli assets list -d my-database --show-archived

assets get

Get details for a specific asset.

vamscli assets get <ASSET_ID> [OPTIONS]
OptionTypeRequiredDescription
ASSET_IDTEXTYesAsset ID to retrieve (positional)
-d, --database-idTEXTYesDatabase ID containing the asset
--show-archivedFlagNoInclude archived assets
--json-outputFlagNoOutput raw JSON response

assets update

Update an existing asset.

vamscli assets update <ASSET_ID> [OPTIONS]
OptionTypeRequiredDescription
ASSET_IDTEXTYesAsset ID to update (positional)
-d, --database-idTEXTYesDatabase ID containing the asset
--nameTEXTNoNew asset name
--descriptionTEXTNoNew asset description
--distributable / --no-distributableFlagNoUpdate distributable flag
--tagsTEXTNoNew tags (replaces existing)
--json-inputTEXTNoJSON input file path or JSON string
--json-outputFlagNoOutput raw JSON response

assets archive

Archive an asset (soft delete). Archived assets can be recovered.

vamscli assets archive <ASSET_ID> [OPTIONS]
OptionTypeRequiredDescription
ASSET_IDTEXTYesAsset ID to archive (positional)
-d, --databaseTEXTYesDatabase ID containing the asset
--reasonTEXTNoReason for archiving
--json-inputTEXTNoJSON input file path or JSON string
--json-outputFlagNoOutput raw JSON response

assets delete

Permanently delete an asset and all associated data.

vamscli assets delete <ASSET_ID> [OPTIONS]
OptionTypeRequiredDescription
ASSET_IDTEXTYesAsset ID to delete (positional)
-d, --databaseTEXTYesDatabase ID containing the asset
--confirmFlagYesConfirm permanent deletion
--reasonTEXTNoReason for deletion
--json-outputFlagNoOutput raw JSON response
Permanent Deletion

This action permanently removes the asset record, all files and versions from Amazon S3, all links and relationships, comments, version history, metadata, and SNS topics.


assets download

Download files from an asset with advanced options for version selection, tree traversal, and shareable links.

vamscli assets download [LOCAL_PATH] [OPTIONS]
OptionTypeRequiredDescription
LOCAL_PATHPATHConditionalLocal directory for downloads (optional with --shareable-links-only)
-d, --databaseTEXTYesDatabase ID
-a, --assetTEXTYesAsset ID
--file-keyTEXTNoSpecific file key to download (defaults to / when --recursive is used)
--recursiveFlagNoDownload all files from folder tree (defaults --file-key to / if not specified)
--flatten-download-treeFlagNoIgnore folder structure, download flat
--asset-previewFlagNoDownload only the asset preview file
--file-previewsFlagNoAdditionally download file preview files
--asset-version-idTEXTNoDownload from a specific version by ID
--asset-version-aliasTEXTNoDownload from a specific version by alias
--asset-link-children-tree-depthINTEGERNoTraverse child link tree to specified depth
--shareable-links-onlyFlagNoReturn presigned URLs without downloading
--parallel-downloadsINTEGERNoMax parallel downloads (default: 5)
--retry-attemptsINTEGERNoRetry attempts per file (default: 3)
--timeoutINTEGERNoDownload timeout per file in seconds (default: 300)
--hide-progressFlagNoHide download progress display
--json-outputFlagNoOutput raw JSON response
note

--asset-version-id and --asset-version-alias are mutually exclusive. When provided, downloads retrieve files as they existed in the specified version rather than the current state.

vamscli assets download /local/path -d my-db -a my-asset
vamscli assets download /local/path -d my-db -a my-asset --recursive
vamscli assets download /local/path -d my-db -a my-asset --file-key "/model.gltf"
vamscli assets download /local/path -d my-db -a my-asset --file-key "/models/" --recursive
vamscli assets download /local/path -d my-db -a my-asset --asset-version-id 2
vamscli assets download /local/path -d my-db -a my-asset --asset-version-alias "stable-release"
vamscli assets download -d my-db -a my-asset --shareable-links-only
vamscli assets download /local/path -d my-db -a my-asset --asset-link-children-tree-depth 2

assets export

Export comprehensive asset data including metadata, files, relationships, and optional presigned download URLs. Designed for mass exports and downstream data consumption.

vamscli assets export [OPTIONS]
OptionTypeRequiredDescription
-d, --database-idTEXTYesDatabase ID containing the asset
-a, --asset-idTEXTYesRoot asset ID to export
--auto-paginate / --no-auto-paginateFlagNoEnable/disable automatic pagination (default: enabled)
--max-assetsINTEGERNoMaximum assets per page (1-1000, default: 100)
--starting-tokenTEXTNoPagination token from previous response
--no-fetch-relationshipsFlagNoSkip fetching relationships (single asset only)
--fetch-entire-subtreesFlagNoFetch complete descendant tree (all levels)
--include-parent-relationshipsFlagNoInclude parent relationships
--generate-presigned-urlsFlagNoGenerate presigned download URLs for files
--include-folder-filesFlagNoInclude folder files in export
--include-only-primary-type-filesFlagNoInclude only files with primaryType set
--include-archived-filesFlagNoInclude archived files
--file-extensionsTEXTNoFilter by extension (repeatable, e.g., .gltf .bin)
--no-file-metadataFlagNoExclude file metadata
--no-asset-link-metadataFlagNoExclude asset link metadata
--no-asset-metadataFlagNoExclude asset metadata
--json-outputFlagNoOutput raw JSON response
vamscli assets export -d my-database -a my-asset
vamscli assets export -d my-database -a my-asset --fetch-entire-subtrees --json-output > export.json
vamscli assets export -d my-database -a my-asset --file-extensions .gltf --file-extensions .bin --generate-presigned-urls
vamscli assets export -d my-database -a my-asset --no-fetch-relationships

asset-version create

Create a new version snapshot of an asset's current state.

vamscli asset-version create [OPTIONS]
OptionTypeRequiredDescription
-d, --databaseTEXTYesDatabase ID
-a, --assetTEXTYesAsset ID
--commentTEXTYesComment for the new version
--aliasTEXTNoVersion alias (e.g., RC1, GA, Beta; max 64 characters)
--use-latest-filesFlagNoUse latest files in Amazon S3 (default: true)
--filesTEXTNoJSON string or file path with specific files to version
--json-outputFlagNoOutput raw JSON response
vamscli asset-version create -d my-db -a my-asset --comment "Release candidate" --alias "RC1"

asset-version list

List all versions for an asset. Archived versions are hidden by default.

vamscli asset-version list [OPTIONS]
OptionTypeRequiredDescription
-d, --databaseTEXTYesDatabase ID
-a, --assetTEXTYesAsset ID
--show-archivedFlagNoInclude archived versions
Pagination optionsNo--page-size, --max-items, --starting-token, --auto-paginate
--json-outputFlagNoOutput raw JSON response

asset-version get

Get details for a specific version, including versioned metadata and attributes.

vamscli asset-version get -d <DB> -a <ASSET> -v <VERSION> [--json-output]

asset-version update

Update the comment or alias for an existing version.

vamscli asset-version update -d <DB> -a <ASSET> -v <VERSION> [--comment TEXT] [--alias TEXT]

At least one of --comment or --alias must be provided. Pass an empty string to --alias to clear it.


asset-version archive / unarchive

Archive or restore a version. The current (latest) version cannot be archived.

vamscli asset-version archive -d my-db -a my-asset -v 2
vamscli asset-version unarchive -d my-db -a my-asset -v 2

asset-version revert

Revert an asset to a previous version, optionally including metadata.

vamscli asset-version revert [OPTIONS]
OptionTypeRequiredDescription
-d, --databaseTEXTYesDatabase ID
-a, --assetTEXTYesAsset ID
-v, --versionTEXTYesVersion ID to revert to
--commentTEXTNoComment for the new version created by revert
--revert-metadata / --no-revert-metadataFlagNoRevert metadata and attributes (default: false)
--json-outputFlagNoOutput raw JSON response
vamscli asset-version revert -d my-db -a my-asset -v 1 --comment "Reverting to stable"
vamscli asset-version revert -d my-db -a my-asset -v 1 --revert-metadata

Create a relationship between two assets.

vamscli asset-links create [OPTIONS]
OptionTypeRequiredDescription
--from-asset-idTEXTYesSource asset ID
--from-database-idTEXTYesSource database ID
--to-asset-idTEXTYesTarget asset ID
--to-database-idTEXTYesTarget database ID
--relationship-typeTEXTYesrelated or parentChild
--alias-idTEXTNoAlias ID for multiple parent-child links (parentChild only, max 128 chars)
--tagsTEXTNoTags (repeatable)
--json-inputTEXTNoJSON input
--json-outputFlagNoOutput raw JSON
Alias IDs

The --alias-id option enables multiple parent-child relationships between the same pair of assets. Each alias must be unique for a given child asset.


vamscli asset-links list -d my-db --asset-id my-asset [--tree-view]
vamscli asset-links get --asset-link-id <UUID>
vamscli asset-links update --asset-link-id <UUID> --tags new-tag
vamscli asset-links delete --asset-link-id <UUID>