API reference
DNS records
List, set (upsert) and delete records on a subdomain.
$SUBDOMAIN_ID is the id from
create or list. Record name is relative to
the subdomain: @ (apex), www, *, _acme-challenge…
List records
curl -sS "https://api.subdy.io/v1/subdomains/$SUBDOMAIN_ID/records" \
-H "Authorization: Bearer $SUBDY_TOKEN"{
"records": [
{
"id": "c1a4e9d8-…",
"subdomainId": "7f6b1a02-…",
"type": "A",
"name": "@",
"value": "203.0.113.10",
"ttl": 300,
"createdAt": "2026-08-08T12:00:01.000Z",
"updatedAt": "2026-08-08T12:00:01.000Z"
}
]
}Set a record (upsert)
PUT replaces the record with the same name + type — updating an
IP is the same call as creating the record. A CNAME can't coexist
with other types at the same name (409 cname_conflict).
curl -sS -X PUT "https://api.subdy.io/v1/subdomains/$SUBDOMAIN_ID/records" \
-H "Authorization: Bearer $SUBDY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"TXT","name":"@","value":"hello from docs","ttl":300}'{
"id": "e7b02c11-…",
"subdomainId": "7f6b1a02-…",
"type": "TXT",
"name": "@",
"value": "hello from docs",
"ttl": 300,
"createdAt": "2026-08-08T12:03:00.000Z",
"updatedAt": "2026-08-08T12:03:00.000Z"
}The id of the record — $RECORD_ID below.
Delete a record
curl -sS -X DELETE "https://api.subdy.io/v1/subdomains/$SUBDOMAIN_ID/records/$RECORD_ID" \
-H "Authorization: Bearer $SUBDY_TOKEN"{ "deleted": true }