MRT Commands
Commands for managing Managed Runtime (MRT) projects, environments, and bundles for PWA Kit storefronts.
Command Overview
| Topic | Commands | Description |
|---|---|---|
mrt org | list, b2c | List organizations and B2C connections |
mrt project | list, create, get, update, delete | Manage MRT projects |
mrt project member | list, add, get, update, remove | Manage project members |
mrt project notification | list, create, get, update, delete | Manage deployment notifications |
mrt env | list, create, get, update, delete, invalidate, b2c | Manage environments |
mrt env var | list, set, push, delete | Manage environment variables |
mrt env redirect | list, create, delete, clone | Manage URL redirects |
mrt env access-control | list | Manage access control headers |
mrt bundle | deploy, list, history, download | Manage bundles and deployments |
mrt tail-logs | Tail real-time application logs | |
mrt save-credentials | Save MRT credentials to ~/.mobify | |
mrt user | profile, api-key, email-prefs | Manage user settings |
Global MRT Flags
These flags are available on all MRT commands:
| Flag | Environment Variable | Description |
|---|---|---|
--api-key | MRT_API_KEY | MRT API key |
--project, -p | MRT_PROJECT | MRT project slug |
--environment, -e | MRT_ENVIRONMENT | Target environment (e.g., staging, production). MRT_TARGET also supported. |
Configuration Sources
MRT commands resolve configuration in the following order of precedence:
- Command-line flags
- Environment variables
dw.jsonfile (mrtProject,mrtEnvironmentfields)~/.mobifyconfig file (forapi_key)
Authentication
MRT commands use API key authentication. The API key is configured in the Managed Runtime dashboard.
Getting an API Key
- Log in to the Managed Runtime dashboard
- Navigate to Account Settings > API Keys
- Copy your API key (or generate one if you haven't already)
Configuration
Provide the API key via one of these methods:
- Save credentials (recommended):
b2c mrt save-credentials --user you@example.com --api-key your-api-key - Command-line flag:
--api-key your-api-key - Environment variable:
export MRT_API_KEY=your-api-key
For complete setup instructions, see the Authentication Guide.
Organization Commands
b2c mrt org list
List organizations you have access to.
b2c mrt org list
b2c mrt org list --jsonb2c mrt org b2c
Get B2C Commerce instances connected to an organization.
b2c mrt org b2c my-organization
b2c mrt org b2c my-organization --jsonProject Commands
b2c mrt project list
List MRT projects.
b2c mrt project list
b2c mrt project list --limit 10 --offset 0
b2c mrt project list --jsonb2c mrt project create
Create a new MRT project.
b2c mrt project create my-storefront --name "My Storefront"
b2c mrt project create my-storefront --name "My Storefront" --organization my-orgb2c mrt project get
Get details of an MRT project.
b2c mrt project get my-storefront
b2c mrt project get my-storefront --jsonb2c mrt project update
Update an MRT project. The project slug is provided as a positional argument; at least one of --name, --url, or --region must be supplied.
b2c mrt project update my-storefront --name "Updated Name"
b2c mrt project update my-storefront --region us-east-1
b2c mrt project update my-storefront --url https://www.example.comb2c mrt project delete
Delete an MRT project. The project slug is provided as a positional argument.
b2c mrt project delete my-storefront
b2c mrt project delete my-storefront --forceProject Member Commands
b2c mrt project member list
List members of an MRT project.
b2c mrt project member list --project my-storefront
b2c mrt project member list -p my-storefront --jsonb2c mrt project member add
Add a member to an MRT project. The role is provided as an integer.
b2c mrt project member add user@example.com --project my-storefront --role 0
b2c mrt project member add user@example.com -p my-storefront --role 1Roles:
| Value | Role |
|---|---|
0 | Admin |
1 | Developer |
2 | Marketer |
3 | Read Only |
b2c mrt project member get
Get details of a project member.
b2c mrt project member get user@example.com --project my-storefrontb2c mrt project member update
Update a project member's role. See the role table under b2c mrt project member add.
b2c mrt project member update user@example.com --project my-storefront --role 3b2c mrt project member remove
Remove a member from an MRT project.
b2c mrt project member remove user@example.com --project my-storefront
b2c mrt project member remove user@example.com -p my-storefront --forceProject Notification Commands
Configure email notifications for deployment events.
b2c mrt project notification list
List notifications for an MRT project.
b2c mrt project notification list --project my-storefrontb2c mrt project notification create
Create a deployment notification.
# Notify on deployment failures
b2c mrt project notification create -p my-storefront \
--target staging --target production \
--recipient ops@example.com \
--on-failed
# Notify on all deployment events
b2c mrt project notification create -p my-storefront \
--target production \
--recipient team@example.com \
--on-start --on-success --on-failedb2c mrt project notification get
Get details of a notification.
b2c mrt project notification get abc-123 --project my-storefrontb2c mrt project notification update
Update a notification.
b2c mrt project notification update abc-123 -p my-storefront --on-start --no-on-failedb2c mrt project notification delete
Delete a notification.
b2c mrt project notification delete abc-123 --project my-storefront
b2c mrt project notification delete abc-123 -p my-storefront --forceEnvironment Commands
b2c mrt env list
List environments in an MRT project.
b2c mrt env list --project my-storefront
b2c mrt env list -p my-storefront --jsonb2c mrt env create
Create a new environment.
# Create a staging environment
b2c mrt env create staging --project my-storefront --name "Staging Environment"
# Create a production environment in a specific region
b2c mrt env create production -p my-storefront --name "Production" \
--production --region eu-west-1
# Create with external hostname
b2c mrt env create prod -p my-storefront --name "Production" \
--production \
--external-hostname www.example.com \
--external-domain example.comFlags:
| Flag | Description |
|---|---|
--name, -n | Display name (required) |
--region, -r | AWS region for SSR |
--production | Mark as production |
--hostname | Hostname pattern for V8 Tag |
--external-hostname | Full external hostname |
--external-domain | External domain for SSR |
--allow-cookies | Forward HTTP cookies |
--enable-source-maps | Enable source maps |
--proxy | Proxy configuration in format path=host (repeatable) |
--wait, -w | Wait for the environment to be ready before returning |
--poll-interval | Polling interval in seconds when using --wait |
--timeout | Maximum time to wait in seconds when using --wait (0 for no timeout) |
b2c mrt env get
Get environment details.
b2c mrt env get --project my-storefront --environment staging
b2c mrt env get -p my-storefront -e production --jsonb2c mrt env update
Update an environment.
b2c mrt env update -p my-storefront -e staging --name "Updated Staging"
b2c mrt env update -p my-storefront -e production --allow-cookiesb2c mrt env delete
Delete an environment.
b2c mrt env delete staging --project my-storefront
b2c mrt env delete old-env -p my-storefront --forceb2c mrt env clone
Clone an environment from an existing source environment. The new target receives the source's configuration (excluding proxies and the production flag) and is automatically deployed with the source target's current bundle (if any). Optionally clones redirects, environment variables, and B2C target info.
The source environment is the one selected by --environment / -e (or MRT_ENVIRONMENT / mrtEnvironment in dw.json). The positional argument is the new environment's slug.
# Clone the configured environment into a new slug
b2c mrt env clone staging-copy -p my-storefront -e staging
# Clone with redirects and environment variables
b2c mrt env clone qa -p my-storefront -e staging --clone-redirects --clone-env-vars
# Clone using a custom domain certificate
b2c mrt env clone qa -p my-storefront -e staging \
--external-hostname qa.example.com --certificate-id 123 --wait| Flag | Description |
|---|---|
--environment, -e | Source environment slug (defaults to mrtEnvironment / MRT_ENVIRONMENT) |
--external-hostname | Full external hostname (required for non-MRT-managed certificates) |
--external-domain | External domain for Universal PWA SSR |
--certificate-id | Certificate ID for custom domain (use b2c mrt org cert list to find) |
--clone-redirects | Clone redirects from the source environment |
--clone-env-vars | Clone environment variables from the source environment |
--clone-b2c-info | Clone B2C target info from the source environment |
--wait, -w | Wait for the new environment to reach a terminal state |
b2c mrt env invalidate
Invalidate CDN cache for an environment. The --pattern flag is required and accepts a path pattern (use /* to invalidate everything).
# Invalidate all cached content
b2c mrt env invalidate -p my-storefront -e production --pattern "/*"
# Invalidate a specific path
b2c mrt env invalidate -p my-storefront -e production --pattern "/products/*"b2c mrt env b2c
Get or update B2C Commerce connection for an environment.
# Get current B2C configuration
b2c mrt env b2c -p my-storefront -e production
# Set B2C instance connection
b2c mrt env b2c -p my-storefront -e production --instance-id aaaa_prd
# Set B2C instance with specific sites
b2c mrt env b2c -p my-storefront -e production --instance-id aaaa_prd --sites RefArch,SiteGenesisEnvironment Variable Commands
b2c mrt env var list
List environment variables.
b2c mrt env var list --project my-storefront --environment production
b2c mrt env var list -p my-storefront -e staging --jsonb2c mrt env var set
Set environment variables.
# Set a single variable
b2c mrt env var set MY_VAR=value -p my-storefront -e production
# Set multiple variables
b2c mrt env var set API_KEY=secret DEBUG=true -p my-storefront -e staging
# Set value with spaces
b2c mrt env var set "MESSAGE=hello world" -p my-storefront -e productionb2c mrt env var push
Push variables from a local .env file to the environment. Diffs the local file against the remote state, prints a summary (added / updated / unchanged / remote-only), and prompts for confirmation before applying. Remote-only variables are not deleted.
| Flag | Description | Default |
|---|---|---|
--file, -f | Path to the .env file to push | .env |
--exclude-prefix | Exclude variables whose keys start with this prefix (repeatable) | MRT_ |
--yes, -y | Skip confirmation prompt | false |
# Push variables from ./.env, with confirmation prompt
b2c mrt env var push -p my-storefront -e production
# Push from a custom file, skipping the confirmation prompt
b2c mrt env var push -p my-storefront -e staging --file config/.env --yes
# Exclude additional prefixes (MRT_ is always excluded by default)
b2c mrt env var push -p my-storefront -e staging --exclude-prefix INTERNAL_TIP
The MRT_ prefix is excluded by default because those variables (MRT_PROJECT, MRT_ENVIRONMENT, MRT_API_KEY) configure the CLI itself rather than the environment.
b2c mrt env var delete
Delete an environment variable.
b2c mrt env var delete MY_VAR -p my-storefront -e productionURL Redirect Commands
b2c mrt env redirect list
List URL redirects for an environment.
b2c mrt env redirect list -p my-storefront -e production
b2c mrt env redirect list -p my-storefront -e production --limit 50b2c mrt env redirect create
Create a URL redirect.
| Flag | Description | Default |
|---|---|---|
--from | Source path (required) | — |
--to | Destination path (required) | — |
--status | HTTP status code (301 or 302) | 301 |
--forward-querystring | Forward query string parameters | false |
--forward-wildcard | Forward the wildcard portion of the path | false |
# Permanent redirect (default — 301)
b2c mrt env redirect create -p my-storefront -e production \
--from "/old-path" --to "/new-path"
# Temporary redirect
b2c mrt env redirect create -p my-storefront -e production \
--from "/legacy/*" --to "/modern/$1" --status 302 --forward-wildcardb2c mrt env redirect delete
Delete a URL redirect by its source path.
b2c mrt env redirect delete "/old-path" -p my-storefront -e production
b2c mrt env redirect delete "/old-path" -p my-storefront -e production --forceb2c mrt env redirect clone
Clone redirects from one environment to another within the same project.
b2c mrt env redirect clone -p my-storefront --from staging --to production
b2c mrt env redirect clone -p my-storefront --from staging --to production --forceAccess Control Commands
b2c mrt env access-control list
List access control headers for an environment.
b2c mrt env access-control list -p my-storefront -e staging
b2c mrt env access-control list -p my-storefront -e staging --jsonBundle Commands
b2c mrt bundle deploy
Push a local build or deploy an existing bundle.
# Push local build to project
b2c mrt bundle deploy --project my-storefront
# Push and deploy to staging
b2c mrt bundle deploy -p my-storefront -e staging
# Push with release message
b2c mrt bundle deploy -p my-storefront -e production --message "Release v1.0.0"
# Push from custom build directory
b2c mrt bundle deploy -p my-storefront --build-dir ./dist
# Deploy existing bundle by ID
b2c mrt bundle deploy 12345 -p my-storefront -e production
# Deploy and wait for completion
b2c mrt bundle deploy -p my-storefront -e staging --waitFlags:
| Flag | Description | Default |
|---|---|---|
--message, -m | Bundle message/description | |
--build-dir, -b | Path to build directory | build |
--ssr-only | Server-only file patterns | ssr.js,ssr.mjs,server/**/* |
--ssr-shared | Shared file patterns | static/**/*,client/**/* |
--node-version, -n | Node.js version for SSR | 22.x |
--ssr-param | SSR parameters (key=value) | |
--wait, -w | Wait for the deployment to complete before returning | false |
--poll-interval | Polling interval in seconds when using --wait | 30 |
--timeout | Maximum time to wait in seconds when using --wait (0 for no timeout) | 600 |
b2c mrt bundle list
List bundles in a project.
b2c mrt bundle list --project my-storefront
b2c mrt bundle list -p my-storefront --limit 10
b2c mrt bundle list -p my-storefront --jsonb2c mrt bundle history
View deployment history for an environment.
b2c mrt bundle history -p my-storefront -e production
b2c mrt bundle history -p my-storefront -e staging --limit 5b2c mrt bundle download
Download a bundle artifact.
# Download to current directory
b2c mrt bundle download 12345 -p my-storefront
# Download to specific path
b2c mrt bundle download 12345 -p my-storefront -o ./artifacts/bundle.tgz
# Get download URL only
b2c mrt bundle download 12345 -p my-storefront --url-onlyb2c mrt bundle delete
Delete one or more bundles. Bundles are deleted asynchronously by the server and only project admins can run this command. With more than one bundle ID the CLI uses the bulk-delete endpoint and reports any rejected bundles (e.g. bundles in use by an active deployment).
# Delete a single bundle
b2c mrt bundle delete 12345 -p my-storefront
# Delete several at once
b2c mrt bundle delete 12345 12346 12347 -p my-storefront
# Skip the confirmation prompt
b2c mrt bundle delete 12345 -p my-storefront --forceOrganization Member Commands
Organization members are distinct from project members: they hold a role at the organization level and can optionally be granted permission to view all projects and manage custom domain certificates.
b2c mrt org member list
b2c mrt org member list --org my-org
b2c mrt org member list --org my-org --search aliceb2c mrt org member add
Roles: owner or member.
b2c mrt org member add alice@example.com --org my-org --role member
b2c mrt org member add bob@example.com --org my-org --role owner --view-all-projectsb2c mrt org member get
b2c mrt org member get alice@example.com --org my-orgb2c mrt org member update
b2c mrt org member update alice@example.com --org my-org --view-all-projects
b2c mrt org member update alice@example.com --org my-org --no-cert-permissionb2c mrt org member remove
b2c mrt org member remove alice@example.com --org my-orgOrganization Certificate Commands
Manage custom domain certificates for environments that use a non-MRT-managed hostname. Certificates are organization-scoped; reference a certificate from env create, env update, or env clone via --certificate-id.
b2c mrt org cert list
b2c mrt org cert list --org my-org
b2c mrt org cert list --org my-org --custom-onlyb2c mrt org cert get
Returns the validation record (the DNS entry the customer must add to validate the certificate).
b2c mrt org cert get 123 --org my-orgb2c mrt org cert create
b2c mrt org cert create shop.example.com --org my-orgThe output includes the validation record. Add it to your DNS to complete validation.
b2c mrt org cert delete
b2c mrt org cert delete 123 --org my-orgb2c mrt org cert restart-validation
Restart validation for a certificate that has not yet been validated. The response includes a fresh validation record.
b2c mrt org cert restart-validation 123 --org my-orgTail Logs
b2c mrt tail-logs
Tail application logs from a Managed Runtime environment in real time. Connects via WebSocket and streams log entries until interrupted with Ctrl+C.
# Tail all logs
b2c mrt tail-logs -p my-storefront -e staging
# Filter by log level
b2c mrt tail-logs -p my-storefront -e production --level ERROR --level WARN
# Search with regex pattern
b2c mrt tail-logs -p my-storefront -e staging --search "timeout"
# Search with OR pattern
b2c mrt tail-logs -p my-storefront -e staging --search "GET|POST"
# Output as JSON
b2c mrt tail-logs -p my-storefront -e staging --jsonFlags:
| Flag | Description |
|---|---|
--level | Filter by log level (ERROR, WARN, INFO, DEBUG, etc.). Repeatable for multiple levels. |
--search, -g | Filter entries matching a regex pattern (case-insensitive) |
--no-color | Disable colored output |
Save Credentials
b2c mrt save-credentials
Save MRT credentials (username and API key) to the ~/.mobify file. Prompts for confirmation before overwriting an existing file.
# Save credentials
b2c mrt save-credentials --user user@example.com --api-key abc123
# Overwrite without confirmation
b2c mrt save-credentials --user user@example.com --api-key abc123 --yes
# Save to a custom credentials file
b2c mrt save-credentials --user user@example.com --api-key abc123 --credentials-file ./my-creds
# Save for a specific cloud origin (writes to ~/.mobify--<hostname>)
b2c mrt save-credentials --user user@example.com --api-key abc123 --cloud-origin https://cloud-staging.example.comFlags:
| Flag | Description |
|---|---|
--user | MRT username (email). Required. |
--api-key | MRT API key. Required. |
--cloud-origin | MRT cloud origin URL. Determines the credentials file path (e.g., ~/.mobify--<hostname>). |
--credentials-file | Explicit path to credentials file (overrides default ~/.mobify). |
--yes, -y | Overwrite existing credentials without confirmation. |
User Commands
b2c mrt user profile
View your MRT user profile.
b2c mrt user profile
b2c mrt user profile --jsonb2c mrt user api-key
Reset your MRT API key. The current key is invalidated immediately — running this command without --yes prompts for confirmation. The new key is printed once; copy it and update any saved credentials.
b2c mrt user api-key
b2c mrt user api-key --yes
b2c mrt user api-key --jsonb2c mrt user email-prefs
View or update email notification preferences. With no flags the command prints the current preferences; pass --node-deprecation to enable Node.js deprecation notifications, or --no-node-deprecation to disable them.
# View current preferences
b2c mrt user email-prefs
# Enable Node.js deprecation notifications
b2c mrt user email-prefs --node-deprecation
# Disable them
b2c mrt user email-prefs --no-node-deprecationCommon Workflows
Deploy to Production
# 1. Push and deploy to staging for testing
b2c mrt bundle deploy -p my-storefront -e staging -m "v1.0.0-rc1"
# 2. After testing, deploy to production
b2c mrt bundle deploy -p my-storefront -e production -m "v1.0.0"
# 3. Or deploy an existing bundle
b2c mrt bundle deploy 12345 -p my-storefront -e productionSet Up a New Environment
# 1. Create the environment
b2c mrt env create qa -p my-storefront --name "QA Environment" --region us-east-1
# 2. Configure environment variables
b2c mrt env var set API_URL=https://api.qa.example.com -p my-storefront -e qa
# 3. Deploy a bundle
b2c mrt bundle deploy -p my-storefront -e qaInvalidate Cache After Content Update
# Invalidate a specific path pattern
b2c mrt env invalidate -p my-storefront -e production --pattern "/products/*"