---
layout: "api"
page_title: "Environments API"
sidebar_current: "docs-enterprise-api-environments"
description: |-
Environments represent running infrastructure managed by Terraform.
---
# Environments API
Environments represent running infrastructure managed by Terraform.
Environments can also be connected to Consul clusters.
This documentation covers the environment interactions with Terraform.
### Environment Attributes
Attribute |
Description |
Required |
variables |
A key/value map of Terraform variables to be updated. Existing
variables will only be removed when their value is empty. Variables
of the same key will be overwritten. |
Yes |
Note: Only string variables can be updated via the API currently.
Creating or updating HCL variables is not yet supported.
### Actions
The following actions can be performed on this resource.
- Update variables
- PUT /api/v1/environments/:username/:name/variables
### Examples
#### Updating Terraform variables
Updates the Terraform variables for an environment. Due to the sensitive nature
of variables, they will not returned on success.
$ cat variables.json
{
"variables": {
"desired_capacity": "15",
"foo": "bar"
}
}
$ curl %{ATLAS_URL}/api/v1/environments/%{DEFAULT_USERNAME}/test/variables \
-X PUT \
-H 'Content-Type: application/json' \
-d @variables.json \
-H "X-Atlas-Token: $ATLAS_TOKEN"