UNPKG

@hasna/domains

Version:

Domain portfolio, registrar, marketplace, and DNS management for AI agents — CLI + MCP + HTTP API + SDK, shared account API and PostgreSQL

82 lines • 2.88 kB
/** * GoDaddy API integration for domain management * * Environment variables: * GODADDY_API_KEY — GoDaddy API key * GODADDY_API_SECRET — GoDaddy API secret */ import type { CreateDomainInput, UpdateDomainInput, Domain } from "../db/domains.js"; export interface GoDaddyConfig { apiKey: string; apiSecret: string; } export interface GoDaddyDomain { domain: string; domainId?: number; status: string; expires: string; renewAuto: boolean; nameServers?: string[]; } export interface GoDaddyDomainDetail extends GoDaddyDomain { createdAt?: string; locked?: boolean; privacy?: boolean; domainId?: number; } export interface GoDaddyDnsRecord { type: string; name: string; data: string; ttl: number; priority?: number; } export interface GoDaddyAvailability { domain: string; available: boolean; price?: number; currency?: string; } export interface GoDaddyRenewResponse { orderId: number; itemCount: number; total: number; } export declare class GoDaddyApiError extends Error { statusCode?: number | undefined; details?: unknown | undefined; constructor(message: string, statusCode?: number | undefined, details?: unknown | undefined); } export interface GoDaddySyncResult { synced: number; created: number; updated: number; errors: string[]; } type FetchFn = typeof globalThis.fetch; export declare function _setFetch(fn: FetchFn | null): void; export declare function listGoDaddyDomains(): Promise<GoDaddyDomain[]>; export declare function getDomainInfo(domain: string): Promise<GoDaddyDomainDetail>; export declare function renewDomain(domain: string): Promise<GoDaddyRenewResponse>; export declare function getDnsRecords(domain: string, type?: string): Promise<GoDaddyDnsRecord[]>; export declare function setDnsRecords(domain: string, records: GoDaddyDnsRecord[]): Promise<void>; export declare function checkAvailability(domain: string): Promise<GoDaddyAvailability>; export declare function syncToLocalDb(dbFns: { getDomainByName: (name: string) => Promise<Domain | null>; createDomain: (input: CreateDomainInput) => Promise<Domain>; updateDomain: (id: string, input: UpdateDomainInput) => Promise<Domain | null>; }): Promise<GoDaddySyncResult>; export interface GodaddyCapability { configured: boolean; gated: boolean; notes: string; } /** * GoDaddy retail Domains API capability. Current GoDaddy docs say DNS/domain * management production API access is available with 1+ domain or qualifying * plan/spend, while availability remains under a higher anti-abuse threshold. * This CLI still does not expose direct automated purchase through GoDaddy. */ export declare function godaddyCapability(env?: Record<string, string | undefined>): GodaddyCapability; export {}; //# sourceMappingURL=godaddy.d.ts.map