vpc — Virtual Private Cloud
vpc · 2017-03-12

CreateSubnet

POST

Create a subnet.

Wire call

Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /vpc/CreateSubnet 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://vpc.api3.convergecloud.com/ \
  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/vpc/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'Host: vpc.api3.convergecloud.com' \
  -H 'X-TC-Action: CreateSubnet' \
  -H 'X-TC-Version: 2017-03-12' \
  -H 'X-TC-Timestamp: <unix-seconds>' \
  -H 'X-TC-Region: luzon' \
  -d '{"VpcId":"<VpcId>","SubnetName":"<SubnetName>","CidrBlock":"<CidrBlock>","Zone":"<Zone>"}'

Request parameters

FieldTypeRequiredDescription
VpcIdstringYesThe ID of the VPC instance to be operated on. You can obtain the parameter value from the VpcId field in the returned result of DescribeVpcs API.
SubnetNamestringYesThe subnet name. The maximum length is 60 bytes.
CidrBlockstringYesThe subnet IP address range. It must be within the VPC IP address range. Subnet IP address ranges cannot overlap with each other within the same VPC.
ZonestringYesThe ID of the availability zone in which the subnet resides. You can set up disaster recovery across availability zones by choosing different availability zones for different subnets.
TagsTag[]NoBound tags, such as [{"Key": "city", "Value": "shanghai"}].
CdcIdstringNoCDC instance ID

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
SubnetSubnetSubnet object.
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": {
    "Subnet": …,
    "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/vpc.
Request bodyvalid JSONPOST vpc.api3.convergecloud.com · CreateSubnet
Recorded example response — captured 2026-09-17
{
  "Response": {
    "Subnet": {
      "VpcId": "vpc-5gqs921z",
      "SubnetId": "subnet-fg6jnptk",
      "SubnetName": "example-network",
      "CidrBlock": "10.200.1.0/24",
      "IsDefault": false,
      "EnableBroadcast": false,
      "Zone": "ncr-1",
      "CreatedTime": "2026-09-17 10:22:30",
      "TotalIpAddressCount": 253,
      "AvailableIpAddressCount": 253,
      "LocalZone": false,
      "Region": "luzon",
      "IsShare": false,
      "NetworkAclId": "",
      "IsCdcSubnet": 0,
      "CdcId": "",
      "TagSet": []
    },
    "RequestId": "331e5076-c918-15d8-a438-5acac8972a6e"
  }
}

Behaviour

The response does not include RouteTableId; query the route table separately.