Ana içeriğe atla

Endpoint

POST /apiops/projects/{projectName}/environmentVariables/{name}/

Authentication

Requires a Personal API Access Token.
Authorization: Bearer YOUR_TOKEN

Request

Headers

HeaderValueRequired
AuthorizationBearer Yes
Content-Typeapplication/jsonYes

Path Parameters

ParameterTypeRequiredDescription
projectNamestringYesProject name (can be “admin” for admin project)
namestringYesEnvironment variable name (unique identifier)

Request Body

Full JSON Body Example - Global Environment Variable

{
  "name": "API_KEY",
  "description": "API Key for external service",
  "global": true,
  "globalValue": "secret-api-key-12345",
  "globalVisible": false,
  "environmentValueList": null
}

Full JSON Body Example - Environment-Specific Variable

{
  "name": "API_BASE_URL",
  "description": "Base URL for API calls",
  "global": false,
  "globalValue": null,
  "globalVisible": true,
  "environmentValueList": [
    {
      "environmentName": "production",
      "value": "https://api.production.example.com",
      "visible": true
    },
    {
      "environmentName": "staging",
      "value": "https://api.staging.example.com",
      "visible": true
    },
    {
      "environmentName": "development",
      "value": "https://api.dev.example.com",
      "visible": true
    }
  ]
}

Full JSON Body Example - Environment-Specific with Secret Values

{
  "name": "DATABASE_PASSWORD",
  "description": "Database password",
  "global": false,
  "globalValue": null,
  "globalVisible": true,
  "environmentValueList": [
    {
      "environmentName": "production",
      "value": "prod-secret-password",
      "visible": false
    },
    {
      "environmentName": "staging",
      "value": "staging-secret-password",
      "visible": false
    }
  ]
}

Request Body Fields

FieldTypeRequiredDefaultDescription
namestringYes-Environment variable name (must match path parameter)
descriptionstringNo-Environment variable description
globalbooleanNofalseWhether the variable is global (true) or environment-specific (false)
globalValuestring|nullNonullGlobal value (required if global=true)
globalVisiblebooleanNotrueWhether global value is visible (not secret)
environmentValueListarray[object]|nullNonullList of environment-specific values (required if global=false). See Environment Value Object

Environment Value Object (environmentValueList)

FieldTypeRequiredDescription
environmentNamestringYesEnvironment name
valuestringYesValue for this environment
visiblebooleanNofalseWhether the value is visible (not secret)

Notes

  • name in path must match name in body
  • name must be unique within the project
  • If global=true, provide globalValue and set environmentValueList=null
  • If global=false, provide environmentValueList with at least one environment value
  • visible=false marks the value as secret (will be masked in responses)
  • globalVisible=false marks the global value as secret
  • Variable is automatically deployed to all environments after creation

Response

Success Response (200 OK)

{
  "success": true,
  "deploymentResult": {
    "success": true,
    "message": "Deployment completed successfully",
    "environmentResults": [
      {
        "environmentName": "production",
        "success": true,
        "message": "Deployed successfully"
      },
      {
        "environmentName": "staging",
        "success": true,
        "message": "Deployed successfully"
      }
    ]
  }
}

Error Response (400 Bad Request)

{
  "error": "bad_request",
  "error_description": "Environment variable name can not be empty!"
}
or
{
  "error": "bad_request",
  "error_description": "Environment variable name in path (API_KEY) does not match name in body (API_BASE_URL)!"
}
or
{
  "error": "bad_request",
  "error_description": "Environment variable (name: API_KEY) already exists!"
}

Common Causes

  • Missing or empty name field
  • 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

curl -X POST \
  "https://demo.apinizer.com/apiops/projects/MyProject/environmentVariables/API_KEY/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "API_KEY",
    "description": "API Key for external service",
    "global": true,
    "globalValue": "secret-api-key-12345",
    "globalVisible": false
  }'

Example 2: Create Environment-Specific Variable

curl -X POST \
  "https://demo.apinizer.com/apiops/projects/MyProject/environmentVariables/API_BASE_URL/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "API_BASE_URL",
    "description": "Base URL for API calls",
    "global": false,
    "environmentValueList": [
      {
        "environmentName": "production",
        "value": "https://api.production.example.com",
        "visible": true
      },
      {
        "environmentName": "staging",
        "value": "https://api.staging.example.com",
        "visible": true
      }
    ]
  }'

Permissions

User must have SECRETS + 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 environments
    • global=false - Different values per environment
  • Secret Values:
    • Set visible=false or globalVisible=false to mark values as secret
    • Secret values are masked (returned as null) in responses
  • Environment Names:
    • Environment names must exist
    • Use environmentName (not environmentId)
  • 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_UNDEPLOY permission
    • User must have access to the project