# Variables

This endpoint is used to create, update, search or delete variables information inside a Terrakube workspace.

{% hint style="warning" %}
To use this endpoint you should have "manageWorkspace" access at team level and a Terrakube workspace
{% endhint %}

### Entity fields:

| Path                        | Type    | Description                                                    |
| --------------------------- | ------- | -------------------------------------------------------------- |
| data.type                   | string  | Should be "variable"                                           |
| data.attributes.key         | string  | Unique variable name                                           |
| data.attributes.value       | string  | Key value                                                      |
| data.attributes.sensitive   | boolean | To hide the value when the output is sensitive                 |
| data.attributes.hcl         | boolean | Terraform HCL variable type                                    |
| data.attributes.category    | string  | Variable type could be TERRAFORM or ENV (Environment Variable) |
| data.attributes.description | string  | Free text                                                      |

### Example:

```
{
  "data": {
    "type": "variable",
    "attributes": {
      "key": "tag_name",
      "value": "HolaMundo",
      "sensitive": false,
      "hcl": false,
      "category": "TERRAFORM",
      "description": "Azure RG Tag"
    }
  }
}
```

### Supported Operations

{% openapi src="<https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml>" path="/workspace/{workspaceId}/variable/{variableId}" method="get" %}
[v1\_4.yml](https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml)
{% endopenapi %}

{% openapi src="<https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml>" path="/workspace/{workspaceId}/variable" method="post" %}
[v1\_4.yml](https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml)
{% endopenapi %}

{% openapi src="<https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml>" path="/workspace/{workspaceId}/vcs/{vcsId}" method="delete" %}
[v1\_4.yml](https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml)
{% endopenapi %}

{% openapi src="<https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml>" path="/workspace/{workspaceId}/vcs/{vcsId}" method="patch" %}
[v1\_4.yml](https://content.gitbook.com/content/kJIcmDU7SpMIrNiHYtLu/blobs/DNkUIyWQuXEkTclXppV8/v1_4.yml)
{% endopenapi %}

{% hint style="info" %}
For a complete list of organization operation please visit the [OpenAPI specification](https://github.com/AzBuilder/terrakube-server/tree/main/openapi-spec)
{% endhint %}
