Skip to main content

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.

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.

What environments are

Environments represent named runtime targets such as production, 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 region for compute placement
  • An optional linked branch for auto-deploy
  • A dedicated secrets store
  • An isolated addon (e.g., a separate database for staging vs. production)

Creating an environment

1

Navigate to Hosting

In the Meridian dashboard, open Hosting from the left sidebar. You’ll see a list of existing environments for your app.
2

Click New environment

Click New environment in the top-right corner. A creation form appears.
3

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_region for this environment
4

Save

Click Create environment. Meridian provisions the environment and returns you to the environment list.

Via the API

Send a POST request to create a new environment:
POST /apps/:app_uuid/environments
{
  "name": "staging",
  "description": "Pre-production environment",
  "type": "staging",
  "branch": "main",
  "region": "us-central1",
  "auto_deploy": false
}
The response wraps the created environment:
{
  "env": {
    "uuid": "env_abc123",
    "name": "staging",
    "app_uuid": "app_xyz789",
    "type": "staging",
    "branch": "main",
    "region": "us-central1",
    "auto_deploy": false,
    "created_at": "2026-05-05T10:00:00Z"
  }
}
To list all environments for an app:
GET /apps/:app_uuid/environments

Environment fields reference

FieldTypeDescription
uuidstringUnique identifier for the environment
namestringHuman-readable name (e.g., "production")
app_uuidstringThe app this environment belongs to
descriptionstring (optional)Short description for your team
typestring (optional)Environment type: "production", "staging", "development"
auto_deployboolean (optional)Whether to deploy automatically on new commits to branch
branchstring (optional)Git branch this environment tracks
regionstring (optional)Cloud region for this environment
created_atstring (optional)ISO 8601 creation timestamp
updated_atstring (optional)ISO 8601 last-updated timestamp

Updating an environment

To update an existing environment’s name, branch, region, or auto-deploy settings, send a PATCH request:
PATCH /environments/:env_uuid
{
  "branch": "release/v2",
  "auto_deploy": true
}
Any fields you omit remain unchanged.

Managing secrets

Secrets are key-value pairs that your app reads as environment variables at runtime. Meridian never exposes secret values after creation — the value field is only present in the creation response.

Adding a secret to an environment

1

Open the environment

In Hosting, click the environment you want to configure.
2

Open the Secrets tab

Click the Secrets tab inside the environment detail view.
3

Add a secret

Click Add secret, enter the key and value, and click Save.

Via the API

POST /environments/:env_uuid/secrets
{
  "key": "SHOPIFY_API_SECRET",
  "value": "shpss_abc123..."
}
The response includes the value only on creation. Subsequent reads return the key and metadata but never the plaintext value:
{
  "secret": {
    "uuid": "sec_abc123",
    "key": "SHOPIFY_API_SECRET",
    "value": "shpss_abc123...",
    "env_uuid": "env_abc123",
    "created_at": "2026-05-05T10:00:00Z"
  }
}
To list all secrets for an environment (values are not returned):
GET /environments/:env_uuid/secrets
You can also manage secrets at the app level (shared across environments):
GET  /apps/:app_uuid/secrets
POST /apps/:app_uuid/secrets
To remove a secret:
DELETE /secrets/:secret_uuid
Secret values are write-once. There is no way to retrieve a value after the initial creation response. Store values in a password manager before saving them to Meridian.

Secret object reference

interface Secret {
  uuid: string;
  key: string;
  value?: string;        // only present in CreateSecretResponse
  app_uuid?: string;
  env_uuid?: string;
  created_at?: string;
  updated_at?: string;
}

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

Last modified on May 5, 2026