Skip to main content

Miris CLI Documentation

Experimental

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

  1. Authentication Commands
  2. Streaming Asset Management
  3. Viewer Key Management

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 usage
  • oauth - 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:

  1. Run the command (optionally specify a provider with -p flag)
  2. If no provider is specified, you'll be prompted to select from available providers:
    • Email
    • Google
  3. The command will output an authentication URL
  4. Copy the URL and paste it into your browser
  5. Complete the login flow in your browser
  6. 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 authentication
  • google - 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:

  1. Run the command with your chosen provider
  2. Copy the provided authentication URL from the terminal output
  3. Paste the URL into your web browser
  4. Complete the OAuth login flow with your selected provider
  5. 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 assets
  • list - List all assets
  • get - Get asset details
  • update - Update asset details
  • bulk-update - Bulk update tags for multiple assets
  • delete - 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:

  1. Fetch the asset details
  2. Verify the provided name matches exactly
  3. 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 key
  • list - List all viewer keys
  • update - Update a viewer key
  • delete - Delete a viewer key
  • revoke - 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

CategoryCommandSubcommandDescription
AuthenticationauthapikeySet API Key for authentication
AuthenticationauthoauthOAuth authentication
Asset ManagementassetuploadUpload content for conversion
Asset ManagementassetlistList all assets
Asset ManagementassetgetGet asset details
Asset ManagementassetupdateUpdate asset details
Asset Managementassetbulk-updateBulk update tags
Asset ManagementassetdeleteDelete an asset
Viewer KeysviewerkeycreateCreate a new viewer key
Viewer KeysviewerkeylistList all viewer keys
Viewer KeysviewerkeyupdateUpdate viewer key properties
Viewer KeysviewerkeydeleteDelete a viewer key
Viewer KeysviewerkeyrevokeRevoke a viewer key