Skip to content
Home
Business OS Blog How it works Hosting Compare
Language
العربية Coming soon
বাংলা Coming soon
Dansk Coming soon
Deutsch Coming soon
Español Coming soon
Suomi Coming soon
Français Coming soon
עברית Coming soon
हिन्दी Coming soon
Magyar Coming soon
Bahasa Indonesia Coming soon
Italiano Coming soon
한국어 Coming soon
Latviešu Coming soon
Nederlands Coming soon
Norsk Coming soon
Polski Coming soon
Português Coming soon
Српски Coming soon
Svenska Coming soon
Türkçe Coming soon
Українська Coming soon
中文 Coming soon
Currency

Domains and DNS

Authoritative DNS on Helstify's nameservers. Changes go live within minutes. Pick the domain with ?domain= (defaults to the business's primary domain).

List zones

GET/businesses/{business}/dns/zones

The domains you can manage, our nameservers and the server IP.

Needs the dns:read scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.
curl "https://helstify.com/api/v1/businesses/60/dns/zones" \
  -H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60/dns/zones", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
  },
});
const data = await res.json();
import os, requests

res = requests.get(
    "https://helstify.com/api/v1/businesses/60/dns/zones",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
    "server_ip": "92.118.206.162",
    "nameservers": [
        "ns1.helstify.com",
        "ns2.helstify.com"
    ],
    "zones": [
        {
            "domain": "northwind.coffee",
            "delegated": true,
            "records": 9
        }
    ]
}

List records

GET/businesses/{business}/dns/records

Every record in one zone.

Needs the dns:read scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.
domain string, in query
Defaults to the primary domain.
curl "https://helstify.com/api/v1/businesses/60/dns/records" \
  -H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60/dns/records", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
  },
});
const data = await res.json();
import os, requests

res = requests.get(
    "https://helstify.com/api/v1/businesses/60/dns/records",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
    "domain": "northwind.coffee",
    "delegated": true,
    "records": [
        {
            "id": 812,
            "type": "A",
            "name": "@",
            "content": "92.118.206.162",
            "ttl": 3600,
            "priority": null,
            "fqdn": "northwind.coffee"
        }
    ]
}

Create a record

POST/businesses/{business}/dns/records

name "@" is the apex. priority is only for MX and SRV.

Needs the dns:write scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.

Body

domain string
For example northwind.coffee
type string
For example TXT
name string
For example @
content string
For example v=spf1 mx -all
ttl integer
For example 3600
curl -X POST "https://helstify.com/api/v1/businesses/60/dns/records" \
  -H "Authorization: Bearer $HELSTIFY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"northwind.coffee","type":"TXT","name":"@","content":"v=spf1 mx -all","ttl":3600}'
const res = await fetch("https://helstify.com/api/v1/businesses/60/dns/records", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
      "domain": "northwind.coffee",
      "type": "TXT",
      "name": "@",
      "content": "v=spf1 mx -all",
      "ttl": 3600
  }),
});
const data = await res.json();
import os, requests

res = requests.post(
    "https://helstify.com/api/v1/businesses/60/dns/records",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
    json={
        "domain": "northwind.coffee",
        "type": "TXT",
        "name": "@",
        "content": "v=spf1 mx -all",
        "ttl": 3600
    },
)
print(res.json())
Response201
{
    "record": {
        "id": 813,
        "type": "TXT",
        "name": "@",
        "content": "v=spf1 mx -all",
        "ttl": 3600,
        "priority": null,
        "fqdn": "northwind.coffee"
    }
}

Update a record

PATCH/businesses/{business}/dns/records/{record}

Same fields as create; send only what changes.

Needs the dns:write scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.
record integer, in path, required
The record id.

Body

content string
For example 92.118.206.170
curl -X PATCH "https://helstify.com/api/v1/businesses/60/dns/records/812" \
  -H "Authorization: Bearer $HELSTIFY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"92.118.206.170"}'
const res = await fetch("https://helstify.com/api/v1/businesses/60/dns/records/812", {
  method: "PATCH",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
      "content": "92.118.206.170"
  }),
});
const data = await res.json();
import os, requests

res = requests.patch(
    "https://helstify.com/api/v1/businesses/60/dns/records/812",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
    json={
        "content": "92.118.206.170"
    },
)
print(res.json())
Response200
{
    "record": {
        "id": 812,
        "type": "A",
        "name": "@",
        "content": "92.118.206.170",
        "ttl": 3600,
        "priority": null,
        "fqdn": "northwind.coffee"
    }
}

Delete a record

DELETE/businesses/{business}/dns/records/{record}

Removes it from our nameservers.

Needs the dns:write scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.
record integer, in path, required
The record id.
curl -X DELETE "https://helstify.com/api/v1/businesses/60/dns/records/812" \
  -H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60/dns/records/812", {
  method: "DELETE",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
  },
});
const data = await res.json();
import os, requests

res = requests.delete(
    "https://helstify.com/api/v1/businesses/60/dns/records/812",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
    "deleted": true
}