Endpoint
Authentication
Requires a Personal API Access Token.Header
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer | Yes |
| Content-Type | application/json | Yes |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name (can be “admin” for admin project) |
| name | string | Yes | Environment variable name (unique identifier) |
Request Body
Full JSON Body Example - Global Environment Variable
Full JSON Body Example - Environment-Specific Variable
Full JSON Body Example - Environment-Specific with Secret Values
Request Body Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | Yes | - | Environment variable name (must match path parameter) |
| description | string | No | - | Environment variable description |
| global | boolean | No | false | Whether the variable is global (true) or environment-specific (false) |
| globalValue | string|null | No | null | Global value (required if global=true) |
| globalVisible | boolean | No | true | Whether global value is visible (not secret) |
| environmentValueList | array[object]|null | No | null | List of environment-specific values (required if global=false). See Environment Value Object |
Environment Value Object (environmentValueList)
| Field | Type | Required | Description | |
|---|---|---|---|---|
| environmentName | string | Yes | Environment name | |
| value | string | Yes | Value for this environment | |
| visible | boolean | No | false | Whether the value is visible (not secret) |
Notes
namein path must matchnamein bodynamemust be unique within the project- If
global=true, provideglobalValueand setenvironmentValueList=null - If
global=false, provideenvironmentValueListwith at least one environment value visible=falsemarks the value as secret (will be masked in responses)globalVisible=falsemarks the global value as secret- Variable is automatically deployed to all environments after creation
Response
Success Response (200 OK)
Error Response (400 Bad Request)
Common Causes
- Missing or empty
namefield - Name in path does not match name in body
- Environment variable name already exists
- Invalid global/environment-specific configuration
cURL Example
Example 1: Create Global Environment Variable
Example 2: Create Environment-Specific Variable
Permissions
User must haveSECRETS + MANAGE permission in the project. For deployment operations (when deploying environment variables to environments), user must also have SECRETS + DEPLOY_UNDEPLOY permission.
Notes and Warnings
-
Name Uniqueness:
- Environment variable name must be unique within the project
- If name already exists, creation will fail
-
Name Matching:
- Name in path must match name in body
- Case-insensitive matching
-
Global vs Environment-Specific:
global=true- Single value for all environmentsglobal=false- Different values per environment
-
Secret Values:
- Set
visible=falseorglobalVisible=falseto mark values as secret - Secret values are masked (returned as
null) in responses
- Set
-
Environment Names:
- Environment names must exist
- Use
environmentName(notenvironmentId)
-
Automatic Deployment:
- Variable is automatically deployed to all environments
- Deployment results are returned in the response
-
For deployment operations (when deploying environment variables to environments), user must also have
SECRETS+DEPLOY_UNDEPLOYpermission- User must have access to the project
Related Documentation
- List Environment Variables - List all environment variables
- Update Environment Variable - Update an environment variable

