An environment is an isolated runtime context for your Shopify app. Each environment runs independently — with its own configuration, secrets, and deployment history — so a bad staging deploy never touches your production traffic. You can create as many environments as your platform plan allows, and each one maps to a specific branch, region, and set of secrets.Documentation Index
Fetch the complete documentation index at: https://help.the-meridian.ai/llms.txt
Use this file to discover all available pages before exploring further.
What environments are
Environments represent named runtime targets such asproduction, staging, or preview. When you deploy, you deploy to a specific environment. Meridian tracks the full deployment history per environment, so you can roll back to any previous version at any time.
Each environment has:
- Its own
regionfor compute placement - An optional linked
branchfor auto-deploy - A dedicated secrets store
- An isolated addon (e.g., a separate database for staging vs. production)
Creating an environment
Navigate to Hosting
In the Meridian dashboard, open Hosting from the left sidebar. You’ll see a list of existing environments for your app.
Fill in the environment details
Provide at minimum a
name for the environment. Optionally set:- Description — a short note for your team
- Type —
"production","staging", or"development" - Branch — the Git branch this environment tracks (used for auto-deploy)
- Region — overrides the app-level
default_regionfor this environment
Via the API
Send aPOST request to create a new environment:
Environment fields reference
| Field | Type | Description |
|---|---|---|
uuid | string | Unique identifier for the environment |
name | string | Human-readable name (e.g., "production") |
app_uuid | string | The app this environment belongs to |
description | string (optional) | Short description for your team |
type | string (optional) | Environment type: "production", "staging", "development" |
auto_deploy | boolean (optional) | Whether to deploy automatically on new commits to branch |
branch | string (optional) | Git branch this environment tracks |
region | string (optional) | Cloud region for this environment |
created_at | string (optional) | ISO 8601 creation timestamp |
updated_at | string (optional) | ISO 8601 last-updated timestamp |
Updating an environment
To update an existing environment’s name, branch, region, or auto-deploy settings, send aPATCH request:
Managing secrets
Secrets are key-value pairs that your app reads as environment variables at runtime. Meridian never exposes secret values after creation — thevalue field is only present in the creation response.
Adding a secret to an environment
Via the API
value only on creation. Subsequent reads return the key and metadata but never the plaintext value:
Secret object reference
Best practices
Separate production and staging
Never share secrets between environments. Use distinct API keys, database credentials, and Shopify credentials for each environment type.
Match branch to environment
Set the
branch field on staging to your integration branch and production to your release branch. This makes auto-deploy predictable.Use descriptive names
Name environments clearly —
production, staging, preview-feature-x — so your team always knows where a deployment is running.Clean up unused environments
Unused environments still count against your
hosting_environments plan limit. Delete environments that are no longer needed.Your platform plan’s
hosting_environments limit controls how many environments you can create. Check Settings → Plan to see your usage and limit.Next steps
- Trigger a deployment to ship code to an environment
- Set up hosting and addons to add a managed database to an environment