2.5 KiB
Executable File
layout | page_title | sidebar_current | description |
---|---|---|---|
api | API Documentation | docs-enterprise-api | Terraform Enterprise provides an API for a **subset of features**. |
Terraform Enterprise API Documentation
Terraform Enterprise provides an API for a subset of features available. For questions or requests for new API features please email support@hashicorp.com.
Available Endpoints Terraform Enterprise
Authentication
All requests must be authenticated with an X-Atlas-Token
HTTP header. This
token can be generated or revoked on the account tokens page.
Your token will have access to all resources your account has access to.
For organization level resources, we recommend creating a separate user account that can be added to the organization with the specific privilege level required.
Response Codes
Standard HTTP response codes are returned. 404 Not Found
codes are returned for all resources that a user does not have access to,
as well as for resources that don't exist. This is done to avoid a
potential attacker discovering the existence of a resource.
Errors
Errors are returned in JSON format:
{
"errors": {
"name": [
"has already been taken"
]
}
}
Versioning
The API currently resides under the /v1
prefix. Future APIs
will increment this version leaving the /v1
API intact, though
in the future certain features may be deprecated. In that case,
ample notice to migrate to the new API will be provided.
Content Type
The API accepts namespaced attributes in either
JSON or application/x-www-form-urlencoded
. We recommend
using JSON, but for simplicity form style requests are supported.
Below is an equivalent example with both styles using curl
.
JSON Request Example
$ 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"
Form URL Encoded Example
$ curl %{ATLAS_URL}/api/v1/environments/%{DEFAULT_USERNAME}/test/variables \
-X PUT \
-d variables[foo]='bar' \
-d variables[desired_capacity]='15' \
-H "X-Atlas-Token: $ATLAS_TOKEN"