Skip to content

Free domains

A free domain is a domain of Dinio’s whose subdomains any user can take as a zone of their own — a lease. See DNS hosting. The two routes below need no API key; leasing itself is Create a zone with a personal key.

GET /api/v1/free-domains

The free domains. How many leases you may have is a limit of your package: auth.free_subdomains.max.

Terminal window
curl https://api-dinio.bitelex.com/api/v1/free-domains
{ "success": true, "data": { "domains": ["example.net"] } }
GET /api/v1/free-domains/:domain/available

Whether <label>.<domain> can be leased right now. Query label (required). 404 if :domain is not a free domain. Your package’s lease limit isn’t checked here.

Terminal window
curl "https://api-dinio.bitelex.com/api/v1/free-domains/example.net/available?label=myhome"
{ "success": true, "data": { "name": "myhome.example.net", "available": true } }

When the name can’t be leased, available is false and reason says why: it is taken, reserved, or not a valid label.

Create the zone:

Terminal window
curl -X POST -H "Authorization: Bearer $DINIO_API_KEY" -H "Content-Type: application/json" \
-d '{"name":"myhome.example.net"}' \
https://api-dinio.bitelex.com/api/v1/zones

The rules for the name:

  • exactly one label below the free domain, 3–63 characters: letters, digits and hyphens;
  • not a reserved name (www, mail, ns1, admin, login, abuse, …), and no -- in the third and fourth place (as in xn--);
  • free: no zone of that name, and nothing in the free domain at or below it;
  • within your package’s auth.free_subdomains.max — over it, 403 PLAN_LIMIT. Leases don’t count against auth.zones.max.

The lease is a zone you own, with its own SOA and NS; Dinio adds the delegation to it in the free domain. You can change the lease’s own NS, but that doesn’t move the delegation — to point a lease at other nameservers, contact support. Deleting the zone ends the lease.