Domains

Domain registrar + DNS, contacts, billing, and e-mail-sending domains (DKIM/SPF).

Endpoints · 37
POST/v1/domains/audit/listclient.domains.audit.list

List audit entries (optionally scoped to a domain; default limit 20).

list(input?: OrgScoped<{ domainId?: string; limit?: number; }>): Promise<{ items: DomainsAuditEntry[]; }>;
POST/v1/domains/dns-records/deleteclient.domains.dnsRecords.delete

Delete a record by id. 404 `not_found`.

delete(input: OrgScoped<{ id: string; domainId?: string; }>): Promise<{ ok: true; }>;
POST/v1/domains/dns-records/listclient.domains.dnsRecords.list

List a domain's DNS records.

list(input: OrgScoped<{ domainId: string; }>): Promise<{ records: DomainsDnsRecord[]; }>;
POST/v1/domains/dns-records/upsertclient.domains.dnsRecords.upsert

Create or update a record (matched by `id`, or by domain+type+name).

upsert(input: OrgScoped<{ id?: string; domainId: string; type: string; name: string; value: string; ttl?: number; }>): Promise<{ record: DomainsDnsRecord; }>;
POST/v1/domains/domain-contacts/createclient.domains.contacts.create

Create a contact.

create(input: OrgScoped<{ name: string; email: string; organization?: string; street?: string; city?: string; postcode?: string; country?: string; }>): Promise<{ contact: DomainContact; }>;
POST/v1/domains/domain-contacts/deleteclient.domains.contacts.delete

Delete a contact by id. 404 `not_found`.

delete(input: OrgScoped<{ id: string; }>): Promise<{ ok: true; }>;
POST/v1/domains/domain-contacts/listclient.domains.contacts.list

List the org's contacts.

list(input?: OrgScoped): Promise<{ contacts: DomainContact[]; }>;
POST/v1/domains/domain-contacts/updateclient.domains.contacts.update

Update a contact. 404 `not_found`.

update(input: OrgScoped<{ id: string; name?: string; email?: string; organization?: string; street?: string; city?: string; postcode?: string; country?: string; }>): Promise<{ contact: DomainContact; }>;
POST/v1/domains/domains/getclient.domains.domains.get

Get one domain by id (`domainId` or `id`). 404 `not_found`.

get(input: OrgScoped<{ domainId?: string; id?: string; }>): Promise<{ domain: Domain; }>;
POST/v1/domains/domains/listclient.domains.domains.list

List the org's domains.

list(input?: OrgScoped): Promise<{ domains: Domain[]; }>;
POST/v1/domains/domains/updateclient.domains.domains.update

Update a domain's auto_renew / locked / status. 404 `not_found`.

update(input: OrgScoped<{ id: string; auto_renew?: boolean; locked?: boolean; status?: string; }>): Promise<{ domain: Domain; }>;
POST/v1/domains/email-domains/addclient.domains.emailDomains.add

Add a domain: generates + KEK-encrypts a DKIM key, returns the row + the DNS records to publish. 409 `domain_taken` if already added to the org.

add(input: OrgScoped<{ domain: string; }>): Promise<{ domain: MailDomain; dnsRecords: MailDnsRecord[]; }>;
POST/v1/domains/email-domains/dns-recordsclient.domains.emailDomains.dnsRecords

The DNS records the org must publish for this domain.

dnsRecords(input: OrgScoped<{ id: string; }>): Promise<MailDomainsDnsRecordsResult>;
POST/v1/domains/email-domains/getclient.domains.emailDomains.get
get(input: OrgScoped<{ id: string; }>): Promise<{ domain: MailDomain; }>;
POST/v1/domains/email-domains/listclient.domains.emailDomains.list
list(input?: OrgScoped): Promise<{ domains: MailDomain[]; }>;
POST/v1/domains/email-domains/removeclient.domains.emailDomains.remove
remove(input: OrgScoped<{ id: string; }>): Promise<{ ok: true; }>;
POST/v1/domains/email-domains/verifyclient.domains.emailDomains.verify

Resolve live DNS and update the verification state. `verified` = SPF + DKIM.

verify(input: OrgScoped<{ id: string; }>): Promise<MailDomainsVerifyResult>;
POST/v1/domains/invoices/listclient.domains.invoices.list

List the org's invoices.

list(input?: OrgScoped): Promise<{ invoices: DomainsInvoice[]; }>;
POST/v1/domains/nameservers/listclient.domains.nameservers.list

List a domain's nameservers. 404 `not_found`.

list(input: OrgScoped<{ domainId: string; }>): Promise<{ nameservers: DomainNameserver[]; }>;
POST/v1/domains/nameservers/updateclient.domains.nameservers.update

Replace a domain's nameservers (min 2). 404 `not_found`.

update(input: OrgScoped<{ domainId: string; nameservers: string[]; }>): Promise<{ nameservers: DomainNameserver[]; }>;
POST/v1/domains/payment-method/getclient.domains.paymentMethod.get

Get the org's payment method.

get(input?: OrgScoped): Promise<{ paymentMethod: DomainsPaymentMethod | null; }>;
POST/v1/domains/payment-method/updateclient.domains.paymentMethod.update

Upsert the org's payment method.

update(input: OrgScoped<{ brand: string; last4: string; exp_month: number; exp_year: number; name?: string; }>): Promise<{ paymentMethod: DomainsPaymentMethod; }>;
POST/v1/domains/services/address-autocompleteclient.domains.services.addressAutocomplete

Address autocomplete (stub; wired to Adrifact Geo later).

addressAutocomplete(input: OrgScoped<{ query: string; }>): Promise<{ suggestions: DomainAddressSuggestion[]; }>;
POST/v1/domains/services/check-availabilityclient.domains.services.checkAvailability

Check availability of a query (a bare label fans out over `tlds`, or a full fqdn checks just itself). Returns all `results` + the first as `result`.

checkAvailability(input: OrgScoped<{ query: string; tlds?: string[]; }>): Promise<{ results: DomainAvailabilityResult[]; result: DomainAvailabilityResult; }>;
POST/v1/domains/services/email-statsclient.domains.services.emailStats

Email-deliverability stats for a domain (stub; synthesised from SPF presence).

emailStats(input?: OrgScoped<{ domainId?: string; }>): Promise<{ stats: { configured: boolean; sent: number; delivered: number; bounced: number; domain?: string; }; }>;
POST/v1/domains/services/get-domain-priceclient.domains.services.getDomainPrice

Get the register/renew/transfer price for an fqdn.

getDomainPrice(input: OrgScoped<{ fqdn: string; }>): Promise<{ price: string; register: string; renew: string; transfer: string; premium: boolean; }>;
POST/v1/domains/services/import-dns-zoneclient.domains.services.importDnsZone

Import a BIND-style zone file into a domain's DNS records. 404 `not_found`.

importDnsZone(input: OrgScoped<{ domainId: string; zone: string; }>): Promise<{ imported: number; }>;
POST/v1/domains/services/list-pricesclient.domains.services.listPrices

The TLD price table.

listPrices(input?: OrgScoped): Promise<{ rows: { tld: string; register: string; renew: string; transfer: string; }[]; }>;
POST/v1/domains/services/publish-dns-zoneclient.domains.services.publishDnsZone

Publish (mark live) a domain's DNS zone. 404 `not_found`.

publishDnsZone(input: OrgScoped<{ domainId: string; }>): Promise<{ ok: true; published: number; }>;
POST/v1/domains/services/register-domainclient.domains.services.registerDomain

Register a domain (the composite service: domain + optional contact + DNS + invoice + audit, in one transaction). 409 `conflict` if already registered.

registerDomain(input: OrgScoped<{ domain: string; years?: number; auto_renew?: boolean; services?: string[]; registrant?: { name: string; email: string; }; }>): Promise<{ domain: string; id: string; status: string; expires_at: string | null; }>;
POST/v1/domains/services/renew-domainclient.domains.services.renewDomain

Renew a domain by `domainId` or `domain` (fqdn). 404 `not_found`.

renewDomain(input: OrgScoped<{ domainId?: string; domain?: string; years?: number; auto_renew?: boolean; }>): Promise<{ domain: string; expires_at: string | null; years: number; }>;
POST/v1/domains/services/set-domain-lockclient.domains.services.setDomainLock

Set the transfer lock on a domain. 404 `not_found`.

setDomainLock(input: OrgScoped<{ domainId: string; locked: boolean; }>): Promise<{ domain: Domain; }>;
POST/v1/domains/services/transfer-domainclient.domains.services.transferDomain

Start a transfer-in (needs an auth/EPP code).

transferDomain(input: OrgScoped<{ domain: string; authCode?: string; auth_code?: string; epp?: string; }>): Promise<{ transfer: DomainTransfer; }>;
POST/v1/domains/services/transfer-statusclient.domains.services.transferStatus

Get the status of a transfer-in.

transferStatus(input: OrgScoped<{ fqdn: string; }>): Promise<{ transfer: DomainTransfer; }>;
POST/v1/domains/services/upcoming-renewalsclient.domains.services.upcomingRenewals

Domains renewing within 90 days, soonest first.

upcomingRenewals(input?: OrgScoped): Promise<{ renewals: { id: string; fqdn: string; expires_at: string | null; amount: string; auto_renew: boolean; }[]; }>;
POST/v1/domains/services/usageclient.domains.services.usage

Usage meter (stub).

usage(input?: OrgScoped): Promise<{ usage: { used: number; limit: number; unit: string; period: string; }; }>;
POST/v1/domains/services/whoisclient.domains.services.whois

WHOIS for an fqdn (own domain → full record; well-known → minimal; else null).

whois(input: OrgScoped<{ fqdn: string; }>): Promise<{ whois: Record<string, unknown> | null; }>;
Widgets · 25

Embeddable React components for this App. Click one to preview its UI. Previews render the component only — live data calls are disabled here (wire the Provider's basePath to a connector, as the Console does, to make them functional).