--- title: Metabase CLI --- # Metabase CLI Metabase ships with some handy CLI commands. To view a list of commands, run the Metabase jar followed by `help`. ``` java -jar metabase.jar help ``` Metabase will print out the help text for available commands. ## `api-documentation` Generate a markdown file containing documentation for all API endpoints. This is written to a file called `docs/api-documentation.md`. ## `driver-methods` Or `driver-methods _docs`. Print a list of all multimethods available for a driver to implement, optionally with their docstrings. ## `drop-entity-ids` Drop entity IDs for instances of serializable models. Useful for migrating from v1 serialization (x.46 and earlier) to v2 (x.47+). ## `dump path & options` > This command is deprecated. Use `export` instead. Serializes Metabase instance into directory `path`. **Options:** `-u`, `--user EMAIL` Export collections owned by the specified user `-s`, `--state (active|all) all` When set to `active`, do not dump archived entities. Default behavior is `all`. ## `dump-to-h2 h2-filename & opts` Transfer data from existing database to newly created H2 DB with specified filename. Target H2 file is deleted before dump, unless the --keep-existing flag is given. **Options:** `-k`, `--keep-existing` Do not delete target H2 file if it exists. `-p`, `--dump-plaintext` Do not encrypt dumped contents. ## `environment-variables-documentation` Generates a markdown file containing documentation for environment variables relevant to configuring Metabase. The command only includes environment variables registered as defsettings. For a full list of environment variables, see [Environment variables](https://www.metabase.com/docs/latest/configuring-metabase/environment-variables). ## `export path & options` {% include plans-blockquote.html feature="Serialization" self-hosted-only="true" %} Serialize Metabase instance into directory at `path`. **Options:** `-c`, `--collection ID` Export only specified ID(s). Use commas to separate multiple IDs. `-C`, `--no-collections` Do not export any content in collections. `-S`, `--no-settings` Do not export settings.yaml `-D`, `--no-data-model` Do not export any data model entities; useful for subsequent exports. `-f`, `--include-field-values` Include field values along with field metadata. `-s`, `--include-database-secrets` Include database connection details (in plain text; use caution). ## `help` Show this help message listing valid Metabase commands. ## `import path & options` {% include plans-blockquote.html feature="Serialization" self-hosted-only="true" %} Load serialized Metabase instance as created by the export command from directory `path`. Has no options. ## `load path & options` > This command is deprecated. Use `import` instead. Load serialized Metabase instance as created by [[dump]] command from directory `path`. **Options:** `-m`, `--mode (skip|update) skip` Update or skip on conflicts. `-e`, `--on-error (continue|abort)` continue Abort or continue on error. ## `load-from-h2` Transfer data from existing H2 database to the newly created MySQL or Postgres DB specified by env vars. ``` load-from-h2 h2-connection-string ``` ## `migrate down` Used for downgrading versions. ## `profile` Start Metabase the usual way and exit. Useful for profiling Metabase launch time. ## `reset-password email-address` Reset the password for a user with `email-address`. ## `rotate-encryption-key new-key` Rotate the encryption key of a Metabase database. The `MB_ENCRYPTION_SECRET_KEY` environment variable has to be set to the current key, and the parameter `new-key` has to be the new key. `new-key` has to be at least 16 chars. ## `version` Print version information about Metabase and the current system.