Skip to main content
POST
Create record
Requires the IAM action dns:CreateRecord. See DNS permissions for the full list, what each one covers, and an example policy.

Authorizations

Authorization
string
header
required

An OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. This is the recommended way to authenticate.

Get one by exchanging a service account's access key pair at POST /v1/oauth/token with grant_type=client_credentials. It is the standard client-credentials grant, so any OAuth-aware library will obtain and refresh it for you.

Tokens last an hour by default. The same access key pair is separately your AWS SigV4 credential for the S3-compatible object endpoint, which speaks nothing else.

Headers

Idempotency-Key
string

Optional client-generated key that makes a create replay-safe. Retrying a request with the same key returns the original outcome verbatim instead of creating a duplicate resource. Reusing a key with a different request body is rejected (422); a request whose key is still being processed returns 409. Records are honored for 24 hours. Use a UUID or similarly unique token.

Maximum string length: 255

Path Parameters

zone_id
string<uuid>
required

DNS Zone ID

Body

application/json
name
string
required

Record name (FQDN).

Example:

"www.example.com"

type
enum<string>
required

Curated subset of supported DNS record types. SOA and DNSSEC-managed types (DNSKEY, DS, NSEC*, RRSIG, …) are managed by the platform and not creatable through the API.

Every type here has a wire representation. ALIAS is not offered: it resolves only if the authoritative server flattens it to A/AAAA, and ours does not. Point a zone apex at a target with A/AAAA records carrying its addresses.

Available options:
A,
AAAA,
AFSDB,
APL,
CAA,
CERT,
CNAME,
CSYNC,
DHCID,
DNAME,
EUI48,
EUI64,
HINFO,
HTTPS,
IPSECKEY,
KX,
L32,
L64,
LOC,
LP,
MX,
NAPTR,
NID,
NS,
OPENPGPKEY,
PTR,
RKEY,
RP,
SMIMEA,
SPF,
SRV,
SSHFP,
SVCB,
TLSA,
TXT,
URI
Example:

"A"

values
object[]
required
Minimum array length: 1
Example:
ttl
integer
default:3600
Required range: x >= 0
Example:

300

Response

Record created

record
object
required