A new platform for documentation and tutorials is launching soon.
We are migrating Terraform documentation into HashiCorp Developer, our new developer experience.
Search Terraform documentation » OAuth TokensThe oauth-token
object represents a VCS configuration which includes the OAuth connection and the associated OAuth token. This object is used when creating a workspace to identify which VCS connection to use.
» List OAuth TokensList all the OAuth Tokens for a given OAuth Client
GET /oauth-clients/:oauth_client_id/oauth-tokens
Parameter Description :oauth_client_id
The ID of the OAuth Client
» Query ParametersThis 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 oauth tokens per page.
» Sample Requestcurl \
--header "Authorization: Bearer $TOKEN " \
https://app.terraform.io/api/v2/oauth-clients/oc-GhHqb5rkeK19mLB8/oauth-tokens
curl \
--header "Authorization: Bearer $TOKEN " \
https://app.terraform.io/api/v2/oauth-clients/oc-GhHqb5rkeK19mLB8/oauth-tokens
» Sample Response{
"data" : [
{
"id" : "ot-hmAyP66qk2AMVdbJ" ,
"type" : "oauth-tokens" ,
"attributes" : {
"created-at" : "2017-11-02T06:37:49.284Z" ,
"service-provider-user" : "skierkowski" ,
"has-ssh-key" : false
} ,
"relationships" : {
"oauth-client" : {
"data" : {
"id" : "oc-GhHqb5rkeK19mLB8" ,
"type" : "oauth-clients"
} ,
"links" : {
"related" : "/api/v2/oauth-clients/oc-GhHqb5rkeK19mLB8"
}
}
} ,
"links" : {
"self" : "/api/v2/oauth-tokens/ot-hmAyP66qk2AMVdbJ"
}
}
]
}
{
"data" : [
{
"id" : "ot-hmAyP66qk2AMVdbJ" ,
"type" : "oauth-tokens" ,
"attributes" : {
"created-at" : "2017-11-02T06:37:49.284Z" ,
"service-provider-user" : "skierkowski" ,
"has-ssh-key" : false
} ,
"relationships" : {
"oauth-client" : {
"data" : {
"id" : "oc-GhHqb5rkeK19mLB8" ,
"type" : "oauth-clients"
} ,
"links" : {
"related" : "/api/v2/oauth-clients/oc-GhHqb5rkeK19mLB8"
}
}
} ,
"links" : {
"self" : "/api/v2/oauth-tokens/ot-hmAyP66qk2AMVdbJ"
}
}
]
}
» Show an OAuth TokenGET /oauth-tokens/:id
Parameter Description :id
The ID of the OAuth token to show
» Sample Requestcurl \
--header "Authorization: Bearer $TOKEN " \
--header "Content-Type: application/vnd.api+json" \
--request GET \
https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL
curl \
--header "Authorization: Bearer $TOKEN " \
--header "Content-Type: application/vnd.api+json" \
--request GET \
https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL
» Sample Response{
"data" : {
"id" : "ot-29t7xkUKiNC2XasL" ,
"type" : "oauth-tokens" ,
"attributes" : {
"created-at" : "2018-08-29T14:07:22.144Z" ,
"service-provider-user" : "EM26Jj0ikRsIFFh3fE5C" ,
"has-ssh-key" : false
} ,
"relationships" : {
"oauth-client" : {
"data" : {
"id" : "oc-WMipGbuW8q7xCRmJ" ,
"type" : "oauth-clients"
} ,
"links" : {
"related" : "/api/v2/oauth-clients/oc-WMipGbuW8q7xCRmJ"
}
}
} ,
"links" : {
"self" : "/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL"
}
}
}
{
"data" : {
"id" : "ot-29t7xkUKiNC2XasL" ,
"type" : "oauth-tokens" ,
"attributes" : {
"created-at" : "2018-08-29T14:07:22.144Z" ,
"service-provider-user" : "EM26Jj0ikRsIFFh3fE5C" ,
"has-ssh-key" : false
} ,
"relationships" : {
"oauth-client" : {
"data" : {
"id" : "oc-WMipGbuW8q7xCRmJ" ,
"type" : "oauth-clients"
} ,
"links" : {
"related" : "/api/v2/oauth-clients/oc-WMipGbuW8q7xCRmJ"
}
}
} ,
"links" : {
"self" : "/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL"
}
}
}
» Update an OAuth TokenPATCH /oauth-tokens/:id
Parameter Description :id
The ID of the OAuth token to update
» Request BodyThis PATCH 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 "oauth-tokens"
. data.attributes.ssh-key
string Optional. The SSH key
» Sample Payload{
"data" : {
"id" : "ot-29t7xkUKiNC2XasL" ,
"type" : "oauth-tokens" ,
"attributes" : {
"ssh-key" : "..."
}
}
}
{
"data" : {
"id" : "ot-29t7xkUKiNC2XasL" ,
"type" : "oauth-tokens" ,
"attributes" : {
"ssh-key" : "..."
}
}
}
» Sample Requestcurl \
--header "Authorization: Bearer $TOKEN " \
--header "Content-Type: application/vnd.api+json" \
--request PATCH \
--data @payload.json \
https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL
curl \
--header "Authorization: Bearer $TOKEN " \
--header "Content-Type: application/vnd.api+json" \
--request PATCH \
--data @payload.json \
https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL
» Sample Response{
"data" : {
"id" : "ot-29t7xkUKiNC2XasL" ,
"type" : "oauth-tokens" ,
"attributes" : {
"created-at" : "2018-08-29T14:07:22.144Z" ,
"service-provider-user" : "EM26Jj0ikRsIFFh3fE5C" ,
"has-ssh-key" : false
} ,
"relationships" : {
"oauth-client" : {
"data" : {
"id" : "oc-WMipGbuW8q7xCRmJ" ,
"type" : "oauth-clients"
} ,
"links" : {
"related" : "/api/v2/oauth-clients/oc-WMipGbuW8q7xCRmJ"
}
}
} ,
"links" : {
"self" : "/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL"
}
}
}
{
"data" : {
"id" : "ot-29t7xkUKiNC2XasL" ,
"type" : "oauth-tokens" ,
"attributes" : {
"created-at" : "2018-08-29T14:07:22.144Z" ,
"service-provider-user" : "EM26Jj0ikRsIFFh3fE5C" ,
"has-ssh-key" : false
} ,
"relationships" : {
"oauth-client" : {
"data" : {
"id" : "oc-WMipGbuW8q7xCRmJ" ,
"type" : "oauth-clients"
} ,
"links" : {
"related" : "/api/v2/oauth-clients/oc-WMipGbuW8q7xCRmJ"
}
}
} ,
"links" : {
"self" : "/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL"
}
}
}
» Destroy an OAuth TokenDELETE /oauth-tokens/:id
Parameter Description :id
The ID of the OAuth Token to destroy
Status Response Reason 204 Empty response The OAuth Token was successfully destroyed 404 JSON API error object OAuth Token not found, or user unauthorized to perform action
» Sample Requestcurl \
--header "Authorization: Bearer $TOKEN " \
--header "Content-Type: application/vnd.api+json" \
--request DELETE \
https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL
curl \
--header "Authorization: Bearer $TOKEN " \
--header "Content-Type: application/vnd.api+json" \
--request DELETE \
https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL