DescribeInstances
Query the details of instances.
Wire call
Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /cvm/DescribeInstances path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.
curl -sS https://cvm.api3.convergecloud.com/ \
-H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cvm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Host: cvm.api3.convergecloud.com' \
-H 'X-TC-Action: DescribeInstances' \
-H 'X-TC-Version: 2017-03-12' \
-H 'X-TC-Timestamp: <unix-seconds>' \
-H 'X-TC-Region: luzon' \
-d '{"Offset":0,"Limit":20}'Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| InstanceIds | string[] | — | Query by instance ID(s). For example, instance ID: `ins-xxxxxxxx`. For the specific format, refer to section `Ids.N` of the API Introduction. You can query up to 100 instances in each request. However, `InstanceIds` and `Filters` cannot be specified at the same time. |
| Filters | Filter[] | — | Filters |
| Offset | integer | — | Offset; default value: 0. For more information on `Offset`, see the corresponding section in API Introduction. |
| Limit | integer | — | Number of results returned; default value: 20; maximum: 100. For more information on `Limit`, see the corresponding section in API Introduction. |
Response
Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.
| Field | Type | Description |
|---|---|---|
| TotalCount | integer | Number of instances meeting the filtering conditions. |
| InstanceSet | Instance[] | Detailed instance information. |
| RequestId | string | The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
{
"Response": {
"TotalCount": …,
"InstanceSet": …,
"RequestId": "…"
}
}{
"Response": {
"Error": { "Code": "…", "Message": "…" },
"RequestId": "…"
}
}Try it
Recorded example response — captured 2026-09-16
{
"Response": {
"TotalCount": 1,
"InstanceSet": [
{
"Placement": {
"Zone": "clz-1",
"HostId": null,
"ProjectId": 0,
"ProjectName": "Default Project"
},
"InstanceId": "ins-6l9ee4b2",
"Uuid": "f82652be-ff33-49d8-b888-7f61306ca5be",
"OperatorUin": "100000000001",
"InstanceState": "RUNNING",
"RestrictState": "NORMAL",
"InstanceType": "M8A.SMALL4",
"CPU": 1,
"Memory": 4,
"InstanceName": "example-instance",
"InstanceChargeType": "POSTPAID_BY_HOUR",
"SystemDisk": {
"DiskType": "CLOUD_PREMIUM",
"DiskId": "disk-95nee2g8",
"DiskSize": 50,
"Encrypt": false,
"KmsKeyId": null,
"ThroughputPerformance": 0,
"CdcId": null
},
"DataDisks": [],
"PrivateIpAddresses": [
"10.210.1.11"
],
"PublicIpAddresses": null,
"IPv6Addresses": null,
"InternetAccessible": {
"InternetMaxBandwidthOut": 0,
"InternetChargeType": null
},
"VirtualPrivateCloud": {
"VpcId": "vpc-0ze6h3yh",
"SubnetId": "subnet-dshw3oc6",
"AsVpcGateway": false,
"VpcName": "example-instance",
"SubnetName": "example-instance"
},
"SecurityGroupIds": [
"sg-7timlyva"
],
"LoginSettings": {
"KeyIds": null
},
"ImageId": "img-0utrf2fb",
"DefaultLoginUser": "ubuntu",
"DefaultLoginPort": 22,
"RenewFlag": null,
"CreatedTime": "2026-09-16T11:30:26Z",
"ExpiredTime": null,
"UnderwriteExpiredTime": null,
"Tags": [],
"PlatformProjectId": null,
"DisasterRecoverGroupId": "",
"DedicatedClusterId": "",
"CamRoleName": "",
"LatestOperation": "TerminateInstances",
"LatestOperationState": "OPERATING",
"LatestOperationRequestId": "935bd5d6-2088-7f33-1263-fdf1c2dbbca2",
"IsolatedSource": "NOTISOLATED",
"ChcInstanceType": "",
"HpcClusterId": "",
"DisableApiTermination": false,
"RdmaIpAddresses": null,
"HibernationOptions": {
"Configured": false
},
"VmEniTrunking": "off",
"OsName": "Ubuntu 24.04 LTS",
"DisasterRecoverGroupIds": [],
"RemainTime": null,
"StopChargingMode": "NOT_APPLICABLE",
"ImageType": "PUBLIC_IMAGE",
"InstanceFamily": "M8A",
"GPU": 0,
"InnerVpcId": 67340,
"DeviceId": 72095001,
"Architecture": "x86",
"IsolatedTime": null,
"IsSafeIsolated": false,
"SafeIsolatedInfo": null,
"NewCreationIdentify": false,
"ErrorCode": 0,
"ErrorKey": null,
"InstanceClass": "M",
"KeyPairIds": null,
"OperationMask": 14092784333819,
"RunFlag": 2,
"Hypervisor": 0,
"SwapDisks": {},
"LatestOperationErrorMsg": null,
"BootMode": "Legacy BIOS",
"EnableGridLicence": ""
}
],
"RequestId": "bd9ec745-c68f-bd99-1d9b-8b6a9a55d822"
}
}Behaviour
Instance ids that do not exist return TotalCount 0 rather than an error. While an instance is PENDING, ImageId, SecurityGroupIds, PrivateIpAddresses and SystemDisk.DiskId are null, and CreatedTime is rewritten when the instance reaches RUNNING, so it is not a stable launch timestamp.
