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.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
domain | string | Yes | - | The domain to register (e.g., example.com) |
years | number | Yes | - | Registration term in years (max 10). Must match the term shown in the quote |
autoRenew | boolean | No | true | Whether to auto-renew at the end of the term |
expectedPrice | number | Yes | - | The purchasePrice (USD) from the quote. The order is rejected if it no longer matches the live price |
contact | object | Yes | - | Registrant (WHOIS) contact: see the fields below |
teamId | string | Yes | - | 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. |
confirm | boolean | Yes | - | Set true to execute the purchase |
idempotencyKey | string | Yes | - | The idempotencyKey returned by get_purchase_quote |
The contact object requires the following fields with an optional companyName:
| Field | Type | Description |
|---|---|---|
firstName | string | The first name of the domain registrant |
lastName | string | The last name of the domain registrant |
email | string | The email address of the domain registrant |
phone | string | The phone number in E.164 format (e.g., +14155550123) |
address1 | string | The street address of the domain registrant |
city | string | The city of the domain registrant |
state | string | The state/province of the domain registrant |
zip | string | The postal code of the domain registrant |
country | string | Two-letter ISO country code (e.g., US) |
companyName | string | The company name of the domain registrant (optional) |
Sample prompt: "Buy the domain mydomain.com"
Was this helpful?