Miris CLI Documentation
The Miris CLI is an experimental feature. Commands and behavior may change in future releases.
The Miris CLI lets you upload assets, create viewer keys, and manage your account from the terminal.
Prerequisites
You need a Miris account. Create one at app.miris.com before using the CLI.
Installation
Download the latest binary for your platform from the Miris CLI releases page.
macOS / Linux
# Make the binary executable
chmod +x miris
# Move it somewhere on your PATH
mv miris /usr/local/bin/miris
# Verify the install
miris --version
Windows
Download miris.exe from the releases page and add its location to your PATH environment variable.
Authentication
After installing, authenticate with your Miris account. Choose one of the following methods:
OAuth (Google or Email)
miris auth oauth
You'll be prompted to select a provider. The CLI outputs a URL — open it in your browser and complete the login flow. Supported providers:
- Google — sign in with your Google account
- Email — sign in with your Miris email and password
To skip the prompt and specify a provider directly:
miris auth oauth -p google
miris auth oauth -p email
API Key
If you have an API key from the Miris Portal, you can authenticate directly:
miris auth apikey
Table of Contents
Authentication Commands
Overview
Commands for account authentication
miris auth
Description: Commands for account authentication
Usage: miris auth [command]
Available Commands:
apikey- Set API Key for authentication usageoauth- Commands for OAuth authentication
miris auth apikey
Description: Set the API Key used for authenticating with the Miris service.
Usage: miris auth apikey [flags]
Flags:
-h, --help- Help for apikey
miris auth oauth
Description: Authenticate using OAuth providers.
Usage: miris auth oauth [flags]
Authentication Flow:
- Run the command (optionally specify a provider with
-pflag) - If no provider is specified, you'll be prompted to select from available providers:
- The command will output an authentication URL
- Copy the URL and paste it into your browser
- Complete the login flow in your browser
- Upon successful authentication, your API key will be configured
Flags:
-h, --help- Help for oauth-p, --provider string- Auth provider (optional - if not provided, you'll be prompted to select from available providers)
Available Providers:
email- Email-based authenticationgoogle- Google OAuth authentication
Examples:
# Interactive mode - select provider from prompt
miris auth oauth
# Authenticate with Google using flag
miris auth oauth -p google
# Authenticate with Email using long flag
miris auth oauth --provider email
Steps to Complete OAuth:
- Run the command with your chosen provider
- Copy the provided authentication URL from the terminal output
- Paste the URL into your web browser
- Complete the OAuth login flow with your selected provider
- After successful authentication, your credentials will be saved
Streaming Asset Management
Overview
Upload, list, get and update streamable assets.
miris asset
Description: Manage asset-related operations
Usage: miris asset [command]
Available Commands:
upload- Upload content for conversion to streamable assetslist- List all assetsget- Get asset detailsupdate- Update asset detailsbulk-update- Bulk update tags for multiple assetsdelete- Delete an asset
miris asset upload
Description: Upload content files that you want to be converted into streamable assets using Miris.
The <path> argument specifies the local file or directory to upload.
Usage: miris asset upload <path> [flags]
Flags:
-h, --help- Help for upload-n, --name string- Name of uploaded content-o, --output string- Output format (Default: human-readable) (default "human-readable")-r, --recursive- Recursively upload files in directories (default true)-t, --tags string- Comma-separated list of tags for the uploaded content
miris asset list
Description: List all streaming assets.
Usage: miris asset list [flags]
Flags:
-h, --help- Help for list-n, --name string- Filter assets by name-o, --order string- Optional: Sort order: asc or desc (default: desc)-p, --plain- Output plain text to stdout-s, --sort string- Optional: Sort by field: created_at, updated_at, or name (default: created_at)-t, --tags stringArray- Filter assets by tags
miris asset get
Description: Get detailed information about a specific streaming asset.
The <asset-id> argument specifies the UUID of the asset to retrieve.
Usage: miris asset get <asset-id> [flags]
Flags:
-h, --help- Help for get
miris asset update
Description: Update information about a specific streaming asset.
Usage: miris asset update <asset-id> [flags]
Flags:
--add-tags stringArray- Add tags to the asset--del-tags stringArray- Delete tags from the asset-h, --help- Help for update--name string- Set the name for the asset--set-tags stringArray- Set tags for the asset
Examples:
# Update asset name
miris asset update <asset-id> --name "New Name"
# Add tags to existing tags
miris asset update <asset-id> --add-tags tag1 --add-tags tag2
# Remove tags from existing tags
miris asset update <asset-id> --del-tags old-tag
# Replace all tags
miris asset update <asset-id> --set-tags new-tag1 --set-tags new-tag2
# Add and remove tags in one operation
miris asset update <asset-id> --add-tags new-tag --del-tags old-tag
# Update multiple fields
miris asset update <asset-id> --name "New Name" --add-tags tag1
miris asset bulk-update
Description: Update tags for multiple assets by IDs or tag filters.
Usage: miris asset bulk-update [flags]
Flags:
--add-tags stringArray- Add tags to existing tags--del-tags stringArray- Remove tags from existing tags-h, --help- Help for bulk-update--set-tags stringArray- Replace all tags with these tags--tags stringArray- Filter assets by tags (to find assets to update)--uuids stringArray- Asset IDs to update
Examples:
# Update specific assets by UUID
miris asset bulk-update --uuids <uuid1> --uuids <uuid2> --add-tags newtag
# Update assets matching tags filter
miris asset bulk-update --tags production --tags video --add-tags archived
# Replace all tags for matching assets
miris asset bulk-update --uuids <uuid> --set-tags final --set-tags approved
# Add and remove tags in one operation
miris asset bulk-update --tags draft --add-tags reviewed --del-tags pending
# Combine UUID and tag filters
miris asset bulk-update --uuids <uuid> --tags production --add-tags processed
miris asset delete
Description: Delete a specific streaming asset.
SAFETY REQUIREMENT: You must provide the --name flag with the exact asset name as it appears in the database. This is a safety measure to prevent accidental deletions.
The command will:
- Fetch the asset details
- Verify the provided name matches exactly
- Delete the asset if the name matches
NOTE: The actual asset files will not be deleted immediately from our CDN, but the asset will no longer be available through the API. Please contact Miris support if you need to undelete an asset.
Usage: miris asset delete <asset-id> [flags]
Flags:
-h, --help- Help for delete-n, --name string- Name of the asset (required - must match exactly for safety)
Examples:
# Delete an asset (will verify name matches)
miris asset delete 123e4567-e89b-12d3-a456-426614174000 --name "My Asset"
# Using abbreviated flag
miris asset delete 123e4567-e89b-12d3-a456-426614174000 -n "My Asset"
Viewer Key Management
Overview
Commands for creating, listing, and managing viewer keys.
miris viewerkey
Description: Commands for creating, listing, and deleting viewer keys.
Usage: miris viewerkey [command]
Available Commands:
create- Create a new viewer keylist- List all viewer keysupdate- Update a viewer keydelete- Delete a viewer keyrevoke- Revoke a viewer key
miris viewerkey create
Description: Create a new viewer key for accessing streaming assets.
Usage: miris viewerkey create [flags]
Flags:
-e, --expires-at string- Expiration date for the viewer key in RFC3339 format (e.g., 2025-12-31T23:59:59Z or 2025-12-31T23:59:59+00:00)-h, --help- Help for create-n, --name string- Name to identify viewer asset key
miris viewerkey list
Description: List all existing viewer keys for accessing streaming assets.
Usage: miris viewerkey list [flags]
Flags:
-a, --all- List all viewer keys, including expired ones-h, --help- Help for list
miris viewerkey update
Description: Update an existing viewer key's properties by its ID.
Usage: miris viewerkey update <uuid> [flags]
Flags:
-e, --expires-at string- (Optional) new expiration date in RFC3339 format (e.g., 2025-12-31T23:59:59Z or 2025-12-31T23:59:59+00:00)-h, --help- Help for update-n, --name string- (Optional) new name for the viewer key--reactivate- (Optional) reactivate a revoked viewer key
miris viewerkey delete
Description: Delete an existing viewer key by its ID.
The <viewer-key-id> argument specifies the UUID of the viewer key to delete.
Usage: miris viewerkey delete <viewer-key-id> [flags]
Flags:
-h, --help- Help for delete
miris viewerkey revoke
Description: Revoke an existing viewer key by its ID.
The <viewer-key-id> argument specifies the UUID of the viewer key to revoke.
Usage: miris viewerkey revoke <viewer-key-id> [flags]
Flags:
-h, --help- Help for revoke
Global Flags
Usage: miris [command] [flags]
Global Flags:
-h, --help- Help for miris-v, --version- Version for miris
Additional Commands
miris help
Description: Help about any command
Usage: miris help [command]
miris completion
Description: Generate the autocompletion script for the specified shell
Usage: miris completion [flags]
Command Summary Table
| Category | Command | Subcommand | Description |
|---|---|---|---|
| Authentication | auth | apikey | Set API Key for authentication |
| Authentication | auth | oauth | OAuth authentication |
| Asset Management | asset | upload | Upload content for conversion |
| Asset Management | asset | list | List all assets |
| Asset Management | asset | get | Get asset details |
| Asset Management | asset | update | Update asset details |
| Asset Management | asset | bulk-update | Bulk update tags |
| Asset Management | asset | delete | Delete an asset |
| Viewer Keys | viewerkey | create | Create a new viewer key |
| Viewer Keys | viewerkey | list | List all viewer keys |
| Viewer Keys | viewerkey | update | Update viewer key properties |
| Viewer Keys | viewerkey | delete | Delete a viewer key |
| Viewer Keys | viewerkey | revoke | Revoke a viewer key |