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]
| Option | Type | Required | Description |
|---|---|---|---|
-d, --database-id | TEXT | Yes | Database ID where the asset will be created |
--name | TEXT | Conditional | Asset name (required unless using --json-input) |
--description | TEXT | Conditional | Asset description (required unless using --json-input) |
--distributable / --no-distributable | Flag | Conditional | Whether the asset is distributable |
--tags | TEXT | No | Asset tags (can be used multiple times) |
--bucket-key | TEXT | No | Existing Amazon S3 bucket key to use |
--json-input | TEXT | No | JSON input file path or JSON string |
--json-output | Flag | No | Output 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]
| Option | Type | Required | Description |
|---|---|---|---|
-d, --database-id | TEXT | No | Database ID (optional for all assets) |
--show-archived | Flag | No | Include archived assets |
--page-size | INTEGER | No | Number of items per page |
--max-items | INTEGER | No | Maximum total items (only with --auto-paginate) |
--starting-token | TEXT | No | Token for manual pagination |
--auto-paginate | Flag | No | Automatically fetch all items |
--json-output | Flag | No | Output 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]
| Option | Type | Required | Description |
|---|---|---|---|
ASSET_ID | TEXT | Yes | Asset ID to retrieve (positional) |
-d, --database-id | TEXT | Yes | Database ID containing the asset |
--show-archived | Flag | No | Include archived assets |
--json-output | Flag | No | Output raw JSON response |
assets update
Update an existing asset.
vamscli assets update <ASSET_ID> [OPTIONS]
| Option | Type | Required | Description |
|---|---|---|---|
ASSET_ID | TEXT | Yes | Asset ID to update (positional) |
-d, --database-id | TEXT | Yes | Database ID containing the asset |
--name | TEXT | No | New asset name |
--description | TEXT | No | New asset description |
--distributable / --no-distributable | Flag | No | Update distributable flag |
--tags | TEXT | No | New tags (replaces existing) |
--json-input | TEXT | No | JSON input file path or JSON string |
--json-output | Flag | No | Output raw JSON response |
assets archive
Archive an asset (soft delete). Archived assets can be recovered.
vamscli assets archive <ASSET_ID> [OPTIONS]
| Option | Type | Required | Description |
|---|---|---|---|
ASSET_ID | TEXT | Yes | Asset ID to archive (positional) |
-d, --database | TEXT | Yes | Database ID containing the asset |
--reason | TEXT | No | Reason for archiving |
--json-input | TEXT | No | JSON input file path or JSON string |
--json-output | Flag | No | Output raw JSON response |
assets delete
Permanently delete an asset and all associated data.
vamscli assets delete <ASSET_ID> [OPTIONS]
| Option | Type | Required | Description |
|---|---|---|---|
ASSET_ID | TEXT | Yes | Asset ID to delete (positional) |
-d, --database | TEXT | Yes | Database ID containing the asset |
--confirm | Flag | Yes | Confirm permanent deletion |
--reason | TEXT | No | Reason for deletion |
--json-output | Flag | No | Output raw JSON response |
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]
| Option | Type | Required | Description |
|---|---|---|---|
LOCAL_PATH | PATH | Conditional | Local directory for downloads (optional with --shareable-links-only) |
-d, --database | TEXT | Yes | Database ID |
-a, --asset | TEXT | Yes | Asset ID |
--file-key | TEXT | No | Specific file key to download (defaults to / when --recursive is used) |
--recursive | Flag | No | Download all files from folder tree (defaults --file-key to / if not specified) |
--flatten-download-tree | Flag | No | Ignore folder structure, download flat |
--asset-preview | Flag | No | Download only the asset preview file |
--file-previews | Flag | No | Additionally download file preview files |
--asset-version-id | TEXT | No | Download from a specific version by ID |
--asset-version-alias | TEXT | No | Download from a specific version by alias |
--asset-link-children-tree-depth | INTEGER | No | Traverse child link tree to specified depth |
--shareable-links-only | Flag | No | Return presigned URLs without downloading |
--parallel-downloads | INTEGER | No | Max parallel downloads (default: 5) |
--retry-attempts | INTEGER | No | Retry attempts per file (default: 3) |
--timeout | INTEGER | No | Download timeout per file in seconds (default: 300) |
--hide-progress | Flag | No | Hide download progress display |
--json-output | Flag | No | Output raw JSON response |
--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]
| Option | Type | Required | Description |
|---|---|---|---|
-d, --database-id | TEXT | Yes | Database ID containing the asset |
-a, --asset-id | TEXT | Yes | Root asset ID to export |
--auto-paginate / --no-auto-paginate | Flag | No | Enable/disable automatic pagination (default: enabled) |
--max-assets | INTEGER | No | Maximum assets per page (1-1000, default: 100) |
--starting-token | TEXT | No | Pagination token from previous response |
--no-fetch-relationships | Flag | No | Skip fetching relationships (single asset only) |
--fetch-entire-subtrees | Flag | No | Fetch complete descendant tree (all levels) |
--include-parent-relationships | Flag | No | Include parent relationships |
--generate-presigned-urls | Flag | No | Generate presigned download URLs for files |
--include-folder-files | Flag | No | Include folder files in export |
--include-only-primary-type-files | Flag | No | Include only files with primaryType set |
--include-archived-files | Flag | No | Include archived files |
--file-extensions | TEXT | No | Filter by extension (repeatable, e.g., .gltf .bin) |
--no-file-metadata | Flag | No | Exclude file metadata |
--no-asset-link-metadata | Flag | No | Exclude asset link metadata |
--no-asset-metadata | Flag | No | Exclude asset metadata |
--json-output | Flag | No | Output 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]
| Option | Type | Required | Description |
|---|---|---|---|
-d, --database | TEXT | Yes | Database ID |
-a, --asset | TEXT | Yes | Asset ID |
--comment | TEXT | Yes | Comment for the new version |
--alias | TEXT | No | Version alias (e.g., RC1, GA, Beta; max 64 characters) |
--use-latest-files | Flag | No | Use latest files in Amazon S3 (default: true) |
--files | TEXT | No | JSON string or file path with specific files to version |
--json-output | Flag | No | Output 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]
| Option | Type | Required | Description |
|---|---|---|---|
-d, --database | TEXT | Yes | Database ID |
-a, --asset | TEXT | Yes | Asset ID |
--show-archived | Flag | No | Include archived versions |
| Pagination options | No | --page-size, --max-items, --starting-token, --auto-paginate | |
--json-output | Flag | No | Output 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]
| Option | Type | Required | Description |
|---|---|---|---|
-d, --database | TEXT | Yes | Database ID |
-a, --asset | TEXT | Yes | Asset ID |
-v, --version | TEXT | Yes | Version ID to revert to |
--comment | TEXT | No | Comment for the new version created by revert |
--revert-metadata / --no-revert-metadata | Flag | No | Revert metadata and attributes (default: false) |
--json-output | Flag | No | Output 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
asset-links create
Create a relationship between two assets.
vamscli asset-links create [OPTIONS]
| Option | Type | Required | Description |
|---|---|---|---|
--from-asset-id | TEXT | Yes | Source asset ID |
--from-database-id | TEXT | Yes | Source database ID |
--to-asset-id | TEXT | Yes | Target asset ID |
--to-database-id | TEXT | Yes | Target database ID |
--relationship-type | TEXT | Yes | related or parentChild |
--alias-id | TEXT | No | Alias ID for multiple parent-child links (parentChild only, max 128 chars) |
--tags | TEXT | No | Tags (repeatable) |
--json-input | TEXT | No | JSON input |
--json-output | Flag | No | Output raw JSON |
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.
asset-links list / get / update / delete
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>