---
title: "Get supported workspace options"
component: "savanna"
version: "main"
module: "rest-api"
html_url: "/savanna/main/rest-api/endpoints/get-supported-workspace-options"
---

[View as HTML](/savanna/main/rest-api/endpoints/get-supported-workspace-options)

# Get supported workspace options

Lists the regions, TigerGraph versions, and workspace types available to your organization.

GET `/controller/v4/v2/workspaces/meta` 

## Authorizations

`x-api-key` string header required 

Authorization for TigerGraph Savanna. Send the key in the `x-api-key` request header.

[Create an API key](../create-api-key.md) 

## Query parameters

[#](#parameter-upgrade) `upgrade` boolean query 

When true, tgVersions only include versions with allow\_upgrade; when false or omitted (default), all create-allowed versions for the org are returned

## Response

200 application/json 

[#](#response-error) `Error` boolean 

Indicates whether the request returned an error.

[#](#response-error-details) `ErrorDetails` object\[\] 

Details about each error returned by the request.

Show child attributes Hide child attributes 

`FieldName`string

Field associated with the error.

`Reason`string

Explanation of why the error occurred.

`Type`string

Category of the error.

Available options: `Internal-Error`, `Bad-Request`, `Not-Found`, `Forbidden`, `Unauthorized`, `API-Disabled`, `Quota-Exceed`, `Unknown`

[#](#response-message) `Message` string 

Human-readable summary of the request result.

[#](#response-request-id) `RequestID` string 

Unique identifier for tracing the request.

[#](#response-result) `Result` object 

Payload returned by the request.

Show child attributes Hide child attributes 

`regions`object\[\]

Cloud regions available to your org.

Show child attributes Hide child attributes 

`description`string

Description of the region.

`name`string

Name of the region.

`tgVersions`object\[\]

TigerGraph versions available to your org.

Show child attributes Hide child attributes 

`allow_create`boolean

Whether new workspaces can be created on this version.

`allow_upgrade`boolean

Whether existing workspaces can be upgraded to this version.

`channel`string

Release channel the version belongs to.

`end_of_life`string

Date the version stops being supported.

`image`string

Container image that provides the version.

`incompatible_upgrades_from`string\[\]

Versions that cannot be upgraded to this version.

`name`string

Version number.

`orgs`string\[\]

For customized versions

`workspaceTypes`object\[\]

Workspace sizes available to your org.

Show child attributes Hide child attributes 

`cpu`string

Number of vCPUs allocated to the workspace.

`ha`integer

Number of high-availability replicas.

`memory`string

Memory allocated to the workspace.

`partition`integer

Number of partitions in the workspace.

`typeName`string

Name of the workspace size type.

Get supported workspace options 

cURL 

cURL Python JavaScript PHP Go Java Ruby 

```bash
curl --request GET \
  --url 'https://api.tgcloud.io/controller/v4/v2/workspaces/meta' \
  --header 'x-api-key: <your-api-key>'
```

```python
import requests

url = "https://api.tgcloud.io/controller/v4/v2/workspaces/meta"
headers = {"x-api-key": "<your-api-key>"}
response = requests.get(url, headers=headers)
print(response.json())
```

```javascript
const response = await fetch(
  "https://api.tgcloud.io/controller/v4/v2/workspaces/meta",
  {
    method: "GET",
    headers: { "x-api-key": "<your-api-key>" },
  }
)
console.log(await response.json())
```

```php
<?php
$request = curl_init(
  "https://api.tgcloud.io/controller/v4/v2/workspaces/meta"
);
curl_setopt($request, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($request, CURLOPT_HTTPHEADER, [
  "x-api-key: <your-api-key>"
]);
curl_exec($request);
```

```go
request, _ := http.NewRequest(
  "GET",
  "https://api.tgcloud.io/controller/v4/v2/workspaces/meta",
  nil,
)
request.Header.Add("x-api-key", "<your-api-key>")
response, _ := http.DefaultClient.Do(request)
```

```java
HttpRequest request = HttpRequest.newBuilder()
  .uri(URI.create(
    "https://api.tgcloud.io/controller/v4/v2/workspaces/meta"
  ))
  .header("x-api-key", "<your-api-key>")
  .GET()
  .build();
```

```ruby
uri = URI(
  "https://api.tgcloud.io/controller/v4/v2/workspaces/meta"
)
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "<your-api-key>"
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) {
  |http| http.request(request)
}
```

200 

```json
{
  "Error": false,
  "ErrorDetails": [],
  "Message": "<string>",
  "RequestID": "<string>",
  "Result": {
    "regions": [
      {
        "description": "<string>",
        "name": "<string>"
      }
    ],
    "tgVersions": [
      {
        "allow_create": false,
        "allow_upgrade": false,
        "channel": "<string>",
        "end_of_life": "<string>",
        "image": "<string>",
        "incompatible_upgrades_from": [
          "<string>"
        ],
        "name": "<string>",
        "orgs": [
          "<string>"
        ]
      }
    ],
    "workspaceTypes": [
      {
        "cpu": "<string>",
        "ha": 0,
        "memory": "<string>",
        "partition": 0,
        "typeName": "<string>"
      }
    ]
  }
}
```
