원클릭으로
dns
Use when user says "Hostinger DNS", "DNS record", or "point domain". Records, propagation, verification, rollback risk.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when user says "Hostinger DNS", "DNS record", or "point domain". Records, propagation, verification, rollback risk.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | dns |
| requires_mcps | ["hostinger-api"] |
| description | Use when user says "Hostinger DNS", "DNS record", or "point domain". Records, propagation, verification, rollback risk. |
| last_updated | 2026-03-20 |
| doc_source | https://developers.hostinger.com |
The DNS API enables full management of DNS zone records for domains hosted on Hostinger. You can create, update, delete, validate, and reset DNS records, as well as manage DNS snapshots for backup and restore operations.
This skill is paired with the hostinger-api MCP (@hostinger/api-mcp-server). Prefer mcp__hostinger-api__DNS_* tools over raw curl. The curl examples below are the fallback path for debugging or when the MCP is unreachable — they are not the primary interface.
Available DNS tools:
DNS_getDNSRecordsV1 — read current zone recordsDNS_updateDNSRecordsV1 — apply record changes (use DNS_validateDNSRecordsV1 first)DNS_validateDNSRecordsV1 — dry-run validation before updateDNS_deleteDNSRecordsV1 — remove specific recordsDNS_resetDNSRecordsV1 — restore zone to Hostinger defaultsDNS_getDNSSnapshotListV1, DNS_getDNSSnapshotV1 — snapshot inventory + detailDNS_restoreDNSSnapshotV1 — roll back to a snapshot (the safety net before risky changes)Standard DNS record types are supported:
| Type | Purpose | Example |
|---|---|---|
| A | IPv4 address | 192.168.1.1 |
| AAAA | IPv6 address | 2001:db8::1 |
| CNAME | Canonical name alias | www.example.com. |
| ALIAS | ANAME/ALIAS record | example.com. |
| MX | Mail exchange | mail.example.com. |
| TXT | Text record | v=spf1 include:... |
| NS | Name server | ns1.example.com. |
| SOA | Start of authority | Zone authority info |
| SRV | Service locator | _sip._tcp.example.com. |
| CAA | Certificate authority auth | 0 issue "letsencrypt.org" |
When updating DNS records, the overwrite flag controls behavior:
overwrite: true (default) — Replaces existing records matching name and type with the new recordsoverwrite: false — Updates TTL on existing records, appends new records; if no match found, creates themDNS snapshots capture the state of a domain's DNS zone at a point in time. Use them to restore previous configurations if something goes wrong.
TTL controls how long DNS resolvers cache a record. Default is 14400 seconds (4 hours). Lower values propagate changes faster but increase DNS query load.
curl -X GET "https://developers.hostinger.com/api/dns/v1/zones/example.com" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN"
Python SDK:
from hostinger_api import Hostinger
client = Hostinger(api_token="YOUR_API_TOKEN")
records = client.dns.zone.get_dns_records("example.com")
for record in records:
print(f"{record.type} {record.name} -> {record.content}")
TypeScript SDK:
import { Hostinger } from "hostinger-api-sdk";
const client = new Hostinger({ apiToken: "YOUR_API_TOKEN" });
const records = await client.dns.zone.getRecords("example.com");
for (const record of records) {
console.log(`${record.type} ${record.name} -> ${record.content}`);
}
PHP SDK:
use Hostinger\Api\HostingerApi;
$client = new HostingerApi('YOUR_API_TOKEN');
$records = $client->dns->zone->getRecords('example.com');
foreach ($records as $record) {
echo "{$record->type} {$record->name} -> {$record->content}\n";
}
# Add an A record for www subdomain
curl -X PUT "https://developers.hostinger.com/api/dns/v1/zones/example.com" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"overwrite": true,
"zone": [
{
"name": "www",
"type": "A",
"ttl": 14400,
"records": [
{ "content": "192.168.1.1" }
]
}
]
}'
# Add MX records for email
curl -X PUT "https://developers.hostinger.com/api/dns/v1/zones/example.com" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"overwrite": true,
"zone": [
{
"name": "@",
"type": "MX",
"ttl": 14400,
"records": [
{ "content": "10 mail1.example.com." },
{ "content": "20 mail2.example.com." }
]
}
]
}'
# Add a TXT record for SPF
curl -X PUT "https://developers.hostinger.com/api/dns/v1/zones/example.com" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"overwrite": false,
"zone": [
{
"name": "@",
"type": "TXT",
"ttl": 14400,
"records": [
{ "content": "v=spf1 include:_spf.google.com ~all" }
]
}
]
}'
# Validate records first (returns 200 if valid, 422 if invalid)
curl -X POST "https://developers.hostinger.com/api/dns/v1/zones/example.com/validate" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"overwrite": true,
"zone": [
{
"name": "www",
"type": "CNAME",
"ttl": 14400,
"records": [
{ "content": "example.com." }
]
}
]
}'
curl -X DELETE "https://developers.hostinger.com/api/dns/v1/zones/example.com" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{ "name": "www", "type": "A" },
{ "name": "old", "type": "CNAME" }
]
}'
curl -X POST "https://developers.hostinger.com/api/dns/v1/zones/example.com/reset" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sync": true,
"reset_email_records": false,
"whitelisted_record_types": ["MX", "TXT"]
}'
# List available snapshots
curl -X GET "https://developers.hostinger.com/api/dns/v1/snapshots/example.com" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN"
# Get a specific snapshot with contents
curl -X GET "https://developers.hostinger.com/api/dns/v1/snapshots/example.com/42" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN"
# Restore from a snapshot
curl -X POST "https://developers.hostinger.com/api/dns/v1/snapshots/example.com/42/restore" \
-H "Authorization: Bearer $HOSTINGER_API_TOKEN"
| Method | Endpoint | Description |
|---|---|---|
GET | /api/dns/v1/zones/{domain} | Get DNS records |
PUT | /api/dns/v1/zones/{domain} | Update DNS records |
DELETE | /api/dns/v1/zones/{domain} | Delete DNS records |
POST | /api/dns/v1/zones/{domain}/reset | Reset DNS to defaults |
POST | /api/dns/v1/zones/{domain}/validate | Validate DNS records |
| Method | Endpoint | Description |
|---|---|---|
GET | /api/dns/v1/snapshots/{domain} | List DNS snapshots |
GET | /api/dns/v1/snapshots/{domain}/{snapshotId} | Get snapshot with contents |
POST | /api/dns/v1/snapshots/{domain}/{snapshotId}/restore | Restore from snapshot |
/validate endpoint before applying changesoverwrite: false when adding records without removing existing onesoverwrite: true when you want to completely replace records of a given name/type@ as the name for root domain recordswhitelisted_record_types parameter during reset to preserve email records (MX, TXT)reset_email_records: false when resetting if you use third-party email servicesdig or nslookup to verify: dig @8.8.8.8 example.com A.)dig example.com MXname AND type — both must matchThe following deep-dive guide is available in this skill directory:
email-dns-setup.md — Complete email DNS setup (MX, SPF, DKIM, DMARC for Google Workspace, Microsoft 365, and Hostinger Email)Use when you need to drive a real browser to open a page, fill forms, click, screenshot, scrape, or test a login flow. Triggers on "automate the browser", "test the page", "scrape this site".
Use when the user says "lightpanda", "scrape this page", "headless browse", or "dump the DOM". Fast headless browser for rendering URLs without Chromium, scraping, and CDP automation.
Use when user says "does it work?", "screenshot the page", "show me the form", "check the checkout flow", or "open the browser". Drives Chromium/Firefox/WebKit via Playwright MCP to verify storefront/admin UI changes, reproduce reported UI bugs, test Medusa dev servers on localhost, or explore third-party sites.
Track resume versions, maintain one master resume, and manage per-job tailored copies. Use when user says "manage my resumes", "track resume versions", "which resume did I send", "master resume", "organize my resumes", or "version of my resume for this job".
Use when user says "extract text from pdf", "merge pdfs", "split a pdf", "fill out a pdf form", "extract tables from pdf", or "create a pdf". Complete PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
End-to-end pipeline that chains trendradar → article-writer → X thread → Higgsfield hero image → Postiz draft in a single shot, turning a current trend topic into a posted-ready social thread with a generated hero image. Use when user says "/trend-to-thread", "post a trend thread", "build a thread from trends", "új X thread mai trendből", or "Postiz X poszt mai trendekből".