August 17, 2026: The Domains API now surfaces and supports purchasing Afternic Premium domains
View as MarkdownAfternic Premium domain inventory is now discoverable and purchasable through the Domains API. Four existing endpoints are updated to support the Premium acquisition flow.
What changed
Availability endpoints — POST /v3/domains/check-availability and GET /v3/domains/check-availability
Results may now include domains with inventory: PREMIUM. These are Afternic fast-transfer domains. Indicative pricing for Premium domains includes a fees array on each TermPrice entry containing a ONE_TIME_PREMIUM_DOMAIN_PURCHASE fee, in addition to the base registration price.
Quote endpoint — POST /v3/domains/registration-quotes
When the quoted domain has inventory: PREMIUM, the response now includes:
inventory: PREMIUM— identifies the domain as Afternic inventory.feesarray — contains aONE_TIME_PREMIUM_DOMAIN_PURCHASEentry with the exact amount and currency. The total cost of the registration ispriceplus this fee.
For standard REGISTRY domains, fees is absent and behavior is unchanged.
Registration endpoint — POST /v3/domains/registrations
When the preceding quote's fees array is non-empty (i.e. inventory: PREMIUM), the execute request must include consent.acknowledgedFees containing the same entries verbatim — same types, amounts, and currencies — copied from the quote response. This confirms the customer explicitly accepted the specific charge before the irreversible purchase is executed.
Omitting consent.acknowledgedFees when fees are present returns 422 with error name consent_fees_required. Supplying acknowledgedFees that does not match the locked quote returns 422 with error name quote_mismatch.
Who is affected
Developers building domain purchase flows who want to offer Afternic Premium inventory must handle the new fees field on quotes and echo it in consent.acknowledgedFees on registration.
Integrations that only purchase standard REGISTRY domains are unaffected — fees is absent for those domains and no changes to existing request or response handling are required.
What to do
- Check
inventoryon availability and quote responses. Wheninventory: PREMIUM, surface thefeestotal to the customer alongside the basepricebefore they confirm. - On
POST /v3/domains/registrations, includeconsent.acknowledgedFeescopied verbatim from the quote'sfeesarray when fees are present. - Handle the new
422 consent_fees_requirederror for the case where fees were present butacknowledgedFeeswas omitted.
Links
- Domains API reference — Domains v3 API reference
- RegistrationQuote schema — updated
RegistrationQuoteresponse includingfees - Consent schema —
consent.acknowledgedFeesfield on the registration request body
Last updated on
How is this guide?