Skip to content
Docs

buy_domain

Register (purchase) a single domain for a team. The quote (get_purchase_quote with product: domain) checks availability and returns the live purchasePrice for the requested term. The confirm step must echo that price back as expectedPrice, and the order is rejected if the live price no longer matches, so you are never charged more than the amount you saw quoted.

Pass the registration term (years) from the quote and the full registrant (contact) details when confirming the purchase.

Domain registration completes asynchronously: a successful confirm step returns an orderId that you can use with get_domain_order to check whether the registration completed.

ParameterTypeRequiredDefaultDescription
domainstringYes-The domain to register (e.g., example.com)
yearsnumberYes-Registration term in years (max 10). Must match the term shown in the quote
autoRenewbooleanNotrueWhether to auto-renew at the end of the term
expectedPricenumberYes-The purchasePrice (USD) from the quote. The order is rejected if it no longer matches the live price
contactobjectYes-Registrant (WHOIS) contact: see the fields below
teamIdstringYes-The team ID to register the domain for. Alternatively the team slug can be used. Team IDs start with 'team_' and can be found by reading .vercel/project.json (orgId) or using list_teams.
confirmbooleanYes-Set true to execute the purchase
idempotencyKeystringYes-The idempotencyKey returned by get_purchase_quote

The contact object requires the following fields with an optional companyName:

FieldTypeDescription
firstNamestringThe first name of the domain registrant
lastNamestringThe last name of the domain registrant
emailstringThe email address of the domain registrant
phonestringThe phone number in E.164 format (e.g., +14155550123)
address1stringThe street address of the domain registrant
citystringThe city of the domain registrant
statestringThe state/province of the domain registrant
zipstringThe postal code of the domain registrant
countrystringTwo-letter ISO country code (e.g., US)
companyNamestringThe company name of the domain registrant (optional)

Sample prompt: "Buy the domain mydomain.com"


Was this helpful?

supported.