Terraform
- Terraform Enterprise
 - 1.0.x (latest)
 - v202507-1
 - v202506-1
 - v202505-1
 - v202504-1
 - v202503-1
 - v202502-2
 - v202502-1
 - v202501-1
 - v202411-2
 - v202411-1
 - v202410-1
 - v202409-3
 - v202409-2
 - v202409-1
 - No versions of this document exist before v202408-1. Click below to redirect to the version homepage.
 - v202408-1
 - v202407-1
 - v202406-1
 - v202405-1
 - v202404-2
 - v202404-1
 - v202402-2
 - v202402-1
 - v202401-2
 - v202401-1
 - v202312-1
 - v202311-1
 - v202310-1
 - v202309-1
 - v202308-1
 - v202307-1
 - v202306-1
 - v202305-2
 - v202305-1
 - v202304-1
 - v202303-1
 - v202302-1
 - v202301-2
 - v202301-1
 - v202212-2
 - v202212-1
 - v202211-1
 - v202210-1
 - v202209-2
 - v202209-1
 - v202208-3
 - v202208-2
 - v202208-1
 - v202207-1
 - v202206-1
 
User Tokens API
List User Tokens
GET /users/:user_id/authentication-tokens
| Parameter | Description | 
|---|---|
:user_id | The ID of the User. | 
Use the Account API to find your own user ID.
The objects returned by this endpoint only contain metadata, and do not include the secret text of any authentication tokens. A token is only shown upon creation, and cannot be recovered later.
Note: You must access this endpoint with a user token, and it will only return useful data for that token's user account.
| Status | Response | Reason | 
|---|---|---|
| 200 | JSON API document (type: "authentication-tokens") | The request was successful | 
| 200 | Empty JSON API document (no type) | User has no authentication tokens, or request was made by someone other than the user | 
| 404 | JSON API error object | User not found | 
Query Parameters
This endpoint supports pagination with standard URL query parameters. Remember to percent-encode [ as %5B and ] as %5D if your tooling doesn't automatically encode URLs.  If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results.
| Parameter | Description | 
|---|---|
page[number] | Optional. If omitted, the endpoint will return the first page. | 
page[size] | Optional. If omitted, the endpoint will return 20 user tokens per page. | 
Sample Request
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  --request GET \
  https://app.terraform.io/api/v2/users/user-MA4GL63FmYRpSFxa/authentication-tokens
Sample Response
{
  "data": [
    {
      "id": "at-QmATJea6aWj1xR2t",
      "type": "authentication-tokens",
      "attributes": {
        "created-at": "2018-11-06T22:56:10.203Z",
        "last-used-at": null,
        "description": null,
        "token": null
      },
      "relationships": {
        "created-by": {
          "data": null
        }
      }
    },
    {
      "id": "at-6yEmxNAhaoQLH1Da",
      "type": "authentication-tokens",
      "attributes": {
        "created-at": "2018-11-25T22:31:30.624Z",
        "last-used-at": "2018-11-26T20:27:54.931Z",
        "description": "api",
        "token": null
      },
      "relationships": {
        "created-by": {
          "data": {
            "id": "user-MA4GL63FmYRpSFxa",
            "type": "users"
          }
        }
      }
    }
  ]
}
Show a User Token
GET /authentication-tokens/:id
| Parameter | Description | 
|---|---|
:id | The ID of the User Token. | 
The objects returned by this endpoint only contain metadata, and do not include the secret text of any authentication tokens. A token is only shown upon creation, and cannot be recovered later.
Note: You must access this endpoint with a user token, and it will only return useful data for that token's user account.
| Status | Response | Reason | 
|---|---|---|
| 200 | JSON API document (type: "authentication-tokens") | The request was successful | 
| 404 | JSON API error object | User Token not found, or unauthorized to view the User Token | 
Sample Request
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  --request GET \
  https://app.terraform.io/api/v2/authentication-tokens/at-6yEmxNAhaoQLH1Da
Sample Response
{
  "data": {
    "id": "at-6yEmxNAhaoQLH1Da",
    "type": "authentication-tokens",
    "attributes": {
      "created-at": "2018-11-25T22:31:30.624Z",
      "last-used-at": "2018-11-26T20:34:59.487Z",
      "description": "api",
      "token": null
    },
    "relationships": {
      "created-by": {
        "data": {
          "id": "user-MA4GL63FmYRpSFxa",
          "type": "users"
        }
      }
    }
  }
}
Create a User Token
POST /users/:user_id/authentication-tokens
| Parameter | Description | 
|---|---|
:user_id | The ID of the User. | 
Use the Account API to find your own user ID.
This endpoint returns the secret text of the created authentication token. A token is only shown upon creation, and cannot be recovered later.
Note: You must access this endpoint with a user token, and it will only create new tokens for that token's user account.
| Status | Response | Reason | 
|---|---|---|
| 201 | JSON API document (type: "authentication-tokens") | The request was successful | 
| 404 | JSON API error object | User not found or user unauthorized to perform action | 
| 422 | JSON API error object | Malformed request body (missing attributes, wrong types, etc.) | 
| 500 | JSON API error object | Failure during User Token creation | 
Request Body
This POST endpoint requires a JSON object with the following properties as a request payload.
Properties without a default value are required.
| Key path | Type | Default | Description | 
|---|---|---|---|
data.type | string | Must be "authentication-tokens". | |
data.attributes.description | string | The description for the User Token. | 
Sample Payload
{
  "data": {
    "type": "authentication-tokens",
    "attributes": {
      "description":"api"
    }
  }
}
Sample Request
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  --request POST \
  --data @payload.json \
  https://app.terraform.io/api/v2/users/user-MA4GL63FmYRpSFxa/authentication-tokens
Sample Response
{
  "data": {
    "id": "at-MKD1X3i4HS3AuD41",
    "type": "authentication-tokens",
    "attributes": {
      "created-at": "2018-11-26T20:48:35.054Z",
      "last-used-at": null,
      "description": "api",
      "token": "6tL24nM38M7XWQ.atlasv1.KmWckRfzeNmUVFNvpvwUEChKaLGznCSD6fPf3VPzqMMVzmSxFU0p2Ibzpo2h5eTGwPU"
    },
    "relationships": {
      "created-by": {
        "data": {
          "id": "user-MA4GL63FmYRpSFxa",
          "type": "users"
        }
      }
    }
  }
}
Destroy a User Token
DELETE /authentication-tokens/:id
| Parameter | Description | 
|---|---|
:id | The ID of the User Token to destroy. | 
Note: You must access this endpoint with a user token, and it will only delete tokens for that token's user account.
| Status | Response | Reason | 
|---|---|---|
| 204 | Empty response | The User Token was successfully destroyed | 
| 404 | JSON API error object | User Token not found, or user unauthorized to perform action | 
Sample Request
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  --request DELETE \
  https://app.terraform.io/api/v2/authentication-tokens/at-6yEmxNAhaoQLH1Da