Manage DNS records via Spaceship API
Manage DNS records for domains on spaceship.com via API. Add email providers like Resend or Google Workspace, update A/CNAME records, and batch multiple changes into single API calls.
/plugin marketplace add paddo/claude-tools/plugin install dns@paddo-toolshaikuManage DNS records for domains on spaceship.com via API.
Base URL: https://spaceship.dev/api/v1
Auth Headers:
X-Api-Key: from $SPACESHIP_API_KEYX-Api-Secret: from $SPACESHIP_API_SECRETcurl -s "https://spaceship.dev/api/v1/dns/records/{domain}?take=500&skip=0" \
-H "X-Api-Key: $SPACESHIP_API_KEY" \
-H "X-Api-Secret: $SPACESHIP_API_SECRET" | jq
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 '{"force": true, "items": [RECORDS_JSON]}'
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 '[RECORDS_TO_DELETE]'
{
"type": "A|AAAA|CNAME|MX|TXT|NS|SRV|CAA|ALIAS|HTTPS|SVCB|PTR|TLSA",
"name": "@|subdomain|*.wildcard",
"ttl": 3600,
"address": "1.2.3.4", // A, AAAA
"cname": "target.com", // CNAME
"value": "txt content", // TXT, CAA
"exchange": "mail.example.com", // MX
"preference": 10, // MX priority
"nameserver": "ns1.example.com" // NS
}
5 requests per domain per 300 seconds. Batch multiple record changes into single PUT.
Resend/SES email:
[
{"type": "TXT", "name": "resend._domainkey", "ttl": 3600, "value": "p=MIG..."},
{"type": "MX", "name": "send", "ttl": 3600, "exchange": "feedback-smtp.us-east-1.amazonses.com", "preference": 10},
{"type": "TXT", "name": "send", "ttl": 3600, "value": "v=spf1 include:amazonses.com ~all"}
]
Google Workspace:
[
{"type": "MX", "name": "@", "ttl": 3600, "exchange": "aspmx.l.google.com", "preference": 1},
{"type": "TXT", "name": "@", "ttl": 3600, "value": "v=spf1 include:_spf.google.com ~all"}
]
Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Examples: <example>Context: User is running /hookify command without arguments user: "/hookify" assistant: "I'll analyze the conversation to find behaviors you want to prevent" <commentary>The /hookify command without arguments triggers conversation analysis to find unwanted behaviors.</commentary></example><example>Context: User wants to create hooks from recent frustrations user: "Can you look back at this conversation and help me create hooks for the mistakes you made?" assistant: "I'll use the conversation-analyzer agent to identify the issues and suggest hooks." <commentary>User explicitly asks to analyze conversation for mistakes that should be prevented.</commentary></example>