domain-hunter

Public
0

Repository: resciencelab/opc-skills

Log in or sign up to clone this skill.

R
resciencelab
Imported Feb 28, 2026

Low Risk

No security issues found

INFO

Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.

Remediation Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)

Scanned in 0.004s

Description

Search domains, compare prices, find promo codes, get purchase recommendations. Use when user wants to buy a domain, check domain prices, find domain deals, compare registrars, or search for .ai/.com domains.

Skill Files

Download .zip
SKILL.md
# Domain Hunter Skill

Help users find and purchase domain names at the best price.

## Workflow

### Step 1: Generate Domain Ideas & Check Availability

Based on the user's project description, generate 5-10 creative domain name suggestions.

**Guidelines:**
- Keep names short (under 15 characters)
- Make them memorable and brandable
- Consider: `{action}{noun}`, `{noun}{suffix}`, `{prefix}{keyword}`
- Common suffixes: app, io, hq, ly, ify, now, hub

**CRITICAL: Always check availability before presenting domains to user!**

Use one of these methods to verify availability:

**Method 1: WHOIS check (most reliable)**
```bash
# Check if domain is available via whois
whois {domain}.{tld} 2>/dev/null | grep -i "no match\|not found\|available\|no data found" && echo "AVAILABLE" || echo "TAKEN"
```

**Method 2: Registrar search page**
Open the registrar's domain search in browser to verify:
```bash
open "https://www.spaceship.com/domains/?search={domain}.{tld}"
```

**Method 3: Bulk check via Namecheap/Dynadot**
- https://www.namecheap.com/domains/registration/results/?domain={domain}
- https://www.dynadot.com/domain/search?domain={domain}

**IMPORTANT:** 
- Only present domains that are confirmed AVAILABLE
- Mark any uncertain domains with "(unverified)" 
- Present suggestions to user and **wait for confirmation** before proceeding
- Ask user to pick their preferred options or provide feedback
- Only move to Step 2 after user approves domain name(s)

### Step 2: Compare Prices

Use **WebSearch** to find current prices:

```
WebSearch: "cheapest .{tld} domain registrar 2026 site:tld-list.com"
WebSearch: ".{tld} domain price comparison tldes.com"
```

**Key price comparison sites:**
- tld-list.com/tld/{tld}
- tldes.com/{tld}
- domaintyper.com/{tld}-domain

### Step 3: Find Promo Codes

Use **Twitter skill** to search registrar accounts:

```bash
cd <twitter_skill_directory>
python3 scripts/search_tweets.py "from:{registrar} promo code" --type Latest --limit 15
python3 scripts/search_tweets.py "{registrar} promo code coupon" --type Latest --limit 15
```

Use **Reddit skill** to search domain communities:

```bash
cd <reddit_skill_directory>
python3 scripts/search_posts.py "{registrar} promo code" --limit 15
python3 scripts/search_posts.py "{registrar} coupon discount" --subreddit Domains --limit 10
```

**Major registrar Twitter handles:**
- @spaceship, @Dynadot, @Namecheap, @Porkbun, @namesilo, @Cloudflare

### Step 4: Recommend

Present final recommendation in this format:

```
## Recommendation

**Domain:** example.ai
**Best Registrar:** Spaceship
**Price:** $68.98/year (2-year minimum = $137.96)
**Promo Code:** None available for .ai
**Purchase Link:** https://www.spaceship.com/

### Price Comparison
| Registrar | Year 1 | Renewal | 2-Year Total |
|-----------|--------|---------|--------------|
| Spaceship | $68.98 | $68.98  | $137.96      |
| Cloudflare| $70.00 | $70.00  | $140.00      |
| Porkbun   | $71.40 | $72.40  | $143.80      |
```

## Important Notes

1. **Premium TLDs** (.ai, .io) rarely have promo codes - wholesale costs are too high
2. **.ai domains** require 2-year minimum registration
3. **Cloudflare** offers at-cost pricing with no markup
4. **Renewal prices** often differ from registration - always check both
5. **WHOIS privacy** is free at most registrars (Cloudflare, Namecheap, Porkbun)

## References

- [references/registrars.md](./references/registrars.md) - Detailed registrar comparison
- [references/spaceship-api.md](./references/spaceship-api.md) - Spaceship API for automated domain operations
.claude-plugin/plugin.json Reference
{
  "name": "domain-hunter",
  "version": "1.0.0",
  "description": "Search domains, compare registrar prices, and find promo codes. Help users find and purchase domain names at the best price.",
  "author": {
    "name": "ReScienceLab"
  },
  "homepage": "https://github.com/ReScienceLab/opc-skills/tree/main/skills/domain-hunter",
  "repository": "https://github.com/ReScienceLab/opc-skills",
  "license": "MIT",
  "keywords": [
    "domain",
    "registrar",
    "buy domain",
    "domain price",
    ".ai domain",
    ".com domain"
  ],
  "skills": [
    "./SKILL.md"
  ]
}
examples/auto-video-editing-domain.md Reference
# Domain Hunter Example: Finding a Domain for Auto Video Editing Project

This is a complete conversation example showing how the domain-hunter skill helps users find and purchase domain names at the best price.

---

## Conversation

### User

> I am working on an auto video editing project. I need to buy a new domain. Please find one for me.

### Assistant

I'll help you find a domain for your auto video editing project. Let me generate some creative domain name suggestions and check their availability.

**Checking domain availability via WHOIS:**

```bash
for domain in "autoedit.io" "clipcraft.io" "videoedit.ai" "cutflow.io" "autocuts.io" "editsnap.io" "vidflow.ai" "clipflow.io" "autoclipper.io" "smartcut.io"; do
  echo "Checking $domain..."
  result=$(whois "$domain" 2>/dev/null | grep -i "no match\|not found\|available\|no data found\|no entries found" | head -1)
  if [ -n "$result" ]; then
    echo "  -> LIKELY AVAILABLE"
  else
    echo "  -> LIKELY TAKEN"
  fi
done
```

**Results - First Batch:**
```
Checking autoedit.io...   -> LIKELY TAKEN
Checking clipcraft.io...  -> LIKELY TAKEN
Checking videoedit.ai...  -> LIKELY TAKEN
Checking cutflow.io...    -> LIKELY AVAILABLE
Checking autocuts.io...   -> LIKELY AVAILABLE
Checking editsnap.io...   -> LIKELY AVAILABLE
Checking vidflow.ai...    -> LIKELY TAKEN
Checking clipflow.io...   -> LIKELY TAKEN
Checking autoclipper.io...-> LIKELY AVAILABLE
Checking smartcut.io...   -> LIKELY TAKEN
```

**Results - Second Batch:**
```
Checking autovidz.io...   -> LIKELY AVAILABLE
Checking clipauto.io...   -> LIKELY AVAILABLE
Checking videotrim.ai...  -> LIKELY AVAILABLE
Checking cliphero.io...   -> LIKELY AVAILABLE
Checking quickclip.io...  -> LIKELY TAKEN
Checking autosnip.io...   -> LIKELY AVAILABLE
Checking vidauto.io...    -> LIKELY TAKEN
Checking clipmagic.io...  -> LIKELY TAKEN
Checking autorender.io... -> LIKELY TAKEN
Checking editbot.io...    -> LIKELY AVAILABLE
```

Here are the **available domain suggestions** for your auto video editing project:

## Available Domains

| Domain | Notes |
|--------|-------|
| **cutflow.io** | Short, memorable - "cut" + "flow" for editing workflow |
| **autocuts.io** | Direct - auto video cuts |
| **editsnap.io** | Quick, snappy editing |
| **autoclipper.io** | Descriptive - auto video clipping |
| **autovidz.io** | Casual/trendy - auto videos |
| **clipauto.io** | Simple - clip automation |
| **videotrim.ai** | .ai TLD - video trimming |
| **cliphero.io** | Brandable - hero for clips |
| **autosnip.io** | Short clips/snips |
| **editbot.io** | Bot/AI angle for editing |

**My top picks:**
1. **cutflow.io** - Short (7 chars), professional, memorable
2. **autocuts.io** - Clear purpose, good branding
3. **videotrim.ai** - .ai TLD fits AI/auto theme well

**Which domain(s) would you like me to check prices for?** Once you pick your favorites, I'll compare prices across registrars and look for promo codes.

---

### User

> cutflow.io looks good, I need to know where can I get the cheapest price to buy it? Also, is there any promo code?

### Assistant

*Activating Twitter skill and Reddit skill to search for promo codes...*

**Step 1: Web Search for Price Comparison**

Fetched data from https://tld-list.com/tld/io showing current .io domain prices:

| Registrar | Registration | Renewal | Notes |
|-----------|--------------|---------|-------|
| Spaceship | $14.98 | $46.58 | Promo code **IO85** (85% off, limit 1) |
| Sav | $14.99 | $38.95 | No promo needed |
| Dynadot | $28.89 | $47.70 | - |
| Regery | $28.99 | $47.99 | - |
| Gandi.net | $31.99 | $69.99 | - |

**Step 2: Twitter Search for Promo Codes**

```bash
python3 scripts/search_tweets.py "from:spaceship promo code" --type Latest --limit 10
```

**Results from @spaceship:**
```
tweets[6]{id,author,text,likes}:
  1994242486982561849,@spaceship,@MyBrandDomains Hello, thank you for the shout-out...
  1912951775230906514,@spaceship,@menjilx Feel free to use the SPSR86 promo code for the disc,1
  1823732844570542526,@spaceship,@DomainGoodness Yes, you are right. You can use this promo c,1
```

```bash
python3 scripts/search_tweets.py "from:Dynadot promo code" --type Latest --limit 10
```

**Results from @Dynadot:**
```
tweets[10]{id,author,text,likes}:
  1952815921958928524,@Dynadot,🚨 Transfer your .COM domains to Dynadot for just $10.49 with,25
  1922625449613562197,@Dynadot,@Bhanudbk @dynatodd We did have a .com promo code in April a,2
  1918277574255657371,@Dynadot,@DomainFrank Hi there @DomainFrank sorry we don't have a reg,0
```

```bash
python3 scripts/search_tweets.py "from:Namecheap promo code" --type Latest --limit 10
```

**Results from @Namecheap:**
```
tweets[10]{id,author,text,likes}:
  1943382216437834185,@Namecheap,@Umarkha69276826 Hi! If you are a new customer, you can get ,1
  1731983630761632149,@Namecheap,@bai_Dobri For new users, we've got our NEWCOM598 code at ht,3
```

**Step 3: Reddit Search for Promo Codes**

```bash
python3 scripts/search_posts.py "spaceship domain promo code" --subreddit Domains --limit 10
```

**Results from r/Domains:**
```
r/Domains/search(spaceship domain promo code)[10]{title,subreddit,score,comments}:
  Domain pricing question: Cloudflare vs Spaceship renewals,r/Domains,1,10
  Best godaddy promo code domain deals for first time buyers?,r/Domains,0,14
  Spaceship Buyer Hub,r/Domains,2,14
  Best registrar for a throwaway .com domain I need for just 1,r/Domains,5,4
```

---

## Final Recommendation

**Domain:** cutflow.io

### Price Comparison

| Registrar | Year 1 | Renewal | Notes |
|-----------|--------|---------|-------|
| **Spaceship** | **$14.98** | $46.58 | Use promo code **IO85** (85% off, limit 1) |
| Sav | $14.99 | $38.95 | No promo needed |
| Dynadot | $28.89 | $47.70 | No .io promo found |
| Regery | $28.99 | $47.99 | - |
| Namecheap | $34.98 | $57.98 | 40% off first year |
| Hostinger | $31.99 | $67.99 | - |

### Best Deal

**Winner: Spaceship at $14.98/year** (with promo code **IO85**)

- **Promo Code:** `IO85` (85% off .io registration, limit 1 per customer)
- **Free Features:** DNS, Email Forwarding, WHOIS Privacy
- **Renewal:** $46.58/year (industry standard for .io)

**Purchase Link:** https://www.spaceship.com/

### Alternative if renewal matters

**Sav.com at $14.99/year** with the **cheapest renewal at $38.95/year** - best 3-year value if you plan to keep the domain long-term.

---

**Note:** .io domains have high wholesale costs (~$45), so the first-year promos are significant discounts. Renewal prices are similar across registrars.

---

## Key Takeaways

1. **WHOIS checks** are used to verify domain availability before presenting options
2. **Price comparison** from tld-list.com provides up-to-date registrar pricing
3. **Twitter skill** searches registrar accounts (@spaceship, @Dynadot, @Namecheap) for promo codes
4. **Reddit skill** searches r/Domains community for user-shared deals
5. **Final recommendation** includes best price, promo code, and purchase link
references/registrars.md Reference
# Domain Registrar Reference

## Recommended Registrars

| Registrar | Best For | Pros | Cons |
|-----------|----------|------|------|
| **Cloudflare** | At-cost pricing | No markup, same renewal price, free privacy | Must add zone first |
| **Spaceship** | Cheapest prices | Often lowest .ai/.io prices, clean UI | Newer company |
| **NameSilo** | Consistent pricing | Low renewal, bulk discounts | Basic UI |
| **Porkbun** | Budget friendly | Good prices, fun branding, free SSL | Limited enterprise features |
| **Namecheap** | Features | Free WhoisGuard year 1, good support | Renewal can be higher |
| **Dynadot** | Domain auctions | Good aftermarket, bulk tools | Interface dated |
| **GoDaddy** | Avoid | Name recognition | High renewal, upsells |

## Price Tiers by TLD

### Premium TLDs (rarely have promos)
- **.ai** - $65-80/year (Anguilla ccTLD, 2-year min)
- **.io** - $35-50/year (British Indian Ocean Territory)
- **.co** - $25-35/year (Colombia)

### Standard TLDs
- **.com** - $9-14/year
- **.net** - $12-16/year
- **.org** - $10-14/year

### Budget TLDs
- **.xyz** - $1-10/year
- **.club** - $1-5/year
- **.site** - $1-5/year

## Registrar Purchase Links

| Registrar | URL |
|-----------|-----|
| Cloudflare | https://dash.cloudflare.com/?to=/:account/domains/register |
| Spaceship | https://www.spaceship.com/ |
| NameSilo | https://www.namesilo.com/ |
| Porkbun | https://porkbun.com/ |
| Namecheap | https://www.namecheap.com/ |
| Dynadot | https://www.dynadot.com/ |

## Twitter Handles for Promo Search

```
@spaceship
@Dynadot
@Namecheap
@Porkbun
@namesilo
@Cloudflare
@GoDaddy
```

## Reddit Communities

- r/Domains - General domain discussion
- r/webhosting - Hosting + domains
- r/Entrepreneur - Sometimes domain deals shared
references/spaceship-api.md Reference
# Spaceship API Reference

API keys configured in `~/.zshrc`:
- `SPACESHIP_API_KEY`
- `SPACESHIP_API_SECRET`

Base URL: `https://spaceship.dev/api`

## Authentication

All requests require these headers:
```bash
-H "X-Api-Key: $SPACESHIP_API_KEY"
-H "X-Api-Secret: $SPACESHIP_API_SECRET"
```

Load environment variables:
```bash
export SPACESHIP_API_KEY="$(grep SPACESHIP_API_KEY ~/.zshrc | cut -d'"' -f2)"
export SPACESHIP_API_SECRET="$(grep SPACESHIP_API_SECRET ~/.zshrc | cut -d'"' -f2)"
```

## Domains API

### List Domains
```bash
curl -s -X GET "https://spaceship.dev/api/v1/domains?take=100&skip=0" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET"
```

### Check Domain Availability (Batch)
```bash
curl -s -X POST "https://spaceship.dev/api/v1/domains/available" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"domains": ["example.com", "test.ai"]}'
```
Response: `result` = "available" | "taken" | "reserved"

### Check Single Domain Availability
```bash
curl -s -X GET "https://spaceship.dev/api/v1/domains/{domain}/available" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET"
```

### Get Domain Info
```bash
curl -s -X GET "https://spaceship.dev/api/v1/domains/{domain}" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET"
```

### Register Domain (Purchase)
```bash
curl -s -X POST "https://spaceship.dev/api/v1/domains/{domain}" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "autoRenew": true,
    "years": 1,
    "privacyProtection": {
      "level": "high",
      "userConsent": true
    },
    "contacts": {
      "registrant": "CONTACT_ID",
      "admin": "CONTACT_ID",
      "tech": "CONTACT_ID",
      "billing": "CONTACT_ID"
    }
  }'
```
**Note:** Returns 202 Accepted, poll async-operations for result

### Update Nameservers (Configure to Cloudflare)
```bash
curl -s -X PUT "https://spaceship.dev/api/v1/domains/{domain}/nameservers" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "custom",
    "hosts": ["ns1.cloudflare.com", "ns2.cloudflare.com"]
  }'
```

### Update Auto-Renewal
```bash
curl -s -X PUT "https://spaceship.dev/api/v1/domains/{domain}/autorenew" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"isEnabled": true}'
```

### Renew Domain
```bash
curl -s -X POST "https://spaceship.dev/api/v1/domains/{domain}/renew" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"years": 1}'
```

### Update Privacy Protection
```bash
curl -s -X PUT "https://spaceship.dev/api/v1/domains/{domain}/privacy" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "level": "high",
    "userConsent": true
  }'
```
Levels: "high" | "medium" | "none"

### Update Domain Contacts
```bash
curl -s -X PUT "https://spaceship.dev/api/v1/domains/{domain}/contacts" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "registrant": "CONTACT_ID",
    "admin": "CONTACT_ID",
    "tech": "CONTACT_ID",
    "billing": "CONTACT_ID"
  }'
```

### Get Auth Code (for Transfer Out)
```bash
curl -s -X GET "https://spaceship.dev/api/v1/domains/{domain}/auth-code" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET"
```

### Update Transfer Lock
```bash
curl -s -X PUT "https://spaceship.dev/api/v1/domains/{domain}/transfer-lock" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"isEnabled": true}'
```

### Transfer In Domain
```bash
curl -s -X POST "https://spaceship.dev/api/v1/domains/{domain}/transfer" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "authCode": "AUTH_CODE_FROM_CURRENT_REGISTRAR",
    "autoRenew": true,
    "privacyProtection": {
      "level": "high",
      "userConsent": true
    },
    "contacts": {
      "registrant": "CONTACT_ID",
      "admin": "CONTACT_ID",
      "tech": "CONTACT_ID",
      "billing": "CONTACT_ID"
    }
  }'
```

## Contacts API

### Save Contact
```bash
curl -s -X PUT "https://spaceship.dev/api/v1/contacts/{contactId}" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "John",
    "lastName": "Doe",
    "organization": "Company Inc",
    "email": "[email protected]",
    "phone": "+1.5551234567",
    "address1": "123 Main St",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94102",
    "country": "US"
  }'
```

### Get Contact
```bash
curl -s -X GET "https://spaceship.dev/api/v1/contacts/{contactId}" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET"
```

## DNS Records API

### Get DNS Records
```bash
curl -s -X GET "https://spaceship.dev/api/v1/dns-records/{domain}?take=100&skip=0" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET"
```

### Save DNS Records
```bash
curl -s -X PUT "https://spaceship.dev/api/v1/dns-records/{domain}" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {"type": "A", "name": "@", "address": "1.2.3.4", "ttl": 3600},
      {"type": "CNAME", "name": "www", "target": "example.com", "ttl": 3600},
      {"type": "TXT", "name": "@", "content": "v=spf1 ...", "ttl": 3600},
      {"type": "MX", "name": "@", "mailHost": "mail.example.com", "priority": 10, "ttl": 3600}
    ]
  }'
```

### Delete DNS Records
```bash
curl -s -X DELETE "https://spaceship.dev/api/v1/dns-records/{domain}" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {"type": "A", "name": "@", "address": "1.2.3.4"}
    ]
  }'
```

## Async Operations

Domain registration, transfer, etc. are async operations, returning `spaceship-async-operationid` header.

### Get Operation Status
```bash
curl -s -X GET "https://spaceship.dev/api/v1/async-operations/{operationId}" \
  -H "X-Api-Key: $SPACESHIP_API_KEY" \
  -H "X-Api-Secret: $SPACESHIP_API_SECRET"
```
Status: "pending" | "success" | "failed"

## API Permissions

| Scope | Description |
|-------|-------------|
| domains:read | Read domain information |
| domains:write | Manage domain settings |
| domains:transfer | Domain transfer in/out |
| domains:billing | Domain purchase and renewal |
| contacts:read | Read contacts |
| contacts:write | Save contacts |
| dnsrecords:read | Read DNS records |
| dnsrecords:write | Write DNS records |
| asyncoperations:read | Query async operations |

## Rate Limits

| Operation | Limit |
|-----------|-------|
| List domains | 300 req / 300s per user |
| Check availability (batch) | 30 req / 30s per user |
| Check availability (single) | 5 req / 300s per domain |
| Get domain info | 5 req / 300s per domain |
| Register domain | 30 req / 30s per user |
| Update nameservers | 5 req / 300s per domain |
| Async operations | 60 req / 300s per user |

## Common Workflows

### 1. Purchase Domain + Configure Cloudflare NS

```bash
# 1. Check availability
curl -s -X GET "https://spaceship.dev/api/v1/domains/example.com/available" ...

# 2. Get existing contact ID from another domain
curl -s -X GET "https://spaceship.dev/api/v1/domains?take=1&skip=0" ... | jq '.items[0].contacts.registrant'

# 3. Register domain
curl -s -X POST "https://spaceship.dev/api/v1/domains/example.com" ... -d '{...}'
# Note the operationId from response header

# 4. Poll for completion
curl -s -X GET "https://spaceship.dev/api/v1/async-operations/{operationId}" ...

# 5. Update nameservers to Cloudflare
curl -s -X PUT "https://spaceship.dev/api/v1/domains/example.com/nameservers" \
  ... -d '{"provider": "custom", "hosts": ["ns1.cloudflare.com", "ns2.cloudflare.com"]}'
```

### 2. Transfer Domain to Spaceship

```bash
# 1. Get auth code from current registrar
# 2. Unlock domain at current registrar
# 3. Initiate transfer
curl -s -X POST "https://spaceship.dev/api/v1/domains/example.com/transfer" ...

# 4. Poll async operation for status
curl -s -X GET "https://spaceship.dev/api/v1/async-operations/{operationId}" ...
```

Version History

v1.0.0 Imported from GitHub
1 week ago