Manage DNS records via GoDaddy API
Manage DNS records for GoDaddy domains via API. Add, update, or list A, CNAME, MX, TXT, and other records. Parse provider formats like Resend and Cloudflare into proper API calls.
/plugin marketplace add paddo/claude-tools/plugin install dns@paddo-toolshaikuManage DNS records for domains on GoDaddy via API.
Base URL: https://api.godaddy.com/v1
Auth Header:
Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET
curl -s "https://api.godaddy.com/v1/domains/{domain}/records" \
-H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" | jq
curl -s "https://api.godaddy.com/v1/domains/{domain}/records/{type}" \
-H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" | jq
curl -s -X PATCH "https://api.godaddy.com/v1/domains/{domain}/records" \
-H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" \
-H "Content-Type: application/json" \
-d '[RECORDS_JSON]'
curl -s -X PUT "https://api.godaddy.com/v1/domains/{domain}/records/{type}" \
-H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" \
-H "Content-Type: application/json" \
-d '[RECORDS_JSON]'
curl -s -X PUT "https://api.godaddy.com/v1/domains/{domain}/records/{type}/{name}" \
-H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" \
-H "Content-Type: application/json" \
-d '[RECORDS_JSON]'
{
"type": "A|AAAA|CNAME|MX|TXT|NS|SRV|CAA",
"name": "@|subdomain",
"data": "value",
"ttl": 3600,
"priority": 10 // MX, SRV only
}
records/{type}/{name} replaces ALL records matching that type+nameA record:
{"type": "A", "name": "@", "data": "192.0.2.1", "ttl": 3600}
CNAME:
{"type": "CNAME", "name": "www", "data": "example.com", "ttl": 3600}
MX record:
{"type": "MX", "name": "@", "data": "mail.example.com", "ttl": 3600, "priority": 10}
TXT record:
{"type": "TXT", "name": "@", "data": "v=spf1 include:_spf.google.com ~all", "ttl": 3600}
Users often paste DNS records from provider UIs. Parse carefully:
Resend shows records in a table format. Example for mail.example.com subdomain:
DKIM
Type Name Value
TXT resend._domainkey.mail p=MIGf...
SPF
Type Name Value Priority
MX send.mail feedback-smtp.us-east-1.amazonses.com 10
TXT send.mail v=spf1 include:amazonses.com ~all
Parsing rules:
resend._domainkey.mail → name is literally resend._domainkey.mail (the .mail suffix indicates the mail subdomain)send.mail → name is literally send.mailResulting JSON for domain example.com:
[
{"type": "TXT", "name": "resend._domainkey.mail", "data": "p=MIGf...", "ttl": 600},
{"type": "MX", "name": "send.mail", "data": "feedback-smtp.us-east-1.amazonses.com", "ttl": 600, "priority": 10},
{"type": "TXT", "name": "send.mail", "data": "v=spf1 include:amazonses.com ~all", "ttl": 600}
]
Type Name Content TTL Proxy
A @ 192.0.2.1 Auto Proxied
CNAME www example.com Auto DNS only
foo.mail are relative to root domainUse 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>