agentleFS
hostingerhostinger/hostinger-agent-skills/skills/domains/SKILL.md

domains

Skill28 starsChanged 5 months agoMITView on GitHub

Hostinger Domains API for domain portfolio management, availability checks, forwarding, WHOIS profiles, nameservers, domain lock, privacy protection, and domain access verifications. Use when registering domains, checking availability, managing DNS delegation, configuring redirects, handling WHOIS contact information, or checking domain verification status.

  • Sends data out

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. vercel/vercel-plugin★ 328same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository7 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. About 0 are common, 12 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before purchasing, check if a domain name is available across one or more TLDs.

    line 29
  2. Distinctive:

    Always check availability before attempting to purchase

    line 292
  3. Distinctive:

    Ensure WHOIS profile exists for the target TLD before registering

    line 293
  4. Distinctive:

    Keep domain lock enabled to prevent unauthorized transfers

    line 295
  5. Distinctive:

    Only disable domain lock immediately before an intended transfer

    line 300
  6. Distinctive:

    Always have at least 2 nameservers configured

    line 304
  7. Distinctive:

    Verify nameservers are responding before switching

    line 305
  8. Very specific:

    Use 301 (permanent) for SEO-preserving redirects

    line 309
  9. Very specific:

    Use 302 (temporary) for short-term redirects

    line 310
  10. Distinctive:

    Remove forwarding before pointing the domain to hosting

    line 311
  11. Very specific:

    Verify new nameservers are configured correctly: dig NS example.com

    line 317
  12. Distinctive:

    Check that DNS records exist on the new nameserver

    line 318
  13. Distinctive:

    Check registration status in hPanel

    line 321
  14. Distinctive:

    Verify WHOIS profile is complete for the target TLD

    line 322
  15. Distinctive:

    Ensure payment method has sufficient funds

    line 323
  16. Very specific:

    Check usage with the /whois/{whoisId}/usage endpoint first

    line 331

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Hostinger Domains

The Domains API provides full domain lifecycle management — from checking availability and purchasing to configuring nameservers, forwarding, WHOIS profiles, domain locks, and privacy protection.

Table of Contents

  • Core Concepts
  • Common Patterns
  • API Reference
  • Best Practices
  • Troubleshooting
  • References

Core Concepts

Domain Portfolio

Your domain portfolio contains all domains registered under your Hostinger account. Each domain has configuration for nameservers, WHOIS contacts, lock status, and privacy protection.

Domain Availability

Before purchasing, check if a domain name is available across one or more TLDs. The API also supports alternative domain suggestions.

Domain Forwarding

Redirect a domain to another URL using 301 (permanent) or 302 (temporary) redirects.

WHOIS Profiles

Contact information associated with domain registrations. Each TLD may require specific WHOIS details. Profiles can be reused across multiple domains.

Domain Lock

Prevents unauthorized domain transfers. Must be disabled before transferring a domain to another registrar.

Privacy Protection

Hides the domain owner's personal information from public WHOIS databases.

Domain Access Verification

Some operations require proof that you control a domain. The Domain Access Verifier returns the pending and completed verifications for a set of domains, so you can check verification status before relying on a domain.

Note: This endpoint lives under a different base path — /api/v2/direct/verifications/active — not /api/domains/v1/.

Common Patterns

Check Domain Availability

curl -X POST "https://developers.hostinger.com/api/domains/v1/availability" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "myawesomesite",
    "tlds": ["com", "net", "org"],
    "with_alternatives": true
  }'

Python SDK:

from hostinger_api import Hostinger

client = Hostinger(api_token="YOUR_API_TOKEN")
result = client.domains.availability.check(
    domain="myawesomesite",
    tlds=["com", "net", "org"],
    with_alternatives=True
)

TypeScript SDK:

import { Hostinger } from "hostinger-api-sdk";

const client = new Hostinger({ apiToken: "YOUR_API_TOKEN" });

const result = await client.domains.availability.check({
  domain: "myawesomesite",
  tlds: ["com", "net", "org"],
  withAlternatives: true,
});

PHP SDK:

use Hostinger\Api\HostingerApi;

$client = new HostingerApi('YOUR_API_TOKEN');

$result = $client->domains->availability->check([
    'domain' => 'myawesomesite',
    'tlds' => ['com', 'net', 'org'],
    'with_alternatives' => true,
]);

Note: Rate limited to 10 requests per minute. TLDs should be without leading dot (e.g., com not .com). For alternatives, provide only one TLD.

Purchase a Domain

curl -X POST "https://developers.hostinger.com/api/domains/v1/portfolio" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "my-new-domain.com",
    "item_id": "hostingercom-domain-com-usd-1y",
    "payment_method_id": 1327362,
    "domain_contacts": {
      "owner_id": 741288,
      "admin_id": 741288,
      "billing_id": 741288,
      "tech_id": 741288
    }
  }'

Get item_id from the billing catalog. If no payment method is provided, your default is used. If no WHOIS info is provided, default contact information for that TLD is used.

List and View Domains

# List all domains
curl -X GET "https://developers.hostinger.com/api/domains/v1/portfolio" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Get domain details
curl -X GET "https://developers.hostinger.com/api/domains/v1/portfolio/example.com" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

Configure Nameservers

curl -X PUT "https://developers.hostinger.com/api/domains/v1/portfolio/example.com/nameservers" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ns1": "ns1.custom-dns.com",
    "ns2": "ns2.custom-dns.com"
  }'

Domain Forwarding

# Create forwarding (301 permanent redirect)
curl -X POST "https://developers.hostinger.com/api/domains/v1/forwarding" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "old-domain.com",
    "redirect_type": "301",
    "redirect_url": "https://new-domain.com"
  }'

# Get forwarding config
curl -X GET "https://developers.hostinger.com/api/domains/v1/forwarding/old-domain.com" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Delete forwarding
curl -X DELETE "https://developers.hostinger.com/api/domains/v1/forwarding/old-domain.com" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

Domain Lock & Privacy Protection

# Enable domain lock (prevent transfers)
curl -X PUT "https://developers.hostinger.com/api/domains/v1/portfolio/example.com/domain-lock" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Disable domain lock (before transfer)
curl -X DELETE "https://developers.hostinger.com/api/domains/v1/portfolio/example.com/domain-lock" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Enable privacy protection
curl -X PUT "https://developers.hostinger.com/api/domains/v1/portfolio/example.com/privacy-protection" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Disable privacy protection
curl -X DELETE "https://developers.hostinger.com/api/domains/v1/portfolio/example.com/privacy-protection" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

WHOIS Profile Management

# List WHOIS profiles (optionally filter by TLD)
curl -X GET "https://developers.hostinger.com/api/domains/v1/whois?tld=com" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Create a WHOIS profile
curl -X POST "https://developers.hostinger.com/api/domains/v1/whois" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "tld": "com",
    "entity_type": "individual",
    "country": "US",
    "whois_details": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "phone": "+1.5551234567",
      "address": "123 Main St",
      "city": "New York",
      "state": "NY",
      "zip": "10001"
    }
  }'

# Check which domains use a WHOIS profile
curl -X GET "https://developers.hostinger.com/api/domains/v1/whois/741288/usage" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Delete a WHOIS profile
curl -X DELETE "https://developers.hostinger.com/api/domains/v1/whois/741288" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

Check Domain Verifications

# Get pending and completed verifications for one or more domains
curl -X GET "https://developers.hostinger.com/api/v2/direct/verifications/active" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "domains": ["example.com", "example.net"] }'

API Reference

Availability

MethodEndpointDescription
POST/api/domains/v1/availabilityCheck domain availability (rate limit: 10/min)

Portfolio

MethodEndpointDescription
GET/api/domains/v1/portfolioList all domains
POST/api/domains/v1/portfolioPurchase a new domain
GET/api/domains/v1/portfolio/{domain}Get domain details
PUT/api/domains/v1/portfolio/{domain}/nameserversUpdate nameservers
PUT/api/domains/v1/portfolio/{domain}/domain-lockEnable domain lock
DELETE/api/domains/v1/portfolio/{domain}/domain-lockDisable domain lock
PUT/api/domains/v1/portfolio/{domain}/privacy-protectionEnable privacy protection
DELETE/api/domains/v1/portfolio/{domain}/privacy-protectionDisable privacy protection

Forwarding

MethodEndpointDescription
POST/api/domains/v1/forwardingCreate domain forwarding
GET/api/domains/v1/forwarding/{domain}Get forwarding config
DELETE/api/domains/v1/forwarding/{domain}Delete forwarding

WHOIS

MethodEndpointDescription
GET/api/domains/v1/whoisList WHOIS profiles
POST/api/domains/v1/whoisCreate WHOIS profile
GET/api/domains/v1/whois/{whoisId}Get WHOIS profile
DELETE/api/domains/v1/whois/{whoisId}Delete WHOIS profile
GET/api/domains/v1/whois/{whoisId}/usageGet profile usage

Verifications

MethodEndpointDescription
GET/api/v2/direct/verifications/activeGet pending and completed domain verifications (body: domains string array)

Best Practices

Registration

  • Always check availability before attempting to purchase
  • Ensure WHOIS profile exists for the target TLD before registering
  • Some TLDs require additional_details — check requirements per TLD
  • Keep domain lock enabled to prevent unauthorized transfers

Security

  • Enable privacy protection to hide personal information from public WHOIS
  • Enable domain lock on all production domains
  • Only disable domain lock immediately before an intended transfer

Nameservers

  • Improper nameserver configuration makes the domain unresolvable
  • Always have at least 2 nameservers configured
  • Verify nameservers are responding before switching
  • Hostinger nameserver pairs differ per customer and domain. Keep an existing *.dns-parking.com pair; otherwise use the pair hPanel shows on the domain's Nameservers page, or ask the user. Never guess a pair, and never use ns1.dns-parking.com / ns2.dns-parking.com (a legacy pair). See transfer-guide.md

Forwarding

  • Use 301 (permanent) for SEO-preserving redirects
  • Use 302 (temporary) for short-term redirects
  • Remove forwarding before pointing the domain to hosting

Troubleshooting

Domain Not Resolving After Nameserver Change

  • Nameserver changes can take up to 48 hours to propagate
  • Verify new nameservers are configured correctly: dig NS example.com
  • Check that DNS records exist on the new nameserver

Domain Purchase Failed

  • Check registration status in hPanel
  • Verify WHOIS profile is complete for the target TLD
  • Ensure payment method has sufficient funds

Domain Lock Cannot Be Disabled

  • Some TLDs have registrar-imposed lock periods after registration
  • Contact support if the lock state doesn't change

WHOIS Profile Deletion Fails

  • Profile may be in use by active domains
  • Check usage with the /whois/{whoisId}/usage endpoint first

See Also

The following deep-dive guide is available in this skill directory:

  • transfer-guide.md — Domain purchase workflow, nameserver configuration, transfer procedures, WHOIS management, and bulk operations (TypeScript/PHP examples)

References

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.