Configuration Versions API

A configuration version represents versions of Terrraform configuration. Each set of changes to Terraform HCL files or the scripts used in the files should have an associated configuration version.

When creating versions via the API, the variables attribute can be sent to include the necessary variables for the Terraform configuration.

Configuration Version Attributes

Attribute Description Required
variables A key/value map of Terraform variables to be associated with the configuration version. No
metadata A hash of key value metadata pairs. No


The following actions can be perfomed on this resource.

POST /api/v1/terraform/configurations/:username/:name/versions
Upload progress
GET /api/v1/terraform/configurations/:username/:name/versions/progress/:token


Creating a configuration version

Creates a configuration with the provided attributes.

$ cat version.json
  "version": {
    "metadata": {
      "git_branch": "master",
      "remote_type": "atlas",
      "remote_slug": "hashicorp/atlas"
    "variables": {
      "ami_id": "ami-123456",
      "target_region": "us-east-1",
      "consul_count": "5",
      "consul_ami": "ami-123456"

$ curl \
    -X POST \
    -H "X-Atlas-Token: $ATLAS_TOKEN" \
    -H "Content-Type: application/json" \
    -d @version.json

Retrieving the progress of an upload for a configuration version

Returns upload progress for the version.

$ curl \
    -H "X-Atlas-Token: $ATLAS_TOKEN"