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 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:
Open Project Menu
Click the three-dot menu (⋮) next to the project name.
Select "Environments"
Click the "Environments" option in the dropdown.
Modal Opens
A modal opens with environment management.
Environments Modal
The modal shows the environment list. Select an environment to manage its variables.
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
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:
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.
| Mode | Behavior | Use Case |
|---|---|---|
| project | Only project environment variables | Isolated projects with their own variables |
| merge | Project variables override global variables | Share common variables, override specific ones |
| global | Only global environment variables | Projects 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.