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) - Deployment Successful

When the environment variable is created and successfully deployed to all environments:
{
  "status": "SUCCESS",
  "deploymentResult": {
    "success": true,
    "responseTime": 1500,
    "detailList": [
      {
        "envName": "production",
        "success": true,
        "detail": "Deployed successfully",
        "responseTime": 450
      },
      {
        "envName": "staging",
        "success": true,
        "detail": "Deployed successfully",
        "responseTime": 420
      }
    ],
    "firstFromApiResultList": {
      "envName": "production",
      "success": true,
      "detail": "Deployed successfully",
      "responseTime": 450
    }
  }
}

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

Deployment Failure Note

When status is “SUCCESS” but deploymentResult.success is false, the environment variable was created in the Manager but failed to deploy to one or more Gateway environments. Common causes:
  • Gateway not running or not reachable (e.g., “Connection refused” on port 8091)
  • Network connectivity issues between Manager and Gateway
  • Environment name mismatch or environment not configured

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