Registers a new domain under your account. You must provide the domain.domainName at a bare minimum to register.
For premium or special-priced domains, the purchase_price must also be included to confirm cost.
This endpoint is commonly used to programmatically onboard new domains through user signup flows or checkout experiences.
If no contacts are passed in this request, the default contacts for your name.com account will be used.
In general, you should check that a domain is available prior to attempting to purchase a domain. You can use either the checkAvailability endpoint, or the Search endpoint to confirm that a domain is purchasable.
The createDomain endpoint is designed for standard domain registrations and is not intended for automated dropcatching (i.e., mass or high-frequency attempts to register domains the moment they become available after expiration). The use of drop-catching tools or services to acquire expired domains is strictly prohibited. All domain acquisitions must go through approved channels to ensure fair and transparent access.
When a new domain registration is created and a contact is submitted, name.com may need to validate the contact’s email address in accordance with ICANN policy. This validation involves sending an email to the provided address, prompting the recipient to click a link to verify their email address.
Authenticate via HTTP Basic with your account username and API token. Examples use an explicit 'Authorization: Basic <base64(username:token)>' header; 'curl -u username:token' is equivalent. For sandbox, append "-test" to your username and use your sandbox token on api.dev.name.com.
A unique string (e.g., a UUID v4) to make the request idempotent. This key ensures that if the request is retried, the operation will not be performed multiple times. Subsequent requests with the same key will return the original result.
"083910ef-04e4-4bd1-a0bf-3737fe005ca8"
CreateDomainRequest has the information that is needed to create a domain with the CreateDomain function.
CreateDomainRequest has the information that is needed to create a domain with the CreateDomain function.
The payload to be sent for when making a request to purchase a domain.
PurchasePrice is the price in USD for purchasing this domain for the minimum time period (typically 1 year). PurchasePrice is required if purchaseType is not "registration" or if it is a premium domain. If privacyEnabled is set, the regular price for Whois Privacy protection will be added automatically. If VAT tax applies, it will also be added automatically.
PurchaseType defaults to "registration" but should be copied from the result of either a Search or checkAvailability request.
TLDRequirements is a way to pass additional data that is required by some registries. You can check before registration by using the Domain Info API. As these requirements vary wildly between registries and TLDs, we are not attempting to document them here.
This parameter is required for registering domains that contain non-ASCII characters. The value should be the specific code for the character set, such as ES for Spanish, or CYRL for Cyrillic. These abbreviations can vary between TLDs, and it is highly recommended that you use Domain Info API to ensure that the TLD allows for the specific IDN table, as well as the correct abbreviation.
Claims acknowledgement data is required if trademark claims exist for requested domain. This data is obtained from a Domain Claims Check response and includes the claim identifier and validity dates.
Years specifies how many years to register the domain for. Years defaults to the minimum time period (typically 1 year) if not passed and cannot be more than 10. Some TLDs default to longer initial periods (e.g. .AI requires a 2 year registration). If passing purchasePrice make sure to adjust it accordingly.
1
A successful response.
CreateDomainResponse contains the domain info as well as the order info for the created domain.