DNS Zones
Bu sayfa henüz Türkçeye çevrilmedi. İngilizce sürüm gösteriliyor.
GET /api/v1/accounts/{username}/dns/{domain}
Get DNS zone for a domain
Returns the full DNS zone including all records for an owned domain.
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
ApiSuccess_DNSZoneResponse_ |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"data": {
"domain": "example.com",
"records": [
"..."
],
"serial": 0
},
"message": "",
"status": "success",
"warnings": [
"string"
]
}
cURL example:
curl -X GET \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}
GET /api/v1/accounts/{username}/dns/{domain}/dnssec
Get DNSSEC status
Returns whether DNSSEC is active and the public DS / DNSKEY material.
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
ApiSuccess_DNSSECStatusResponse_ |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"data": {
"domain": "example.com",
"ds_records": [
"..."
],
"enabled": false,
"keys": [
"..."
]
},
"message": "",
"status": "success",
"warnings": [
"string"
]
}
cURL example:
curl -X GET \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}/dnssec
POST /api/v1/accounts/{username}/dns/{domain}/dnssec/disable
Disable DNSSEC
Remove the signing keys and revert the zone to unsigned.
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
ApiSuccess_DNSSECStatusResponse_ |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"data": {
"domain": "example.com",
"ds_records": [
"..."
],
"enabled": false,
"keys": [
"..."
]
},
"message": "",
"status": "success",
"warnings": [
"string"
]
}
cURL example:
curl -X POST \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}/dnssec/disable
POST /api/v1/accounts/{username}/dns/{domain}/dnssec/enable
Enable DNSSEC
Generate a KSK + ZSK with ECDSA-P256-SHA256 and activate signing.
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
ApiSuccess_DNSSECStatusResponse_ |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"data": {
"domain": "example.com",
"ds_records": [
"..."
],
"enabled": false,
"keys": [
"..."
]
},
"message": "",
"status": "success",
"warnings": [
"string"
]
}
cURL example:
curl -X POST \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}/dnssec/enable
POST /api/v1/accounts/{username}/dns/{domain}/records
Add DNS record
Insert a new A / AAAA / CNAME / MX / TXT / SRV / CAA record.
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
Body fields:
| Field | Type | Required | Notes |
|---|---|---|---|
content |
string | yes | — |
name |
string | yes | — |
port |
integer | no | — |
priority |
integer | no | — |
record_type |
DNSRecordType | yes | enum: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, SOA, PTR |
ttl |
integer | no | default 3600; minimum=60.0; maximum=86400.0 |
weight |
integer | no | — |
Request body example:
{
"content": "string",
"name": "string",
"port": 0,
"priority": 0,
"record_type": "A",
"ttl": 3600,
"weight": 0
}
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
ApiSuccess_DNSRecordResponse_ |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"data": {
"content": "string",
"id": 0,
"name": "string",
"port": "...",
"priority": "...",
"record_type": "...",
"ttl": 0,
"weight": "..."
},
"message": "",
"status": "success",
"warnings": [
"string"
]
}
cURL example:
curl -X POST \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
-H "Content-Type: application/json" \
-d @body.json \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}/records
DELETE /api/v1/accounts/{username}/dns/{domain}/records/{record_id}
Delete DNS record
Remove a record by id. Returns a confirmation message only.
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
record_id |
integer | yes | — |
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
MessageResponse |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"message": "string",
"status": "success"
}
cURL example:
curl -X DELETE \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}/records/{record_id}
PUT /api/v1/accounts/{username}/dns/{domain}/records/{record_id}
Update DNS record
Modify content / TTL / priority for an existing record id.
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
record_id |
integer | yes | — |
Body fields:
| Field | Type | Required | Notes |
|---|---|---|---|
content |
string | no | — |
port |
integer | no | — |
priority |
integer | no | — |
ttl |
integer | no | — |
weight |
integer | no | — |
Request body example:
{
"content": "string",
"port": 0,
"priority": 0,
"ttl": 60.0,
"weight": 0
}
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
ApiSuccess_DNSRecordResponse_ |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"data": {
"content": "string",
"id": 0,
"name": "string",
"port": "...",
"priority": "...",
"record_type": "...",
"ttl": 0,
"weight": "..."
},
"message": "",
"status": "success",
"warnings": [
"string"
]
}
cURL example:
curl -X PUT \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
-H "Content-Type: application/json" \
-d @body.json \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}/records/{record_id}
POST /api/v1/accounts/{username}/dns/{domain}/zone
Create / bootstrap DNS zone for a domain
Idempotent: re-runs on a provisioned zone return the existing records. A zone created here is signed with DNSSEC like a zone created with the account; its mail records follow the account's setup_mail_dns switch. Used by the panel's 'Create Zone' CTA when a 404 DNS_ZONE_NOT_FOUND is detected (e.g. migration imports).
Path parameters:
| Name | Type | Required | Notes |
|---|---|---|---|
username |
string | yes | — |
domain |
string | yes | — |
Responses:
| Status | Schema | Description |
|---|---|---|
200 |
ApiSuccess_DNSZoneResponse_ |
Successful Response |
422 |
HTTPValidationError |
Validation Error |
Response example (200):
{
"data": {
"domain": "example.com",
"records": [
"..."
],
"serial": 0
},
"message": "",
"status": "success",
"warnings": [
"string"
]
}
cURL example:
curl -X POST \
-H "X-WHost-Key: $WHOST_API_KEY" \
-H "X-WHost-Timestamp: $(date +%s)" \
-H "X-WHost-Nonce: $(openssl rand -hex 16)" \
-H "X-WHost-Signature: $(compute_hmac)" \
https://your-server:2000/api/v1/accounts/{username}/dns/{domain}/zone
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.