Skip to main content

CLI Reference

The Marmot CLI lets you interact with your data catalog directly from the terminal.

Looking for Ingestion?

The CLI also supports populating your catalog from data sources via the ingest command.

View Ingestion Docs

Installation

curl -fsSL get.marmotdata.io | sh

Configuration

Before using CLI commands you need to tell Marmot where your server is and how to authenticate. There are three ways to do this, listed in order of precedence: CLI flags, environment variables and config file.

CLI Flags

marmot assets list --host https://marmot.example.com --api-key my-key

Environment Variables

export MARMOT_HOST=https://marmot.example.com
export MARMOT_API_KEY=my-key

Config File

marmot config init

This creates ~/.config/marmot/config.yaml interactively. You can also use marmot config set <key> <value> to set individual values.

KeyDescriptionDefault
hostMarmot server URLhttp://localhost:8080
api_keyAPI key for authentication(none)
outputDefault output format (table, json, yaml)table

Output Formats

All commands support --output / -o with table (default), json or yaml.

marmot assets list -o json | jq '.assets[].name'

Commands

All list commands support --limit and --offset for pagination. Destructive commands prompt for confirmation unless --yes is passed. Run marmot <command> --help for full flag details.

marmot assets

marmot assets <list | get | search | delete | summary | tags | owners> [flags]

Browse, search and manage assets in your catalog. Use list and search with --types, --providers and --tags to filter results.

marmot search <query> [flags]

Unified search across assets, glossary terms, teams and users. Filter by result type with --types.

marmot glossary

marmot glossary <list | get | search | create | update | delete> [flags]

Manage glossary terms. Create terms with --name and --definition, optionally nesting them under a parent with --parent-id.

marmot runs

marmot runs <list | get | entities> [flags]

View pipeline ingestion runs. Filter with --pipelines and --statuses.

marmot lineage

marmot lineage get <asset-id> [flags]

View the upstream and downstream lineage graph for an asset. Control traversal depth with --depth.

marmot users

marmot users <me | list | get> [flags]

View user information. me shows the currently authenticated user.

marmot apikeys

marmot apikeys <list | create | delete> [flags]

Manage API keys for authentication. The full key is only shown once at creation time.

marmot teams

marmot teams <list | get | members> [flags]

View teams and their members.

marmot metrics

marmot metrics <summary | by-type | by-provider | top-assets | top-queries> [flags]

View catalog metrics and usage statistics. top-assets and top-queries require a time range via --start and --end (RFC3339 format, defaults to the last 30 days).

marmot admin

marmot admin <reindex | reindex-status>

Administrative operations. reindex triggers a full search reindex and reindex-status checks its progress.

marmot config

marmot config <init | set | get | list>

Manage CLI configuration. See Configuration above for details.


Tab Completion

Generate shell completions with marmot completion <shell>. Supported shells are bash, zsh, fish and powershell.

source <(marmot completion bash)

Next Steps

Need Help?

Join the Discord community to ask questions and connect with other Marmot users.

Join Discord