register_domain
Register a domain after the user confirms pricing and agreements from a registration quote. Uses the quote token to execute the purchase, charging the account's billing method.
Instructions
Register a domain using a quote from get_registration_quote. CHARGES THE ACCOUNT's billing method and is not reversible — only call it after the user has explicitly confirmed the price and agreed to the listed agreements. Requires a payment method and registrant contact on the account. The call is accepted asynchronously and this tool waits for it to finish (up to ~90s).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"domain": "<domain>",
"period": "<period>",
"quoteToken": "<quoteToken>",
"agreementTypes": "<agreementTypes>"
},
"name": "register_domain"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to register. Must exactly match the domain in the quote. | |
| period | Yes | Registration period in years. Must match the quoted period or the API rejects with QUOTE_MISMATCH. | |
| agreedAt | No | ISO 8601 timestamp of when the user actually confirmed the purchase (default: now). Use the real consent time, not a synthetic one. | |
| quoteToken | Yes | quoteToken from get_registration_quote. The price is locked to this token; if it expires, get a new quote. | |
| agreementTypes | Yes | The agreementType values from the quote's requiredAgreements. Do not hardcode; they depend on the TLD. | |
| idempotencyKey | No | Idempotency key for this execution (default: a generated UUID). Reuse it when retrying after a timeout. | |
| acknowledgedFees | No | Required only when the quote's fees array is non-empty (e.g. premium domains). Must match the quote's fees verbatim. |