Add or modify DNS records for a domain

Manage DNS (Domain Name System) records for your domains. This includes adding new records like A, CNAME, MX, or TXT, or modifying existing records to control how your domain behaves on the internet.

Domain Services DNS

Context

Used in the dashboard

/cdn /domains/bulk-dns

Where to get IDs / values

Path Parameters

zoneId integer · min: 1 required Example: 505

Unique zone identifier

Headers

Accept Example
Content-Type Example

Body

required
application/json
name string · Example: _25._tcp.mail

Record name within the zone. Use "" or "@" for the root record (example.com). Use "www" for www.example.com. Use "_service._proto" for SRV (e.g. _sip._tcp) and "_port._tcp" for TLSA (e.g. _443._tcp).

priority integer · Example: 10

Priority (required for MX and SRV). Range: 0-65535.

ttl integer · Example: 3600

TTL in seconds (optional). Default: 3600. Minimum: 60. Maximum: 2147483647.

type string · enum required · Example: TLSA

DNS record type. Supported: A, AAAA, CNAME, ALIAS, MX, TXT, SRV, CAA, TLSA, NS.

A
AAAA
CNAME
ALIAS
MX
TXT
SRV
CAA
TLSA
NS
value string required · Example: 3 1 1 370c66fd4a0673ce1b62e76b819835dabb20702e4497cb10affe46e8135381e7

Record value (depends on type). A: IPv4. AAAA: IPv6. CNAME/ALIAS/NS/MX: hostname only (no protocol, no port). TXT: text value (do not wrap in quotes; long values are automatically split into 255-char chunks). SRV: target hostname only (priority/weight/port are separate fields). TLSA: '<usage> <selector> <matchingType> <hexdata>'. CAA: '0 issue "ca.example.com"'.

weight integer · Example: 5

Weight (required for SRV). Range: 0-65535.

port integer · Example: 5060

Port (required for SRV). Range: 0-65535.

Responses

200
data object required
data.record object required
data.record.id integer | string required · Example: 36976906

Record identifier. May be returned as a number or a string (fallback) if the upstream provider doesn't return an ID immediately. Treat as opaque.

data.record.name string required · Example: _25._tcp.mail.example.com

Record name (often returned as FQDN). Root record may be returned as the zone domain. "@"/empty are treated as root on input.

data.record.priority integer · Example: 10

Present for MX and SRV records.

data.record.status string · enum required · Example: pending

Record status. Mutations typically return 'pending' immediately; list/GET endpoints usually return 'active'.

pending
active
data.record.ttl integer required · Example: 3600

TTL in seconds.

data.record.type string · enum required · Example: TLSA

DNS record type. One of: A, AAAA, CNAME, ALIAS, MX, TXT, SRV, CAA, TLSA, NS.

A
AAAA
CNAME
ALIAS
MX
TXT
SRV
CAA
TLSA
NS
data.record.value string required · Example: 3 1 1 370c66fd4a0673ce1b62e76b819835dabb20702e4497cb10affe46e8135381e7

Record value.

requestId string required · Example: 2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba

Unique request identifier (UUID).

success boolean required · Example: true

True for successful responses.

timestamp string required · Example: 2026-02-10T00:00:00.000Z

ISO 8601 timestamp (UTC).

400
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

401 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

403 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

404 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

429 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

500 Standard error response
error string required

HTTP status title (e.g. 'Bad Request').

message string required

Human-readable message.

code string required

Machine-readable error code.

timestamp string required

ISO 8601 timestamp (UTC).

requestId string required

Unique request identifier (UUID).

details array<object>

Optional validation details (field-level errors).

details[].field string
details[].message string

Human-readable message.

details[].code string

Machine-readable error code.

retryAfter string

When to retry (ISO 8601 timestamp, UTC).

POST https://cloud.hostup.se/api/dns/zones/{zoneId}/records
For AI assistants
cURL
curl -X POST "https://cloud.hostup.se/api/dns/zones/505/records" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "A",
    "ttl": 3600,
    "name": "@",
    "value": "192.0.0.1"
  }'
Response
{
  "success": true,
  "timestamp": "2026-02-10T00:00:00.000Z",
  "requestId": "2121ae20-bd9d-41e9-aeeb-5dd1dd1a24ba",
  "data": {
    "record": {
      "id": 36976906,
      "type": "TLSA",
      "name": "_25._tcp.mail.example.com",
      "value": "3 1 1 370c66fd4a0673ce1b62e76b819835dabb20702e4497cb10affe46e8135381e7",
      "ttl": 3600,
      "status": "pending"
    }
  }
}
Request Body A
{
  "type": "A",
  "ttl": 3600,
  "name": "@",
  "value": "192.0.0.1"
}