Domains

Renew a domain

Renew a domain you own for additional years (1-10). Payment is charged upfront. The new expiry date is returned in the response. When the domain's registrar refuses the renewal (renewed in the last 30 days, or a term it does not sell), the request fails with 400 RENEWAL_NOT_ELIGIBLE before any charge. The price is renewal_price from GET /api/domains/{domain} times years: send that total as max_price so a price change fails before any charge.

post/api/domains/{domain}/renew

Request

  • Base URL: https://domani.run
  • URL: https://domani.run/api/domains/{domain}/renew
  • Auth: HTTP bearer

Path parameters

domainstring required
Example:mysite.com

Domain name you own

Request body

yearsinteger

Number of years to renew (default 1)

payment_method'card' | 'usdc' | 'balance'

Payment method: 'card' (default), 'usdc', or 'balance' (marketplace credit).

payment_txstring

Transaction hash of a USDC payment already sent on-chain.

payment_chain'base' | 'ethereum'

Chain the USDC payment was sent on.

max_pricenumber

Ceiling in USD for the renewal charge. If the real price exceeds it, the request fails with 400 PRICE_ABOVE_MAX and nothing is charged. The error's price field is the total to accept; confirm it with the user before retrying with that max_price.

Example request

{
  "max_price": 20
}

Response

Domain renewed

domainstring required
renewed_yearsinteger required
new_expirystring date-time required
pricenumber required
currencystring required
payment_methodstring required
payment_txstring

Changes

No recorded changes to this operation across all 2 revisions of this API.