{"openapi":"3.0.3","info":{"title":"Agent Domain Search","description":"Agent-first domain registration and DNS management. Pay with USDC on Base via x402.","version":"1.0.0","contact":{"email":"support@agentdomainsearch.com"}},"servers":[{"url":"https://agentdomainsearch.com"}],"x-payment-required":true,"x-payment-info":{"protocol":"x402","currency":"USDC","network":"base","facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","manifest":"https://agentdomainsearch.com/.well-known/x402.json"},"paths":{"/{domain}":{"get":{"summary":"Check domain availability and price","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Domain info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainCheck"}}}}}},"post":{"summary":"Register a domain (x402 payment required)","x-x402-required":true,"x-payment":{"currency":"USDC","network":"base","typical_amount":"16.00"},"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"mynewdomain.com"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}}},"responses":{"201":{"description":"Domain registered","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterResponse"}}}},"402":{"description":"Payment required — returns x402 payment details"}}}},"/{domain}/price":{"get":{"summary":"Pricing for 1-10 year registrations","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Pricing table"}}}},"/{domain}/renew":{"post":{"summary":"Renew a domain (x402 payment required)","x-x402-required":true,"x-payment":{"currency":"USDC","network":"base"},"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"201":{"description":"Domain renewed"},"402":{"description":"Payment required"}}}},"/suggest":{"get":{"summary":"Domain name suggestions","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"Search keyword"}],"responses":{"200":{"description":"Suggestions list"}}}},"/domains":{"get":{"summary":"List domains owned by authenticated wallet","security":[{"walletAuth":[]}],"responses":{"200":{"description":"Domain list"},"401":{"description":"Unauthorized"}}}},"/{domain}/ns":{"get":{"summary":"View nameservers","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Nameservers"},"401":{"description":"Unauthorized — wallet signature required"}}},"put":{"summary":"Update nameservers","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Updated"},"401":{"description":"Unauthorized"}}}},"/{domain}/dns":{"get":{"summary":"View DNS zone records","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"DNS records"},"401":{"description":"Unauthorized"}}},"put":{"summary":"Set DNS records (full replacement)","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Updated"},"401":{"description":"Unauthorized"}}},"delete":{"summary":"Delete DNS zone","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Deleted"},"401":{"description":"Unauthorized"}}}},"/{domain}/lock":{"put":{"summary":"Lock or unlock domain","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Updated"},"401":{"description":"Unauthorized"}}}},"/{domain}/contacts":{"get":{"summary":"View registrant contacts","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Contacts"},"401":{"description":"Unauthorized"}}},"put":{"summary":"Update registrant contacts","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Updated"},"401":{"description":"Unauthorized"}}}},"/{domain}/verify":{"post":{"summary":"Resend ICANN verification email","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Verification resent"},"401":{"description":"Unauthorized"}}}},"/{domain}/transfer":{"get":{"summary":"Get EPP auth code for transferring domain to another registrar","security":[{"walletAuth":[]}],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"example":"example.com"}],"responses":{"200":{"description":"Auth code and transfer instructions"},"401":{"description":"Unauthorized"}}}}},"components":{"securitySchemes":{"walletAuth":{"type":"http","scheme":"bearer","description":"EIP-191 signed token: <timestamp>.<130-hex-signature>. Sign 'agentdomainsearch.com:<timestamp>' with personal_sign."}},"schemas":{"DomainCheck":{"type":"object","properties":{"domain":{"type":"string"},"available":{"type":"boolean"},"price":{"type":"number","nullable":true},"currency":{"type":"string"}}},"RegisterRequest":{"type":"object","required":["contacts"],"properties":{"contacts":{"type":"object","required":["first_name","last_name","email","phone","address1","city","state","postal_code","country"],"properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"org_name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"address1":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postal_code":{"type":"string"},"country":{"type":"string"}}},"period":{"type":"integer","default":1},"nameservers":{"type":"array","items":{"type":"string"}}}},"RegisterResponse":{"type":"object","properties":{"domain":{"type":"string"},"registered":{"type":"boolean"},"expires":{"type":"string"},"nameservers":{"type":"array","items":{"type":"string"}},"owner":{"type":"string"},"verification_required":{"type":"boolean"},"verification_email":{"type":"string"}}}}}}