---
title: "Get cloud provider details"
component: "savanna"
version: "main"
module: "rest-api"
html_url: "/savanna/main/rest-api/endpoints/get-cloud-provider-details"
---

[View as HTML](/savanna/main/rest-api/endpoints/get-cloud-provider-details)

# Get cloud provider details

Returns a single Bring Your Own Cloud (BYOC) provider, including its status, the AWS resources Savanna created in your account, and its component versions.

GET `/controller/v4/v2/cloud-providers/{cloudProviderID}` 

## 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) 

## Path parameters

[#](#parameter-cloud-provider-id) `cloudProviderID` string path required 

Cloud Provider ID

## 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 

`api_tokens`string\[\]

API tokens associated with the cloud provider.

`availability_zones`string\[\]

Availability zones configured for the cloud provider.

`cluster_enabled_log_types`string\[\]

Kubernetes control-plane log types enabled for the provider.

Available options: `api`, `audit`, `authenticator`, `controllerManager`, `scheduler`

`component_versions`string

Versions of the components installed for the provider.

`created_at`string

Time the cloud provider was created.

`created_by`string

User who created the cloud provider.

`eks_id`string

Identifier of the Amazon EKS cluster.

`endpoint_service_name`string

Name of the private endpoint service.

`id`string

Unique identifier of the cloud provider.

`last_error`string

Most recent error reported while provisioning or updating the provider.

`name`string

Name of the cloud provider.

`node_group_config`object

Configuration of the Kubernetes node groups.

Show child attributes Hide child attributes 

`ng_16`object

Configuration of the 16-unit node group.

Show child attributes Hide child attributes 

`max_size`integer

Maximum number of nodes in the group.

`min_size`integer

Minimum number of nodes in the group.

`overprovisioning_factor`integer

Additional capacity factor reserved above the requested workload.

`ng_32`object

Configuration of the 32-unit node group.

Show child attributes Hide child attributes 

`max_size`integer

Maximum number of nodes in the group.

`min_size`integer

Minimum number of nodes in the group.

`overprovisioning_factor`integer

Additional capacity factor reserved above the requested workload.

`ng_48`object

Configuration of the 48-unit node group.

Show child attributes Hide child attributes 

`max_size`integer

Maximum number of nodes in the group.

`min_size`integer

Minimum number of nodes in the group.

`overprovisioning_factor`integer

Additional capacity factor reserved above the requested workload.

`ng_64`object

Configuration of the 64-unit node group.

Show child attributes Hide child attributes 

`max_size`integer

Maximum number of nodes in the group.

`min_size`integer

Minimum number of nodes in the group.

`overprovisioning_factor`integer

Additional capacity factor reserved above the requested workload.

`ng_system`object

Configuration of the system node group.

Show child attributes Hide child attributes 

`max_size`integer

Maximum number of nodes in the group.

`min_size`integer

Minimum number of nodes in the group.

`overprovisioning_factor`integer

Additional capacity factor reserved above the requested workload.

`prefetch_image_list`string\[\]

Container images to prefetch onto the nodes.

`options`object

Additional cloud-provider configuration options.

Show child attributes Hide child attributes 

`account_id`string

Cloud account identifier associated with the provider.

`secure_connection`boolean

Whether the provider uses a private, secure connection.

`org_id`string

Unique identifier of the organization that owns the provider.

`platform`string

Cloud platform that hosts the provider.

`region`string

Cloud region that hosts the provider.

`role_arn`string

Amazon Resource Name of the IAM role TigerGraph assumes.

`role_external_id`string

External identifier used when TigerGraph assumes the IAM role.

`security_group_id`string

Identifier of the network security group.

`short_id`string

Short identifier of the cloud provider.

`status`string

Current status of the cloud provider.

`subnet_id`string\[\]

Identifiers of the subnets used by the provider.

`type`string

Access type of the cloud provider.

`updated_at`string

Time the cloud provider was last updated.

`version`string

Version of the cloud provider deployment.

`version_number`integer

Internal version number of the cloud provider record.

`vpc_id`string

Identifier of the virtual private cloud.

`vpc_owned_by_tg`boolean

Whether TigerGraph owns and manages the virtual private cloud.

`work_dir`string

Working directory used while provisioning the provider.

Get cloud provider details 

cURL 

cURL Python JavaScript PHP Go Java Ruby 

```bash
curl --request GET \
  --url 'https://api.tgcloud.io/controller/v4/v2/cloud-providers/{cloudProviderID}' \
  --header 'x-api-key: <your-api-key>'
```

```python
import requests

url = "https://api.tgcloud.io/controller/v4/v2/cloud-providers/{cloudProviderID}"
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/cloud-providers/{cloudProviderID}",
  {
    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/cloud-providers/{cloudProviderID}"
);
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/cloud-providers/{cloudProviderID}",
  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/cloud-providers/{cloudProviderID}"
  ))
  .header("x-api-key", "<your-api-key>")
  .GET()
  .build();
```

```ruby
uri = URI(
  "https://api.tgcloud.io/controller/v4/v2/cloud-providers/{cloudProviderID}"
)
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": {
    "api_tokens": [
      "<string>"
    ],
    "availability_zones": [
      "<string>"
    ],
    "cluster_enabled_log_types": [
      "api"
    ],
    "component_versions": "<string>",
    "created_at": "<string>",
    "created_by": "<string>",
    "eks_id": "<string>",
    "endpoint_service_name": "<string>",
    "id": "<string>",
    "last_error": "<string>",
    "name": "<string>",
    "node_group_config": {
      "ng_16": {
        "max_size": 0,
        "min_size": 0,
        "overprovisioning_factor": 0
      },
      "ng_32": {
        "max_size": 0,
        "min_size": 0,
        "overprovisioning_factor": 0
      },
      "ng_48": {
        "max_size": 0,
        "min_size": 0,
        "overprovisioning_factor": 0
      },
      "ng_64": {
        "max_size": 0,
        "min_size": 0,
        "overprovisioning_factor": 0
      },
      "ng_system": {
        "max_size": 0,
        "min_size": 0,
        "overprovisioning_factor": 0
      },
      "prefetch_image_list": [
        "<string>"
      ]
    },
    "options": {
      "account_id": "<string>",
      "secure_connection": false
    },
    "org_id": "<string>",
    "platform": "<string>",
    "region": "<string>",
    "role_arn": "<string>",
    "role_external_id": "<string>",
    "security_group_id": "<string>",
    "short_id": "<string>",
    "status": "<string>",
    "subnet_id": [
      "<string>"
    ],
    "type": "<string>",
    "updated_at": "<string>",
    "version": "<string>",
    "version_number": 0,
    "vpc_id": "<string>",
    "vpc_owned_by_tg": false,
    "work_dir": "<string>"
  }
}
```
