cvm — Cloud Virtual Machine
cvm · 2017-03-12

DescribeInstances

POST

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

FieldTypeRequiredDescription
InstanceIdsstring[]—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.
FiltersFilter[]—Filters
Offsetinteger—Offset; default value: 0. For more information on `Offset`, see the corresponding section in API Introduction.
Limitinteger—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.

FieldTypeDescription
TotalCountintegerNumber of instances meeting the filtering conditions.
InstanceSetInstance[]Detailed instance information.
RequestIdstringThe 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.
Success
{
  "Response": {
    "TotalCount": …,
    "InstanceSet": …,
    "RequestId": "…"
  }
}
Error
{
  "Response": {
    "Error": { "Code": "…", "Message": "…" },
    "RequestId": "…"
  }
}

Try it

CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/cvm.
Request bodyvalid JSONPOST cvm.api3.convergecloud.com · DescribeInstances
Read-only. Creates nothing.
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.