Skip to content
Docs

Billing and Purchases

Review your team's billing charges and contract commitments. Get a domain registration quote, review its terms, and explicitly approve it before confirming the purchase. MCP does not purchase credits, subscriptions, or add-ons.

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".
yearsintegerNo-Registration term in years. Required on confirm. must match the term shown in the quote. Maximum: 10.
autoRenewbooleanNo-Whether to auto-renew at the end of the term. Defaults to true.
expectedPricenumberNo-Required on confirm: the purchasePrice (USD) from the quote. The server rejects the order if it no longer matches the live price.
contactobjectNo-Registrant (WHOIS) contact. Not needed for the quote. REQUIRED on confirm. All fields must be provided.
teamIdstringYes-The team ID or slug. Use the team that owns the resource.
confirmbooleanNo-Set true to execute the purchase. Requires the idempotencyKey from get_purchase_quote.
idempotencyKeystringNo-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"

Get the status of a domain purchase order returned by buy_domain, to confirm whether the asynchronous registration completed. It is read-only action.

ParameterTypeRequiredDefaultDescription
orderIdstringYes-The orderId returned by buy_domain.
teamIdstringNo-The team ID or slug. Use the team that owns the resource.

Sample prompt: "Did my domain purchase go through?"

Get a read-only domain registration quote for the selected team. Checks availability and pricing and returns disclosures and a signed quote token valid for five minutes. Present the price, taxes and fees, payment method, registration and auto-renew terms for explicit user approval before calling buy_domain. Does not register, reserve, or charge for a domain. Digital subscriptions, credits, and add-ons cannot be quoted or purchased through this tool.

Parameters

ParameterTypeRequiredDefaultDescription
productstringYes-Only domain registration quotes are available. Value: "domain".
teamIdstringYes-The team ID or slug. Use the team that owns the resource.
domainstringYes-The domain to register, e.g. "example.com".
yearsintegerNo-Registration term in years. Defaults to the TLD minimum. Maximum: 10.
autoRenewbooleanNo-Whether to auto-renew at term end. Defaults to true. Not part of the signed quote token.

How purchases work

  1. Call this tool with product: "domain", the team, domain, and registration term. It returns a read-only quote and a signed idempotencyKey.
  2. Review the price, taxes and fees, payment method, registration terms, and auto-renew setting. Explicitly approve the purchase.
  3. Call buy_domain with confirm: true, the quoted terms, contact details, and the quote token. An expired or mismatched quote requires a new quote.
  4. Use get_domain_order to check registration status. An accepted order does not mean registration has finished.

This workflow quotes and purchases domains only. MCP does not quote or purchase credits, subscriptions, or add-ons.

List FOCUS billing charges.

Parameters

ParameterTypeRequiredDescription
fromstringYesInclusive start of the date range as an ISO 8601 date-time string in UTC.
tostringYesExclusive end of the date range as an ISO 8601 date-time string in UTC.
teamIdstringNoTeam ID to use for this operation.
slugstringNoTeam slug to use for this operation. Use instead of teamId.

List FOCUS contract commitments.

Parameters

ParameterTypeRequiredDescription
teamIdstringNoTeam ID to use for this operation.
slugstringNoTeam slug to use for this operation. Use instead of teamId.

Was this helpful?

supported.