Skip to content

List subnets in a project.

GET
/v1/projects/{projectId}/network/subnets
Code sample: Shell / cURL
curl --request GET \
--url https://stratum.example.com/v1/projects/example/network/subnets \
--header 'Authorization: Bearer <token>'

Optional ?vpcId= filter scopes the listing to a single VPC.

projectId
required
string
/^p-[a-z0-9-]+$/
vpcId
string
/^vpc-[a-z0-9-]+$/

Subnets.

Media typeapplication/json
object
items
required
Array<object>
object
ownedBy

Set on a platform-owned row; absent on a tenant’s own.

object
kind
required
string
Allowed values: auto-scaling-group platform
id
required

The owner: the Auto Scaling group id, or for platform the component (front-door, pack:platform-health, default-network, operator-recipe).

string
id
required
string
/^subnet-[a-z0-9-]+$/
projectId
required
string
/^p-[a-z0-9-]+$/
vpcId
required
string
/^vpc-[a-z0-9-]+$/
name
required
string
/^[a-z][a-z0-9-]{1,38}[a-z0-9]$/
displayName
required
string
>= 1 characters <= 100 characters
description
string
cidrBlock
required

IPv4 CIDR inside the parent VPC’s range; /16-/28; non-overlapping with siblings.

string
region
required
string
/^[a-z][a-z0-9]+(-[a-z0-9]+)*$/
availabilityZone
required

AZ within the subnet’s region.

string
routeTableId
required
string
/^rtb-[a-z0-9-]+$/
type
required

public subnets route 0/0 via the VPC’s IGW; instances can have floating IPs. private subnets route 0/0 via a NAT Gateway (no inbound from the internet).

string
Allowed values: public private
availableIPs

Usable IPs remaining after subtracting the 12 reserved entries and current allocations.

integer
state
required
string
Allowed values: creating available deleting deleted error
tags

AWS-shape resource tags. Freeform UTF-8 keys (1-128 bytes, no leading/trailing whitespace) mapped to freeform UTF-8 values (0-256 bytes). Max 50 tags per resource. Reserved prefixes (stratum.dev/, stratum.platform_health., stratum:, aws:) return 400 RESERVED_NAMESPACE on customer input. PATCH replaces the whole map..

object
<= 50 properties
key
additional properties
string
<= 256 characters
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
deletedAt
string format: date-time
nullable
createdBy
required
string
resolverAddress

The VPC resolver’s address on this subnet, its .3: what DHCP hands instances as their DNS server. Absent when no resolver answers there: the VPC has DNS resolution off, or the install runs no per-VPC resolver. A DHCP option set with its own domainNameServers changes what instances are told, not whether this address answers.

string
nextPageToken
string
isTruncated

True when the server had more rows than it returned. The response is a valid prefix of the result, not the whole of it.

Without this flag a client at the server’s row ceiling receives a full page and no nextPageToken, which means “this is the complete set” — so data it never saw would be indistinguishable from data that does not exist.

It does not imply a cursor exists. These queries do not all sort on a total order, so a resumable token cannot be minted for them yet. The remedy is to narrow the request (a filter, or a tighter scope), not to page.

boolean

Example

{
"items": [
{
"ownedBy": {
"kind": "auto-scaling-group"
},
"cidrBlock": "10.0.1.0/24",
"type": "public",
"state": "creating",
"resolverAddress": "10.0.1.3"
}
]
}