List a zone's recordsets.
curl --request GET \ --url 'https://stratum.example.com/v1/projects/example/dns/zones/example/recordsets?limit=100' \ --header 'Authorization: Bearer <token>'Cursor-paginated. Ordered name, type, id.
The trailing id is load-bearing. Since split-horizon the
uniqueness is (zone_id, name, type, vpc_id), so one (name, type)
deliberately holds both an untagged public recordset and a vpc-tagged
private one — the tie is guaranteed by design, not merely possible, and
without a unique tiebreaker a cursor on that boundary would repeat or skip
a row.
vpc_id is deliberately NOT part of the ordering: it is nullable, and a
NULL in a keyset row comparison makes the whole predicate NULL, which
returns an empty page rather than an error.
When nextPageToken is present there are more rows; pass it back as
page_token. A token that cannot be parsed is treated as no token, so a
client gets the first page rather than a 400.
This endpoint returned an entire zone in one response, with no limit of any kind, until.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Opaque cursor from a previous response’s nextPageToken. Omit for the
first page.
Responses
Section titled “Responses”Recordsets.
object
object
Scopes an instance record to its owning VPC, and is present only on split-horizon records - those served exclusively to queries arriving on that VPC’s scope port. Read it before treating two same-name records as duplicates: an instance typically has a pair, one with vpcId carrying the private address for in-VPC clients and one without carrying the floating IP for everyone else, and this is the only field that tells them apart.
RR type. DS is the delegation signer a parent zone holds for a signed child; content is the RFC 4034 form <keytag> <algorithm> <digesttype> <digest>.
Points an A/AAAA record at a Stratum resource by id (the Route53 alias-to-ELB analog,). When set, the record’s addresses are maintained automatically from the target’s current address and records MUST be empty; only the simple routing policy is allowed. For an instance target the record resolves to the instance’s primary PRIVATE IP, and a companion <name> prefixed with public. is auto-published to the instance’s associated floating IP whenever one exists.
object
Target resource kind: lb (load-balancer public address), fip (floating IP), instance (primary private IP + a public. companion).
The target resource’s id (e.g. lb-…, fip-…, i-…). Must belong to the same project.
True for a reconciler-owned alias record (e.g. an auto-published public. companion); such records are read-only via the API.
True for a record the control plane owns: every zone’s apex NS, which names the install’s nameserver (ns1.
object
ISO 3166-1 alpha-2 country tag for the geo routing policy.
MaxMind 2-letter continent code (AF, AN, AS, EU, NA, OC, SA) for the geo routing policy.
Health check that gates this record for the failover / weighted policies; null = always healthy.
Latency target whose measured RTT ranks this record for the latency policy.
Example
{ "items": [ { "type": "A", "routingPolicy": "simple", "aliasTarget": { "type": "lb" } } ]}Resource not found.
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}