Project Environments

Understanding Project Environments

Each project can have its own set of environments with different variable values. This allows you to easily switch between Development, Staging, and Production without changing your endpoint configurations.

Project-Scoped

Project environments are separate from global environments. They're specific to each project and don't affect other projects or Box requests.

Project vs Global Environments

Project Environments
  • Specific to one project
  • Managed in project's Environments panel
  • Used by project endpoints
  • Can override global variables
Global Environments
  • Available everywhere
  • Managed in sidebar dropdown
  • Used by Box and regular requests
  • Can be shared with projects (via merge)

Accessing Project Environments

To open the Environments panel for a project:

1

Open Project Menu

Click the three-dot menu (⋮) next to the project name.

2

Select "Environments"

Click the "Environments" option in the dropdown.

3

Modal Opens

A modal opens with environment management.

Environments Modal

The modal shows the environment list. Select an environment to manage its variables.

Environments
Order API
DevelopmentActive
Staging
Production
Variables
baseUrl3 envs
apiKey3 envs

Managing Environments

Add Environment

Click "New Environment" and enter a name (e.g., "Development", "Staging", "Production"). Maximum 20 characters. The new environment is created with all existing variables set to empty values.

Rename Environment

Hover over an environment and click the edit icon to rename it.

Delete Environment

Hover over an environment and click the delete icon to remove it. A confirmation dialog appears. All variable values for this environment are lost.

Managing Variables

Variables are defined once but have different values for each environment.

Add Variable

Click "+ Add" in the Variables section. A modal opens where you can:

  • • Enter the variable name
  • • Set a value for each environment
Add Variable
Variable Name
baseUrl
Development
http://localhost:3000
Staging
https://staging.api.example.com
Production
https://api.example.com
Edit Variable

Click a variable name in the list to edit its values across all environments.

Delete Variable

Click the delete icon next to a variable to remove it from all environments.

Using Variables in Endpoints

Reference project environment variables using the same double-curly-brace syntax:

URL:
{{baseUrl}}/api/users
Header:
Authorization: Bearer {{apiKey}}

When you send a request, Atrahasis replaces {{baseUrl}}with the value from the active environment.

Environment Resolution Modes

Projects can use different strategies for resolving variables. Configure this in Settings → Projects.

ModeBehaviorUse Case
projectOnly project environment variablesIsolated projects with their own variables
mergeProject variables override global variablesShare common variables, override specific ones
globalOnly global environment variablesProjects that don't need their own variables

Merge Mode Example

If global has apiKey=global123 and project has apiKey=project456, the project value wins. But a global-only variable like commonHeader is still available.

Vault Integration

Project environment variables can be bound to an external HashiCorp Vaultso that sensitive values (API keys, tokens, passwords) are fetched at runtime instead of living in the environment file on disk.

How it works:

  • Configure a Vault Connection once (name, URL, auth method — token or userpass).
  • In the project environment variable row, switch the source dropdown from Manual to your vault connection, then provide the vault path and key.
  • On first use, Atrahasis prompts for vault login. The session is cached in the OS keychain until it expires.
  • On disk, only the binding (connection name + path + key) is stored. The actual secret stays in Vault and is fetched per request.

Note: OS Secret is not available for project environments

The OS Secret source (keychain-backed, used by Flow and Load Test environments) is not exposed in project environments. For sensitive values in a project, use Vault. Non-sensitive values stay as Manual.

Environment Tips

Consistent Naming

Use consistent environment names across projects (Development, Staging, Production) to make switching easier.

Base URL Variable

Always create a baseUrl variable. Use it in all endpoint URLs for easy environment switching.

Sensitive Data

For API keys, tokens, and passwords use a Vault-bound variable so the value is fetched at runtime and never written to disk. See the Vault card above.

Test Locally First

Use Development environment for local testing before switching to Staging or Production.