Registers a new domain under your account. You must provide domain.domainName at minimum.
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.
Create Domain pricing
See the Domain purchase pricing guide for the full reference.
Recommendation: For most integrations, scope discovery to purchaseType: registration. Other purchase types are supported but add complexity — details in the guide above.
Discovery (required before create): Call Search or Check Availability, not Get Pricing alone. Both return the same SearchResult fields (purchaseType, purchasePrice, premium, purchasable). Zone Check is designed for rapid availability checks only; it is not sufficient to complete a purchase.
Getting the price for Create Domain
Search or Check Availability → copy purchaseType, premium, note purchasePrice.
Branch on purchaseType:
registration + premium: false — omit purchasePrice on create, set years. Optional: Get Pricing with same years to preview the total.
registration + premium: true — Get Pricing with same years → pass purchasePrice exactly.
aftermarket / expiring / backorder — use discovery purchasePrice (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. years does not multiply price or guarantee registration length.
If purchasePrice is sent, it must match exactly or the request fails with 400 and "Purchase price does not match".
Years on acquisition types: For aftermarket_s, aftermarket_b, aftermarket_i, expiring, and backorder: omit years or pass the TLD default. Check domain.expireDate in the response; Renew to extend registration.
Best Practices For Domain Creates
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.
Important Note on Dropcatching and Abuse Prevention
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.
Contact Verification
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.
Example:
"083910ef-04e4-4bd1-a0bf-3737fe005ca8"
Body
application/json
CreateDomainRequest has the information that is needed to create a domain with the CreateDomain function.
See the Domain pricing guide for which endpoints supply create pricing (Search/Check Availability vs Get Pricing) for each purchaseType.
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. Whois Privacy is free and does not affect purchasePrice. If privacyEnabled is omitted, the account default from account settings is used. If VAT tax applies, it will also be added automatically.
PurchaseType indicates what kind of purchase this domain create is for. Defaults to registration if omitted. Recommended: Use registration unless you support acquisition types (aftermarket, expiring, backorder) — see the Domain purchase pricing guide. This value should be copied from the Search or Check Availability result. The value registration covers both standard and registry premium domains — use the premium flag from the discovery result to tell them apart. Aftermarket, expiring, and backorder types use flat acquisition fees from Search or Check Availability; see the Domain pricing guide.
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.
IDN Domains
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 the registration term in years. Only affects price and registration length for purchaseType: registration. Defaults to each TLD's minimum if omitted (usually 1; 2 for .ai). Must be a supported registration term for the TLD when purchaseType is registration (commonly 1–10 years). For purchaseType: registration when purchasePrice is required, call Get Pricing with the same years value. For aftermarket, expiring, and backorder types: pass the TLD default — it does not multiply purchasePrice and does not guarantee a multi-year registration. Check domain.expireDate in the create response for actual expiry. To add registration time after acquisition, use Renew Domain.
PromoCode is an optional promotional code to apply to the domain purchase. Only one promo code can be applied per request. Promo codes specify eligibility criteria, including duration. If the supplied promo applies no discount, the request fails with 400 and "Promo code does not apply a discount to this purchase". The order is not created.
Minimum string length: 1
Response
A successful response.
CreateDomainResponse contains the domain info as well as the order info for the created domain.
TotalPaid is the total amount paid, including VAT when applicable. Whois Privacy is free and is not included in this amount.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"name.com Core API","colors":{"primary":"#1EAA50","dark":"#6EDA78"},"logo":{"light":"https://namedotcom-cdn.name.tools/media/logo/name_logo.svg","dark":"https://namedotcom-cdn.name.tools/media/logo/name_logo-white.svg","href":"https://www.name.com"},"favicon":"https://mintcdn.com/namecom/1rmHLXcBmhL0Pefk/favicon.svg?fit=max\u0026auto=format\u0026n=1rmHLXcBmhL0Pefk\u0026q=85\u0026s=e6f65c5c71b5abe116a4673dca9c256a","api":{"playground":{}},"appearance":{"default":"dark"},"seo":{"metatags":{"google-site-verification":"f-XFmxTzeRzcOF9-ocrS8hNiAemBYY4jDUL5xJwuC9M"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"namecom","hasAudioNarration":false,"actualSubdomain":"namecom","customDomains":["docs.name.com"],"gitSource":{"type":"github","owner":"namedotcom","repo":"coreapi","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ace6015aae446d0f8f844d6","collectionId":"ac21103e-fe0b-4a86-b7ac-6bf690a461c9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ace6015aae446d0f8f844d6"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ace6015aae446d0f8f844d6","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Core API Reference","count":84},{"language":"default","tag":"Domains","count":19},{"language":"default","tag":"Guides \u0026 Flows","count":18},{"language":"default","tag":"Webhook Notifications","count":16},{"language":"default","tag":"URL Forwardings","count":9},{"language":"default","tag":"Transfers","count":7},{"language":"default","tag":"Operations \u0026 Compliance","count":6},{"language":"default","tag":"DNS","count":5},{"language":"default","tag":"Email Forwardings","count":5},{"language":"default","tag":"External","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/v1/reference/domains/create-domain","slug":"/api/v1/reference/domains/create-domain","pageMetadata":{"openapi":"post /core/v1/domains","title":"Create Domain","description":"Registers a new domain under your account. You must provide `domain.domainName` at minimum.\nThis endpoint is commonly used to programmatically onboard new domains through user signup flows or checkout experiences.\n\nIf no contacts are passed in this request, the default contacts for your name.com account will be used.\n\n### Create Domain pricing\n\nSee the [Domain purchase pricing guide](/guides/domain-pricing) for the full reference.\n**Recommendation:** For most integrations, scope discovery to `purchaseType: registration`. Other purchase types are supported but add complexity — details in the guide above.\n\n**Discovery (required before create):** Call [Search](/api/v1/reference/domains/search) or [Check Availability](/api/v1/reference/domains/check-availability), not Get Pricing alone. Both return the same `SearchResult` fields (`purchaseType`, `purchasePrice`, `premium`, `purchasable`). [Zone Check](/api/v1/reference/domains/zone-check) is designed for rapid availability checks only; it is not sufficient to complete a purchase.\n\n### Getting the price for Create Domain\n\n1. **Search or Check Availability** → copy `purchaseType`, `premium`, note `purchasePrice`.\n\n2. Branch on `purchaseType`:\n - **`registration` + `premium: false`** — omit `purchasePrice` on create, set `years`. Optional: Get Pricing with same `years` to preview the total.\n - **`registration` + `premium: true`** — Get Pricing with same `years` → pass `purchasePrice` exactly.\n - **aftermarket / expiring / backorder** — use discovery `purchasePrice` (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. `years` does not multiply price or guarantee registration length.\n\n3. If `purchasePrice` is sent, it must match exactly or the request fails with `400` and `\"Purchase price does not match\"`.\n\n**Years on acquisition types:** For `aftermarket_s`, `aftermarket_b`, `aftermarket_i`, `expiring`, and `backorder`: omit `years` or pass the TLD default. Check `domain.expireDate` in the response; [Renew](/api/v1/reference/domains/renew-domain) to extend registration.\n\n### Best Practices For Domain Creates\n\nIn general, you should check that a domain is available prior to attempting to purchase a domain.\nYou can use either the [checkAvailability](/api/v1/reference/domains/check-availability) endpoint, or the [Search](/api/v1/reference/domains/search) endpoint\nto confirm that a domain is purchasable.\n\n#### Important Note on Dropcatching and Abuse Prevention\n\n_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._\n\n#### Contact Verification\nWhen 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.\n","href":"/api/v1/reference/domains/create-domain"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n em: \"em\",\n h3: \"h3\",\n h4: \"h4\",\n li: \"li\",\n ol: \"ol\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Registers a new domain under your account. You must provide \", _jsx(_components.code, {\n children: \"domain.domainName\"\n }), \" at minimum.\\nThis endpoint is commonly used to programmatically onboard new domains through user signup flows or checkout experiences.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"If no contacts are passed in this request, the default contacts for your name.com account will be used.\"\n }), \"\\n\", _jsx(_components.h3, {\n children: \"Create Domain pricing\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"See the \", _jsx(_components.a, {\n href: \"/guides/domain-pricing\",\n children: \"Domain purchase pricing guide\"\n }), \" for the full reference.\\n\", _jsx(_components.strong, {\n children: \"Recommendation:\"\n }), \" For most integrations, scope discovery to \", _jsx(_components.code, {\n children: \"purchaseType: registration\"\n }), \". Other purchase types are supported but add complexity — details in the guide above.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Discovery (required before create):\"\n }), \" Call \", _jsx(_components.a, {\n href: \"/api/v1/reference/domains/search\",\n children: \"Search\"\n }), \" or \", _jsx(_components.a, {\n href: \"/api/v1/reference/domains/check-availability\",\n children: \"Check Availability\"\n }), \", not Get Pricing alone. Both return the same \", _jsx(_components.code, {\n children: \"SearchResult\"\n }), \" fields (\", _jsx(_components.code, {\n children: \"purchaseType\"\n }), \", \", _jsx(_components.code, {\n children: \"purchasePrice\"\n }), \", \", _jsx(_components.code, {\n children: \"premium\"\n }), \", \", _jsx(_components.code, {\n children: \"purchasable\"\n }), \"). \", _jsx(_components.a, {\n href: \"/api/v1/reference/domains/zone-check\",\n children: \"Zone Check\"\n }), \" is designed for rapid availability checks only; it is not sufficient to complete a purchase.\"]\n }), \"\\n\", _jsx(_components.h3, {\n children: \"Getting the price for Create Domain\"\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Search or Check Availability\"\n }), \" → copy \", _jsx(_components.code, {\n children: \"purchaseType\"\n }), \", \", _jsx(_components.code, {\n children: \"premium\"\n }), \", note \", _jsx(_components.code, {\n children: \"purchasePrice\"\n }), \".\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"Branch on \", _jsx(_components.code, {\n children: \"purchaseType\"\n }), \":\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"registration\"\n }), \" + \", _jsx(_components.code, {\n children: \"premium: false\"\n })]\n }), \" — omit \", _jsx(_components.code, {\n children: \"purchasePrice\"\n }), \" on create, set \", _jsx(_components.code, {\n children: \"years\"\n }), \". Optional: Get Pricing with same \", _jsx(_components.code, {\n children: \"years\"\n }), \" to preview the total.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"registration\"\n }), \" + \", _jsx(_components.code, {\n children: \"premium: true\"\n })]\n }), \" — Get Pricing with same \", _jsx(_components.code, {\n children: \"years\"\n }), \" → pass \", _jsx(_components.code, {\n children: \"purchasePrice\"\n }), \" exactly.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"aftermarket / expiring / backorder\"\n }), \" — use discovery \", _jsx(_components.code, {\n children: \"purchasePrice\"\n }), \" (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. \", _jsx(_components.code, {\n children: \"years\"\n }), \" does not multiply price or guarantee registration length.\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"If \", _jsx(_components.code, {\n children: \"purchasePrice\"\n }), \" is sent, it must match exactly or the request fails with \", _jsx(_components.code, {\n children: \"400\"\n }), \" and \", _jsx(_components.code, {\n children: \"\\\"Purchase price does not match\\\"\"\n }), \".\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Years on acquisition types:\"\n }), \" For \", _jsx(_components.code, {\n children: \"aftermarket_s\"\n }), \", \", _jsx(_components.code, {\n children: \"aftermarket_b\"\n }), \", \", _jsx(_components.code, {\n children: \"aftermarket_i\"\n }), \", \", _jsx(_components.code, {\n children: \"expiring\"\n }), \", and \", _jsx(_components.code, {\n children: \"backorder\"\n }), \": omit \", _jsx(_components.code, {\n children: \"years\"\n }), \" or pass the TLD default. Check \", _jsx(_components.code, {\n children: \"domain.expireDate\"\n }), \" in the response; \", _jsx(_components.a, {\n href: \"/api/v1/reference/domains/renew-domain\",\n children: \"Renew\"\n }), \" to extend registration.\"]\n }), \"\\n\", _jsx(_components.h3, {\n children: \"Best Practices For Domain Creates\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"In general, you should check that a domain is available prior to attempting to purchase a domain.\\nYou can use either the \", _jsx(_components.a, {\n href: \"/api/v1/reference/domains/check-availability\",\n children: \"checkAvailability\"\n }), \" endpoint, or the \", _jsx(_components.a, {\n href: \"/api/v1/reference/domains/search\",\n children: \"Search\"\n }), \" endpoint\\nto confirm that a domain is purchasable.\"]\n }), \"\\n\", _jsx(_components.h4, {\n children: \"Important Note on Dropcatching and Abuse Prevention\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"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.\"\n })\n }), \"\\n\", _jsx(_components.h4, {\n children: \"Contact Verification\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"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.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /core/v1/domains","title":"Create Domain","description":"Registers a new domain under your account. You must provide `domain.domainName` at minimum.\nThis endpoint is commonly used to programmatically onboard new domains through user signup flows or checkout experiences.\n\nIf no contacts are passed in this request, the default contacts for your name.com account will be used.\n\n### Create Domain pricing\n\nSee the [Domain purchase pricing guide](/guides/domain-pricing) for the full reference.\n**Recommendation:** For most integrations, scope discovery to `purchaseType: registration`. Other purchase types are supported but add complexity — details in the guide above.\n\n**Discovery (required before create):** Call [Search](/api/v1/reference/domains/search) or [Check Availability](/api/v1/reference/domains/check-availability), not Get Pricing alone. Both return the same `SearchResult` fields (`purchaseType`, `purchasePrice`, `premium`, `purchasable`). [Zone Check](/api/v1/reference/domains/zone-check) is designed for rapid availability checks only; it is not sufficient to complete a purchase.\n\n### Getting the price for Create Domain\n\n1. **Search or Check Availability** → copy `purchaseType`, `premium`, note `purchasePrice`.\n\n2. Branch on `purchaseType`:\n - **`registration` + `premium: false`** — omit `purchasePrice` on create, set `years`. Optional: Get Pricing with same `years` to preview the total.\n - **`registration` + `premium: true`** — Get Pricing with same `years` → pass `purchasePrice` exactly.\n - **aftermarket / expiring / backorder** — use discovery `purchasePrice` (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. `years` does not multiply price or guarantee registration length.\n\n3. If `purchasePrice` is sent, it must match exactly or the request fails with `400` and `\"Purchase price does not match\"`.\n\n**Years on acquisition types:** For `aftermarket_s`, `aftermarket_b`, `aftermarket_i`, `expiring`, and `backorder`: omit `years` or pass the TLD default. Check `domain.expireDate` in the response; [Renew](/api/v1/reference/domains/renew-domain) to extend registration.\n\n### Best Practices For Domain Creates\n\nIn general, you should check that a domain is available prior to attempting to purchase a domain.\nYou can use either the [checkAvailability](/api/v1/reference/domains/check-availability) endpoint, or the [Search](/api/v1/reference/domains/search) endpoint\nto confirm that a domain is purchasable.\n\n#### Important Note on Dropcatching and Abuse Prevention\n\n_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._\n\n#### Contact Verification\nWhen 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.\n","href":"/api/v1/reference/domains/create-domain"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Registers a new domain under your account. You must provide `domain.domainName` at minimum.\nThis endpoint is commonly used to programmatically onboard new domains through user signup flows or checkout experiences.\n\nIf no contacts are passed in this request, the default contacts for your name.com account will be used.\n\n### Create Domain pricing\n\nSee the [Domain purchase pricing guide](/guides/domain-pricing) for the full reference.\n**Recommendation:** For most integrations, scope discovery to `purchaseType: registration`. Other purchase types are supported but add complexity — details in the guide above.\n\n**Discovery (required before create):** Call [Search](/api/v1/reference/domains/search) or [Check Availability](/api/v1/reference/domains/check-availability), not Get Pricing alone. Both return the same `SearchResult` fields (`purchaseType`, `purchasePrice`, `premium`, `purchasable`). [Zone Check](/api/v1/reference/domains/zone-check) is designed for rapid availability checks only; it is not sufficient to complete a purchase.\n\n### Getting the price for Create Domain\n\n1. **Search or Check Availability** → copy `purchaseType`, `premium`, note `purchasePrice`.\n\n2. Branch on `purchaseType`:\n - **`registration` + `premium: false`** — omit `purchasePrice` on create, set `years`. Optional: Get Pricing with same `years` to preview the total.\n - **`registration` + `premium: true`** — Get Pricing with same `years` → pass `purchasePrice` exactly.\n - **aftermarket / expiring / backorder** — use discovery `purchasePrice` (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. `years` does not multiply price or guarantee registration length.\n\n3. If `purchasePrice` is sent, it must match exactly or the request fails with `400` and `\"Purchase price does not match\"`.\n\n**Years on acquisition types:** For `aftermarket_s`, `aftermarket_b`, `aftermarket_i`, `expiring`, and `backorder`: omit `years` or pass the TLD default. Check `domain.expireDate` in the response; [Renew](/api/v1/reference/domains/renew-domain) to extend registration.\n\n### Best Practices For Domain Creates\n\nIn general, you should check that a domain is available prior to attempting to purchase a domain.\nYou can use either the [checkAvailability](/api/v1/reference/domains/check-availability) endpoint, or the [Search](/api/v1/reference/domains/search) endpoint\nto confirm that a domain is purchasable.\n\n#### Important Note on Dropcatching and Abuse Prevention\n\n_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._\n\n#### Contact Verification\nWhen 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.\n","operationId":"CreateDomain","parameters":["110f21d7-b933-43b5-bbac-da90d52bbf81"],"requestBody":"ca9923e7-0c64-49b9-b10b-f89e8ad2d4c1","responses":{"200":"b977f4bc-2aa1-4ea5-8660-416d8f1278b1","400":"3ea31067-214a-4b7b-a8ec-f517a01800a4","401":"16579172-56d8-4a46-9965-21b4f22eeb8c","402":"ab84effe-3088-42bd-82ed-caa96ff6ca79","403":"2985c85c-c648-48d1-b743-987bfabaa687","404":"352746d3-b6ab-41ee-a432-d3235e61e8a9","405":"67280064-2844-475a-b17b-a8a1613b9707","409":"2596f55f-79fc-4d76-9b27-d0a3c4487c2c","415":"0c613a69-8267-4c90-ba82-a02466951ec4","422":"248d4bec-1352-44c2-98f8-74287195b18f","429":"fdf6e59e-b0d9-4580-8862-6089f16d3f44","451":"397bdce8-a89a-4c98-9db3-940532cc0d41","500":"2454af67-633c-48b4-8b4d-f8345851b40d","501":"6b8da059-e33e-41ef-95a7-7cc4a1ccb7c7","502":"1cf4562a-ec43-4d41-9b41-6fdb0d25c201","503":"2b046a99-2ae5-4de6-8cb0-1d5bdc43099b","504":"4fe087de-25c2-48e6-b145-053df6f94b7c"},"summary":"Create Domain","tags":["Domains"],"method":"post","type":"path","servers":["a299706b-162f-4709-8731-1da4aafad643"],"security":["d8600753-25c5-4f15-8e86-e3efcdef3502"],"path":"/core/v1/domains","baseUrlOptions":["https://api.dev.name.com"],"title":"Create Domain","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"110f21d7-b933-43b5-bbac-da90d52bbf81":{"name":"X-Idempotency-Key","in":"header","description":"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.","schema":{"type":"string","example":"083910ef-04e4-4bd1-a0bf-3737fe005ca8","isRequired":false,"description":"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.","uniqueKey":"","typeLabel":"string"},"required":false}},"requestBody":{"content":{"application/json":{"schema":{"description":"CreateDomainRequest has the information that is needed to create a domain with the CreateDomain function.\nSee the [Domain pricing guide](/guides/domain-pricing) for which endpoints supply create pricing (Search/Check Availability vs Get Pricing) for each `purchaseType`.","properties":{"domain":{"type":"object","description":"The payload to be sent for when making a request to purchase a domain.","required":["domainName"],"properties":{"domainName":{"type":"string","description":"The punycode-encoded value of the domain name.","example":"example.com","isRequired":true,"uniqueKey":"domain.domainName","typeLabel":"string"},"autorenewEnabled":{"description":"Indicates whether the domain is set to renew automatically before expiration.","type":"boolean","example":true,"uniqueKey":"domain.autorenewEnabled","typeLabel":"boolean"},"locked":{"description":"Indicates if the domain is **transfer locked**, preventing transfers to another registrar.","type":"boolean","example":true,"uniqueKey":"domain.locked","typeLabel":"boolean"},"privacyEnabled":{"type":"boolean","description":"Whether to include Whois Privacy with the registration. Whois Privacy is free. If omitted, the account default from account settings is used. Privacy is only added when the TLD supports it.","example":true,"uniqueKey":"domain.privacyEnabled","typeLabel":"boolean"},"contacts":{"type":"object","description":"Contacts stores the contact information for the roles related to domains. This schema is used for requests.","properties":{"admin":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for creating and updating contacts (POST/PUT requests) and includes all validation requirements. All fields listed in the `required` array must be provided and cannot be null or empty.","required":["firstName","lastName","address1","city","state","zip","country","email","phone"],"properties":{"firstName":{"type":"string","description":"First name of the contact.","minLength":1,"example":"John","isRequired":true,"uniqueKey":"domain.contacts.admin.firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of the contact.","minLength":1,"example":"Doe","isRequired":true,"uniqueKey":"domain.contacts.admin.lastName","typeLabel":"string"},"address1":{"type":"string","description":"The first line of the contact's address.","minLength":1,"example":"123 Main Street","isRequired":true,"uniqueKey":"domain.contacts.admin.address1","typeLabel":"string"},"city":{"type":"string","description":"City of the contact's address.","minLength":1,"example":"New York","isRequired":true,"uniqueKey":"domain.contacts.admin.city","typeLabel":"string"},"state":{"type":"string","description":"State or Province of the contact's address.","minLength":1,"example":"NY","isRequired":true,"uniqueKey":"domain.contacts.admin.state","typeLabel":"string"},"zip":{"type":"string","description":"ZIP or Postal Code of the contact's address. This field is required and must be a non-empty string.","minLength":1,"example":"10001","isRequired":true,"uniqueKey":"domain.contacts.admin.zip","typeLabel":"string"},"country":{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","pattern":"^[A-Z]{2}$","example":"US","isRequired":true,"uniqueKey":"domain.contacts.admin.country","typeLabel":"string"},"email":{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","format":"email","example":"john.doe@example.com","isRequired":true,"uniqueKey":"domain.contacts.admin.email","typeLabel":"string\u003cemail>"},"phone":{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15551234567","isRequired":true,"uniqueKey":"domain.contacts.admin.phone","typeLabel":"string"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.admin.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.admin.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.companyName","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.admin.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.admin.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.address2","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.admin.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.admin.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.fax","typeLabel":"string | null"}},"uniqueKey":"domain.contacts.admin","typeLabel":"object"},"billing":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for creating and updating contacts (POST/PUT requests) and includes all validation requirements. All fields listed in the `required` array must be provided and cannot be null or empty.","required":["firstName","lastName","address1","city","state","zip","country","email","phone"],"properties":{"firstName":{"type":"string","description":"First name of the contact.","minLength":1,"example":"John","isRequired":true,"uniqueKey":"domain.contacts.billing.firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of the contact.","minLength":1,"example":"Doe","isRequired":true,"uniqueKey":"domain.contacts.billing.lastName","typeLabel":"string"},"address1":{"type":"string","description":"The first line of the contact's address.","minLength":1,"example":"123 Main Street","isRequired":true,"uniqueKey":"domain.contacts.billing.address1","typeLabel":"string"},"city":{"type":"string","description":"City of the contact's address.","minLength":1,"example":"New York","isRequired":true,"uniqueKey":"domain.contacts.billing.city","typeLabel":"string"},"state":{"type":"string","description":"State or Province of the contact's address.","minLength":1,"example":"NY","isRequired":true,"uniqueKey":"domain.contacts.billing.state","typeLabel":"string"},"zip":{"type":"string","description":"ZIP or Postal Code of the contact's address. This field is required and must be a non-empty string.","minLength":1,"example":"10001","isRequired":true,"uniqueKey":"domain.contacts.billing.zip","typeLabel":"string"},"country":{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","pattern":"^[A-Z]{2}$","example":"US","isRequired":true,"uniqueKey":"domain.contacts.billing.country","typeLabel":"string"},"email":{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","format":"email","example":"john.doe@example.com","isRequired":true,"uniqueKey":"domain.contacts.billing.email","typeLabel":"string\u003cemail>"},"phone":{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15551234567","isRequired":true,"uniqueKey":"domain.contacts.billing.phone","typeLabel":"string"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.billing.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.billing.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.companyName","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.billing.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.billing.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.address2","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.billing.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.billing.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.fax","typeLabel":"string | null"}},"uniqueKey":"domain.contacts.billing","typeLabel":"object"},"registrant":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for creating and updating contacts (POST/PUT requests) and includes all validation requirements. All fields listed in the `required` array must be provided and cannot be null or empty.","required":["firstName","lastName","address1","city","state","zip","country","email","phone"],"properties":{"firstName":{"type":"string","description":"First name of the contact.","minLength":1,"example":"John","isRequired":true,"uniqueKey":"domain.contacts.registrant.firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of the contact.","minLength":1,"example":"Doe","isRequired":true,"uniqueKey":"domain.contacts.registrant.lastName","typeLabel":"string"},"address1":{"type":"string","description":"The first line of the contact's address.","minLength":1,"example":"123 Main Street","isRequired":true,"uniqueKey":"domain.contacts.registrant.address1","typeLabel":"string"},"city":{"type":"string","description":"City of the contact's address.","minLength":1,"example":"New York","isRequired":true,"uniqueKey":"domain.contacts.registrant.city","typeLabel":"string"},"state":{"type":"string","description":"State or Province of the contact's address.","minLength":1,"example":"NY","isRequired":true,"uniqueKey":"domain.contacts.registrant.state","typeLabel":"string"},"zip":{"type":"string","description":"ZIP or Postal Code of the contact's address. This field is required and must be a non-empty string.","minLength":1,"example":"10001","isRequired":true,"uniqueKey":"domain.contacts.registrant.zip","typeLabel":"string"},"country":{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","pattern":"^[A-Z]{2}$","example":"US","isRequired":true,"uniqueKey":"domain.contacts.registrant.country","typeLabel":"string"},"email":{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","format":"email","example":"john.doe@example.com","isRequired":true,"uniqueKey":"domain.contacts.registrant.email","typeLabel":"string\u003cemail>"},"phone":{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15551234567","isRequired":true,"uniqueKey":"domain.contacts.registrant.phone","typeLabel":"string"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual. Please be advised that ICANN policy links the \"Company Name\" field (Organization) in your domain's contact details to its legal ownership. If this field contains information, the listed organization is considered the legal \"Registered Name Holder\" (domain owner).","example":"Example Inc.","uniqueKey":"domain.contacts.registrant.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual. Please be advised that ICANN policy links the \"Company Name\" field (Organization) in your domain's contact details to its legal ownership. If this field contains information, the listed organization is considered the legal \"Registered Name Holder\" (domain owner).","example":"Example Inc.","uniqueKey":"domain.contacts.registrant.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.companyName","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.registrant.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.registrant.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.address2","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.registrant.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.registrant.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.fax","typeLabel":"string | null"}},"uniqueKey":"domain.contacts.registrant","typeLabel":"object"},"tech":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for creating and updating contacts (POST/PUT requests) and includes all validation requirements. All fields listed in the `required` array must be provided and cannot be null or empty.","required":["firstName","lastName","address1","city","state","zip","country","email","phone"],"properties":{"firstName":{"type":"string","description":"First name of the contact.","minLength":1,"example":"John","isRequired":true,"uniqueKey":"domain.contacts.tech.firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of the contact.","minLength":1,"example":"Doe","isRequired":true,"uniqueKey":"domain.contacts.tech.lastName","typeLabel":"string"},"address1":{"type":"string","description":"The first line of the contact's address.","minLength":1,"example":"123 Main Street","isRequired":true,"uniqueKey":"domain.contacts.tech.address1","typeLabel":"string"},"city":{"type":"string","description":"City of the contact's address.","minLength":1,"example":"New York","isRequired":true,"uniqueKey":"domain.contacts.tech.city","typeLabel":"string"},"state":{"type":"string","description":"State or Province of the contact's address.","minLength":1,"example":"NY","isRequired":true,"uniqueKey":"domain.contacts.tech.state","typeLabel":"string"},"zip":{"type":"string","description":"ZIP or Postal Code of the contact's address. This field is required and must be a non-empty string.","minLength":1,"example":"10001","isRequired":true,"uniqueKey":"domain.contacts.tech.zip","typeLabel":"string"},"country":{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","pattern":"^[A-Z]{2}$","example":"US","isRequired":true,"uniqueKey":"domain.contacts.tech.country","typeLabel":"string"},"email":{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","format":"email","example":"john.doe@example.com","isRequired":true,"uniqueKey":"domain.contacts.tech.email","typeLabel":"string\u003cemail>"},"phone":{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15551234567","isRequired":true,"uniqueKey":"domain.contacts.tech.phone","typeLabel":"string"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.tech.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.tech.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.companyName","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.tech.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.tech.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.address2","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.tech.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","pattern":"^\\+[1-9]\\d{7,14}$","example":"+15557654321","uniqueKey":"domain.contacts.tech.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.fax","typeLabel":"string | null"}},"uniqueKey":"domain.contacts.tech","typeLabel":"object"}},"uniqueKey":"domain.contacts","typeLabel":"object"},"nameservers":{"description":"The list of nameservers assigned to this domain. If unspecified, it defaults to the account's default nameservers.","type":"array","items":{"type":"string","uniqueKey":"domain.nameservers.items.[INDEX]","typeLabel":"string"},"example":["ns1.example.com","ns2.example.com"],"uniqueKey":"domain.nameservers","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"domain","typeLabel":"object"},"purchasePrice":{"description":"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. Whois Privacy is free and does not affect purchasePrice. If privacyEnabled is omitted, the account default from account settings is used. If VAT tax applies, it will also be added automatically.","format":"double","type":"number","uniqueKey":"purchasePrice","typeLabel":"number\u003cdouble>"},"purchaseType":{"description":"PurchaseType indicates what kind of purchase this domain create is for. Defaults to `registration` if omitted. **Recommended:** Use `registration` unless you support acquisition types (aftermarket, expiring, backorder) — see the [Domain purchase pricing guide](/guides/domain-pricing). This value should be copied from the [Search](/api/v1/reference/domains/search) or [Check Availability](/api/v1/reference/domains/check-availability) result. The value `registration` covers both standard and **registry premium** domains — use the `premium` flag from the discovery result to tell them apart. Aftermarket, expiring, and backorder types use flat acquisition fees from Search or Check Availability; see the [Domain pricing guide](/guides/domain-pricing).","type":"string","uniqueKey":"purchaseType","typeLabel":"string"},"tldRequirements":{"additionalProperties":{"type":"string","uniqueKey":"tldRequirements.additionalProperties","typeLabel":"string"},"description":"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/v1/reference/domain-info/get-specific-tld-requirements) API.\nAs these requirements vary wildly between registries and TLDs, we are not attempting to document them here.\n#### IDN Domains\nThis 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/v1/reference/domain-info/get-specific-tld-requirements) API to ensure that the TLD allows for the specific IDN table, as well as the correct abbreviation.","type":"object","uniqueKey":"tldRequirements","typeLabel":"object"},"claims":{"description":"Claims acknowledgement data is required if trademark claims exist for requested domain. This data is obtained from a [Domain Claims Check](/api/v1/reference/domain-info/check-domain-claims) response and includes the claim identifier and validity dates.","type":"object","properties":{"claimId":{"type":"string","description":"The claim identifier from TMCH (Trademark Clearinghouse)","example":"8c3027d30000000000382500785","uniqueKey":"claims.claimId","typeLabel":"string"},"notBefore":{"type":"string","format":"date-time","description":"The date before which the claim acknowledgment is not valid","example":"2024-01-15T10:30:00Z","uniqueKey":"claims.notBefore","typeLabel":"string\u003cdate-time>"},"notAfter":{"type":"string","format":"date-time","description":"The date after which the claim acknowledgment expires","example":"2024-01-15T10:30:00Z","uniqueKey":"claims.notAfter","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"claims","typeLabel":"object"},"years":{"description":"Years specifies the registration term in years. **Only affects price and registration length for `purchaseType: registration`.** Defaults to each TLD's minimum if omitted (usually 1; 2 for `.ai`). Must be a supported registration term for the TLD when `purchaseType` is `registration` (commonly 1–10 years). For `purchaseType: registration` when `purchasePrice` is required, call [Get Pricing](/api/v1/reference/domains/get-pricing-for-domain) with the same `years` value. For aftermarket, expiring, and backorder types: pass the TLD default — it does **not** multiply `purchasePrice` and does **not** guarantee a multi-year registration. Check `domain.expireDate` in the create response for actual expiry. To add registration time after acquisition, use [Renew Domain](/api/v1/reference/domains/renew-domain).","format":"int32","type":"integer","example":1,"uniqueKey":"years","typeLabel":"integer\u003cint32>"},"promoCode":{"description":"PromoCode is an optional promotional code to apply to the domain purchase. Only one promo code can be applied per request. Promo codes specify eligibility criteria, including duration. If the supplied promo applies no discount, the request fails with `400` and `\"Promo code does not apply a discount to this purchase\"`. The order is not created.","type":"string","minLength":1,"uniqueKey":"promoCode","typeLabel":"string"}},"type":"object","required":["domain"],"uniqueKey":"","typeLabel":"object"},"examples":{"noContacts":{"title":"noContacts","description":"For a basic domain create, you do not need to send contacts in the request. **When contacts are not sent in the request, we will apply the default contacts for your account to the domain.**","value":{"domain":{"domainName":"example.com"}}},"multipleYears":{"title":"multipleYears","description":"For `purchaseType: registration` with `premium: false`, omit `purchasePrice` and set `years` on create. Optionally call Get Pricing with `years=2` to preview the registration total.","value":{"domain":{"domainName":"example.com"},"years":2}},"registryPremium":{"title":"registryPremium","description":"Registry premium uses `purchaseType: registration` with `premium: true` from Search or Check Availability. Call Get Pricing with matching `years` and pass `purchasePrice` exactly.","value":{"domain":{"domainName":"premiumexample.com"},"purchasePrice":349.95,"purchaseType":"registration","years":1}},"premiumPurchaseMultiYear":{"title":"premiumPurchaseMultiYear","description":"For registry premium multi-year, call Get Pricing with `years=2` and pass the returned `purchasePrice` total. Example: flat $349.95/yr registry premium → `purchasePrice: 699.90` for 2 years. Do not use discovery `renewalPrice` or multiply aftermarket acquisition fees by years.","value":{"domain":{"domainName":"premiumexample.com"},"purchasePrice":699.9,"purchaseType":"registration","years":2}},"aftermarketFlatPrice":{"title":"aftermarketFlatPrice","description":"Aftermarket domains use a flat acquisition fee from Search or Check Availability — not Get Pricing. `purchasePrice: 5000.00` is the acquisition fee only; it does not buy multiple years. Omit `years` or pass the TLD default — it does not affect price or guarantee registration length.","value":{"domain":{"domainName":"rarename.com"},"purchasePrice":5000,"purchaseType":"aftermarket_s","years":1}},"expiringPurchase":{"title":"expiringPurchase","description":"Expiring domains use a flat acquisition fee from discovery — not Get Pricing. Pass discovery `purchasePrice` with matching `purchaseType`. Omit `years` or pass the TLD default — it does not affect price or guarantee registration length.","value":{"domain":{"domainName":"expiringexample.com"},"purchasePrice":349.95,"purchaseType":"expiring","years":1}},"backorderPurchase":{"title":"backorderPurchase","description":"Backorder domains use a flat TLD-based acquisition fee from discovery — not Get Pricing. Pass discovery `purchasePrice` with matching `purchaseType`. `purchasePrice` is required regardless of the `premium` flag. Omit `years` or pass the TLD default — it does not affect price or guarantee registration length. Re-check Check Availability immediately before create — prices can change. Example price below is illustrative — use the value from your discovery result.","value":{"domain":{"domainName":"backorderexample.com"},"purchasePrice":79.99,"purchaseType":"backorder"}},"singleContactAtCreate":{"title":"singleContactAtCreate","description":"Generally all contacts need to be submitted when creating a domain that will not use your account default contacts. By passing a single contact during a domain create, you can set a single contact to be different than the account default contacts. This may also be required for some TLDs due to ICANN changes in registration contact requirements","value":{"domain":{"domainName":"example.com","contacts":{"tech":{"firstName":"Jonny","lastName":"IT Guy","companyName":"My Company","address1":"1234 Any Street","address2":null,"city":"Anytown","state":"NY","zip":"11222","country":"US","email":"support@example.com","phone":"+15555555"}}}}},"idnRegistration":{"title":"idnRegistration","description":"How to pass the correct IDN language for domains using non-ASCII characters.","value":{"domain":{"domainName":"exámple.com"},"tldRequirements":{"language":"ES"},"years":1}},"cctldRequirements":{"title":"cctldRequirements","description":"Some ccTLDs require additional registry-specific fields at create time. Fetch the required keys from [Get TLD Requirements as JSON Schema](/api/v1/reference/domain-info/get-specific-tld-requirements-v2), then pass them under `tldRequirements`. For `.se`, `X-NICSE-IDNUMBER` is required (personal or organizational ID).","value":{"domain":{"domainName":"example.se"},"tldRequirements":{"X-NICSE-IDNUMBER":"5566778899"},"years":1}},"withClaims":{"title":"withClaims","description":"When a domain has trademark claims (as determined by the [Domain Claims Check](/api/v1/reference/domain-info/check-domain-claims) endpoint), you must include the claims acknowledgment data in the domain creation request. This includes the claim identifier and validity dates from the claims check response.","value":{"domain":{"domainName":"tiktok.page"},"claims":{"claimId":"8c3027d30000000000382500785","notBefore":"2020-01-01T00:00:00Z","notAfter":"2030-01-01T00:00:00Z"}}}},"exampleType":"examples"}},"required":true,"exampleType":"examples"},"responses":{"b977f4bc-2aa1-4ea5-8660-416d8f1278b1":{"headers":{"X-Idempotency-Key":{"description":"If the initial request contained this header, echoes back with the initial value.","schema":{"type":"string","example":"083910ef-04e4-4bd1-a0bf-3737fe005ca8"}},"X-Idempotent-Replay":{"description":"Indicates that the response is being replayed from an idempotent request. This header will only be returned if the API is responding with cached data. Caches are cleared after 1 hour.","schema":{"type":"number","example":1}}},"content":{"application/json":{"schema":{"description":"CreateDomainResponse contains the domain info as well as the order info for the created domain.","properties":{"domain":{"type":"object","description":"The response format for a domain.","required":["domainName","createDate","expireDate","autorenewEnabled","locked","privacyEnabled","contacts","nameservers"],"properties":{"domainName":{"type":"string","description":"The punycode-encoded value of the domain name.","example":"example.com","isRequired":true,"uniqueKey":"domain.domainName","typeLabel":"string"},"createDate":{"type":"string","description":"The date and time when the domain was created at the registry.","format":"date-time","readOnly":true,"example":"2023-01-15T14:30:00Z","isRequired":true,"uniqueKey":"domain.createDate","typeLabel":"string\u003cdate-time>"},"expireDate":{"type":"string","description":"The date and time when the domain will expire.","format":"date-time","readOnly":true,"example":"2025-01-15T14:30:00Z","isRequired":true,"uniqueKey":"domain.expireDate","typeLabel":"string\u003cdate-time>"},"autorenewEnabled":{"type":"boolean","description":"Indicates whether the domain is set to renew automatically before expiration.","example":true,"isRequired":true,"uniqueKey":"domain.autorenewEnabled","typeLabel":"boolean"},"locked":{"type":"boolean","description":"Indicates if the domain is **transfer locked**, preventing transfers to another registrar.","example":true,"isRequired":true,"uniqueKey":"domain.locked","typeLabel":"boolean"},"privacyEnabled":{"type":"boolean","description":"Indicates if Whois Privacy is enabled for this domain.","example":true,"isRequired":true,"uniqueKey":"domain.privacyEnabled","typeLabel":"boolean"},"contacts":{"type":"object","description":"Contacts stores the contact information for the roles related to domains.","properties":{"admin":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for API responses and may contain null values for legacy data. For creating or updating contacts, use ContactRequest which enforces all validation requirements.","properties":{"firstName":{"oneOf":[{"type":"string","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.admin.firstName.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.admin.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.admin.lastName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.admin.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.lastName","typeLabel":"string | null"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.admin.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.admin.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.companyName","typeLabel":"string | null"},"address1":{"oneOf":[{"type":"string","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.admin.address1.oneOf.0","typeLabel":"string"},{"type":"null","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.admin.address1.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.address1","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.admin.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.admin.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.address2","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.admin.city.oneOf.0","typeLabel":"string"},{"type":"null","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.admin.city.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.admin.state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.admin.state.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.state","typeLabel":"string | null"},"zip":{"oneOf":[{"type":"string","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.admin.zip.oneOf.0","typeLabel":"string"},{"type":"null","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.admin.zip.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.zip","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.admin.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.admin.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.country","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.admin.email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.admin.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.admin.phone.oneOf.0","typeLabel":"string"},{"type":"null","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.admin.phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.phone","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.admin.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.admin.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.fax","typeLabel":"string | null"},"isVerified":{"type":"boolean","description":"Indicates if the contact has been verified as per ICANN requirements. If the value is `false` it indicates that the contact has not completed the required verification process. This property is read-only and will be included in responses but should not be included in requests.","readOnly":true,"example":true,"uniqueKey":"domain.contacts.admin.isVerified","typeLabel":"boolean"},"verificationId":{"oneOf":[{"type":"integer","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.admin.verificationId.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.admin.verificationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.admin.verificationId","typeLabel":"integer\u003cint64> | null"}},"uniqueKey":"domain.contacts.admin","typeLabel":"object"},"billing":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for API responses and may contain null values for legacy data. For creating or updating contacts, use ContactRequest which enforces all validation requirements.","properties":{"firstName":{"oneOf":[{"type":"string","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.billing.firstName.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.billing.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.billing.lastName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.billing.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.lastName","typeLabel":"string | null"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.billing.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.billing.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.companyName","typeLabel":"string | null"},"address1":{"oneOf":[{"type":"string","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.billing.address1.oneOf.0","typeLabel":"string"},{"type":"null","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.billing.address1.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.address1","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.billing.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.billing.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.address2","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.billing.city.oneOf.0","typeLabel":"string"},{"type":"null","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.billing.city.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.billing.state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.billing.state.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.state","typeLabel":"string | null"},"zip":{"oneOf":[{"type":"string","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.billing.zip.oneOf.0","typeLabel":"string"},{"type":"null","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.billing.zip.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.zip","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.billing.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.billing.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.country","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.billing.email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.billing.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.billing.phone.oneOf.0","typeLabel":"string"},{"type":"null","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.billing.phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.phone","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.billing.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.billing.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.fax","typeLabel":"string | null"},"isVerified":{"type":"boolean","description":"Indicates if the contact has been verified as per ICANN requirements. If the value is `false` it indicates that the contact has not completed the required verification process. This property is read-only and will be included in responses but should not be included in requests.","readOnly":true,"example":true,"uniqueKey":"domain.contacts.billing.isVerified","typeLabel":"boolean"},"verificationId":{"oneOf":[{"type":"integer","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.billing.verificationId.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.billing.verificationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.billing.verificationId","typeLabel":"integer\u003cint64> | null"}},"uniqueKey":"domain.contacts.billing","typeLabel":"object"},"registrant":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for API responses and may contain null values for legacy data. For creating or updating contacts, use RegistrantContactRequest which enforces all validation requirements.","properties":{"firstName":{"oneOf":[{"type":"string","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.registrant.firstName.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.registrant.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.registrant.lastName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.registrant.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.lastName","typeLabel":"string | null"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual. Please be advised that ICANN policy links the \"Company Name\" field (Organization) in your domain's contact details to its legal ownership. If this field contains information, the listed organization is considered the legal \"Registered Name Holder\" (domain owner).","example":"Example Inc.","uniqueKey":"domain.contacts.registrant.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual. Please be advised that ICANN policy links the \"Company Name\" field (Organization) in your domain's contact details to its legal ownership. If this field contains information, the listed organization is considered the legal \"Registered Name Holder\" (domain owner).","example":"Example Inc.","uniqueKey":"domain.contacts.registrant.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.companyName","typeLabel":"string | null"},"address1":{"oneOf":[{"type":"string","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.registrant.address1.oneOf.0","typeLabel":"string"},{"type":"null","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.registrant.address1.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.address1","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.registrant.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.registrant.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.address2","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.registrant.city.oneOf.0","typeLabel":"string"},{"type":"null","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.registrant.city.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.registrant.state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.registrant.state.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.state","typeLabel":"string | null"},"zip":{"oneOf":[{"type":"string","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.registrant.zip.oneOf.0","typeLabel":"string"},{"type":"null","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.registrant.zip.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.zip","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.registrant.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.registrant.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.country","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.registrant.email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.registrant.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.registrant.phone.oneOf.0","typeLabel":"string"},{"type":"null","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.registrant.phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.phone","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.registrant.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.registrant.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.fax","typeLabel":"string | null"},"isVerified":{"type":"boolean","description":"Indicates if the contact has been verified as per ICANN requirements. If the value is `false` it indicates that the contact has not completed the required verification process. This property is read-only and will be included in responses but should not be included in requests.","readOnly":true,"example":true,"uniqueKey":"domain.contacts.registrant.isVerified","typeLabel":"boolean"},"verificationId":{"oneOf":[{"type":"integer","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.registrant.verificationId.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.registrant.verificationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.registrant.verificationId","typeLabel":"integer\u003cint64> | null"}},"uniqueKey":"domain.contacts.registrant","typeLabel":"object"},"tech":{"type":"object","description":"Contact contains all relevant contact data for a domain registrant. This schema is used for API responses and may contain null values for legacy data. For creating or updating contacts, use ContactRequest which enforces all validation requirements.","properties":{"firstName":{"oneOf":[{"type":"string","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.tech.firstName.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name of the contact.","example":"John","uniqueKey":"domain.contacts.tech.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.tech.lastName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name of the contact.","example":"Doe","uniqueKey":"domain.contacts.tech.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.lastName","typeLabel":"string | null"},"companyName":{"oneOf":[{"type":"string","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.tech.companyName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name of the contact. Leave blank if the contact is an individual, as some registries may assume it is a corporate entity otherwise.","example":"Example Inc.","uniqueKey":"domain.contacts.tech.companyName.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.companyName","typeLabel":"string | null"},"address1":{"oneOf":[{"type":"string","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.tech.address1.oneOf.0","typeLabel":"string"},{"type":"null","description":"The first line of the contact's address.","example":"123 Main Street","uniqueKey":"domain.contacts.tech.address1.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.address1","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.tech.address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"The second line of the contact's address (optional).","example":"Suite 400","uniqueKey":"domain.contacts.tech.address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.address2","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.tech.city.oneOf.0","typeLabel":"string"},{"type":"null","description":"City of the contact's address.","example":"New York","uniqueKey":"domain.contacts.tech.city.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.tech.state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State or Province of the contact's address.","example":"NY","uniqueKey":"domain.contacts.tech.state.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.state","typeLabel":"string | null"},"zip":{"oneOf":[{"type":"string","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.tech.zip.oneOf.0","typeLabel":"string"},{"type":"null","description":"ZIP or Postal Code of the contact's address.","example":"10001","uniqueKey":"domain.contacts.tech.zip.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.zip","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.tech.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country code for the contact's address. Must be an ISO 3166-1 alpha-2 country code.","example":"US","uniqueKey":"domain.contacts.tech.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.country","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.tech.email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email address of the contact. Must be a valid email format. The validation is performed against the `addr-spec` syntax in [RFC 822](https://datatracker.ietf.org/doc/html/rfc822)","example":"john.doe@example.com","uniqueKey":"domain.contacts.tech.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.tech.phone.oneOf.0","typeLabel":"string"},{"type":"null","description":"Phone number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15551234567","uniqueKey":"domain.contacts.tech.phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.phone","typeLabel":"string | null"},"fax":{"oneOf":[{"type":"string","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.tech.fax.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fax number of the contact. Should follow the E.164 international format: \"+[country code][number]\".","example":"+15557654321","uniqueKey":"domain.contacts.tech.fax.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.fax","typeLabel":"string | null"},"isVerified":{"type":"boolean","description":"Indicates if the contact has been verified as per ICANN requirements. If the value is `false` it indicates that the contact has not completed the required verification process. This property is read-only and will be included in responses but should not be included in requests.","readOnly":true,"example":true,"uniqueKey":"domain.contacts.tech.isVerified","typeLabel":"boolean"},"verificationId":{"oneOf":[{"type":"integer","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.tech.verificationId.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","description":"When the contact is unverified, this is the ID of the pending verification record. Use this ID with the resend verification email and verify contact endpoints. Omitted or null when the contact is verified.","format":"int64","readOnly":true,"example":12345,"uniqueKey":"domain.contacts.tech.verificationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain.contacts.tech.verificationId","typeLabel":"integer\u003cint64> | null"}},"uniqueKey":"domain.contacts.tech","typeLabel":"object"}},"isRequired":true,"uniqueKey":"domain.contacts","typeLabel":"object"},"nameservers":{"type":"array","items":{"type":"string","uniqueKey":"domain.nameservers.items.[INDEX]","typeLabel":"string"},"description":"The list of nameservers assigned to this domain. If unspecified, it defaults to the account's default nameservers.","example":["ns1.example.com","ns2.example.com"],"isRequired":true,"uniqueKey":"domain.nameservers","typeLabel":"string[]"},"locks":{"description":"List of all registry locking statuses currently applied to the domain. Use this to see which locks are active (e.g. clientTransferProhibited, clientHold). Empty when the domain has no locks applied.","type":"array","items":{"type":"string","uniqueKey":"domain.locks.items.[INDEX]","typeLabel":"string"},"readOnly":true,"example":["clientTransferProhibited","clientHold"],"uniqueKey":"domain.locks","typeLabel":"string[]"},"transferLockExpiresAt":{"type":"string","description":"When present, the domain has an active ICANN-mandated transfer lock (new registration, transfer-in, or material registrant contact change) that blocks client unlock via the API until this time. When omitted, there is no active policy transfer lock with a known expiry — the domain may still be locked (`locked: true`) due to a voluntary user lock. Does not represent RegistrarLock, AccountLock, verification holds, trademark-claim locks, or admin TransferLock with no expiry date.","format":"date-time","readOnly":true,"example":"2023-03-16T14:30:00Z","uniqueKey":"domain.transferLockExpiresAt","typeLabel":"string\u003cdate-time>"},"renewalPrice":{"type":"number","description":"The cost to renew the domain. This may be required for the RenewDomain operation.","format":"double","readOnly":true,"example":12.99,"uniqueKey":"domain.renewalPrice","typeLabel":"number\u003cdouble>"}},"isRequired":true,"uniqueKey":"domain","typeLabel":"object"},"order":{"description":"Order is an identifier for this purchase.","format":"int32","type":"integer","isRequired":true,"uniqueKey":"order","typeLabel":"integer\u003cint32>"},"totalPaid":{"description":"TotalPaid is the total amount paid, including VAT when applicable. Whois Privacy is free and is not included in this amount.","format":"double","type":"number","isRequired":true,"uniqueKey":"totalPaid","typeLabel":"number\u003cdouble>"}},"type":"object","required":["order","totalPaid","domain"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"domain":{"domainName":"example.com","createDate":"2023-01-15T14:30:00Z","expireDate":"2025-01-15T14:30:00Z","autorenewEnabled":true,"locked":true,"privacyEnabled":true,"contacts":{"admin":{"firstName":"John","lastName":"Doe","companyName":"Example Inc.","address1":"123 Main Street","address2":"Suite 400","city":"New York","state":"NY","zip":"10001","country":"US","email":"john.doe@example.com","phone":"+15551234567","fax":"+15557654321","isVerified":true,"verificationId":12345},"billing":{"firstName":"John","lastName":"Doe","companyName":"Example Inc.","address1":"123 Main Street","address2":"Suite 400","city":"New York","state":"NY","zip":"10001","country":"US","email":"john.doe@example.com","phone":"+15551234567","fax":"+15557654321","isVerified":true,"verificationId":12345},"registrant":{"firstName":"John","lastName":"Doe","companyName":"Example Inc.","address1":"123 Main Street","address2":"Suite 400","city":"New York","state":"NY","zip":"10001","country":"US","email":"john.doe@example.com","phone":"+15551234567","fax":"+15557654321","isVerified":true,"verificationId":12345},"tech":{"firstName":"John","lastName":"Doe","companyName":"Example Inc.","address1":"123 Main Street","address2":"Suite 400","city":"New York","state":"NY","zip":"10001","country":"US","email":"john.doe@example.com","phone":"+15551234567","fax":"+15557654321","isVerified":true,"verificationId":12345}},"nameservers":["ns1.example.com","ns2.example.com"],"locks":["clientTransferProhibited","clientHold"],"transferLockExpiresAt":"2023-03-16T14:30:00Z","renewalPrice":12.99},"order":123,"totalPaid":123}}},"exampleType":"generated"}},"description":"A successful response.","exampleType":"generated"},"3ea31067-214a-4b7b-a8ec-f517a01800a4":{"description":"Bad request - Invalid input data.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Bad Request","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Additional context or information about the error","example":"'domainName' cannot be null","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional context or information about the error","example":"'domainName' cannot be null","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"premiumPriceRequired":{"title":"premiumPriceRequired","value":{"message":"Purchase price is required for premium domains in order to complete this request"}},"priceRequired":{"title":"priceRequired","value":{"message":"Purchase price is required in order to complete this request"}},"priceMismatch":{"title":"priceMismatch","value":{"message":"Purchase price does not match"}},"invalidYears":{"title":"invalidYears","value":{"message":"Invalid years"}},"promoNoDiscount":{"title":"promoNoDiscount","description":"Returned when the supplied promo applies no discount. The order is not created. Promo codes specify eligibility criteria, including duration.","value":{"message":"Promo code does not apply a discount to this purchase"}}},"exampleType":"examples"}},"exampleType":"examples"},"16579172-56d8-4a46-9965-21b4f22eeb8c":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Unauthorized","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"},"ab84effe-3088-42bd-82ed-caa96ff6ca79":{"description":"Payment has failed for this transaction.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Payment failed","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Additional context or information about the error","example":"Insufficient Funds","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional context or information about the error","example":"Insufficient Funds","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Payment failed","details":"Insufficient Funds"}}},"exampleType":"generated"}},"exampleType":"generated"},"2985c85c-c648-48d1-b743-987bfabaa687":{"description":"Forbidden - you do not have permission to perform this action.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Permission denied","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Additional context or information about the error","example":"Failed authentication","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional context or information about the error","example":"Failed authentication","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Permission denied","details":"Failed authentication"}}},"exampleType":"generated"}},"exampleType":"generated"},"352746d3-b6ab-41ee-a432-d3235e61e8a9":{"description":"Domain or requested resource not found.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Not Found","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Additional context or information about the error","example":"The requested domain does not exist.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional context or information about the error","example":"The requested domain does not exist.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Not Found","details":"The requested domain does not exist."}}},"exampleType":"generated"}},"exampleType":"generated"},"67280064-2844-475a-b17b-a8a1613b9707":{"description":"Method not allowed.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Method Not Allowed","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Method Not Allowed"}}},"exampleType":"generated"}},"exampleType":"generated"},"2596f55f-79fc-4d76-9b27-d0a3c4487c2c":{"description":"When sending idempotent requests, this response indicates that there was an issue with the idempotency keys.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Idempotency key has been reused for a different request","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Idempotency key has been reused for a different request"}}},"exampleType":"generated"}},"exampleType":"generated"},"0c613a69-8267-4c90-ba82-a02466951ec4":{"description":"All POST, PUT, PATCH requests for this API must include the `Content-Type: application/json` header in the requests.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"The 'Content-Type' header must be 'application/json' for this request.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The 'Content-Type' header must be 'application/json' for this request."}}},"exampleType":"generated"}},"exampleType":"generated"},"248d4bec-1352-44c2-98f8-74287195b18f":{"description":"Pricing information unavailable.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Unprocessable Entity","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","description":"Additional context or information about the pricing error","example":"The pricing information required to process this request is temporarily unavailable. This is an internal system error. Please try again in a few minutes or contact support if the issue persists.","uniqueKey":"details","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"registrationUnavailable":{"title":"registrationUnavailable","value":{"message":"Domain pricing unavailable","details":"The pricing information required to process this request is temporarily unavailable. This is an internal system error. Please try again in a few minutes or contact support if the issue persists."}}},"exampleType":"examples"}},"exampleType":"examples"},"fdf6e59e-b0d9-4580-8862-6089f16d3f44":{"description":"Rate limit has been exceeded.","content":{"application/json":{"schema":{"type":"object","required":["message","details"],"properties":{"message":{"type":"string","description":"### Too Many Requests\nYou have exceeded the rate limit.\n\n**Headers returned:**\n* 'X-RateLimit-Reset': An integer (UTC epoch) indicating when you can retry.","example":"Rate Limit Exceeded","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Rate Limit Exceeded"}}},"exampleType":"generated"}},"headers":{"x-ratelimit-reset":{"description":"Unix timestamp for the time at which the current rate limit will reset.","schema":{"type":"number","example":1747668270}}},"exampleType":"generated"},"397bdce8-a89a-4c98-9db3-940532cc0d41":{"description":"Unavailable for Legal Reasons.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message explaining why the resource is unavailable for legal reasons","example":"Unavailable for Legal Reasons","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","description":"Additional context or information about the legal restriction","example":"This domain registration is restricted due to legal requirements in your jurisdiction.","uniqueKey":"details","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Unavailable for Legal Reasons","details":"This domain registration is restricted due to legal requirements in your jurisdiction."}}},"exampleType":"generated"}},"exampleType":"generated"},"2454af67-633c-48b4-8b4d-f8345851b40d":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error.","example":"Internal Server Error","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Additional context or information about the error.","example":"Something went wrong.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional context or information about the error.","example":"Something went wrong.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Internal Server Error","details":"Something went wrong."}}},"exampleType":"generated"}},"exampleType":"generated"},"6b8da059-e33e-41ef-95a7-7cc4a1ccb7c7":{"description":"Not implemented.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error","example":"Unimplemented","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Additional context or information about the error","example":"Requested feature is not yet implemented","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional context or information about the error","example":"Requested feature is not yet implemented","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Unimplemented","details":"Requested feature is not yet implemented"}}},"exampleType":"generated"}},"exampleType":"generated"},"1cf4562a-ec43-4d41-9b41-6fdb0d25c201":{"description":"Bad Gateway","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error.","example":"The server received an invalid response from the upstream server.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The server received an invalid response from the upstream server."}}},"exampleType":"generated"}},"exampleType":"generated"},"2b046a99-2ae5-4de6-8cb0-1d5bdc43099b":{"description":"Service Unavailable — returned during scheduled maintenance when the API is offline. See https://status.name.com for updates.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error.","example":"Service Unavailable","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"oneOf":[{"type":"string","description":"Additional context or information about the error.","example":"The API is offline for scheduled maintenance. See https://status.name.com for updates.","uniqueKey":"details.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional context or information about the error.","example":"The API is offline for scheduled maintenance. See https://status.name.com for updates.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Service Unavailable","details":"The API is offline for scheduled maintenance. See https://status.name.com for updates."}}},"exampleType":"generated"}},"exampleType":"generated"},"4fe087de-25c2-48e6-b145-053df6f94b7c":{"description":"Gateway Timeout","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message providing more details about the error.","example":"The upstream server is taking too long to respond.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The upstream server is taking too long to respond."}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d8600753-25c5-4f15-8e86-e3efcdef3502":{"BasicAuth":{"scheme":"basic","type":"http","description":"Authenticate via HTTP Basic with your account username and API token. Examples use an explicit 'Authorization: Basic \u003cbase64(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.","scopes":[],"schemeName":"BasicAuth"}}},"servers":{"a299706b-162f-4709-8731-1da4aafad643":{"description":"Testing","url":"https://api.dev.name.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"basic","type":"http","description":"Authenticate via HTTP Basic with your account username and API token. Examples use an explicit 'Authorization: Basic \u003cbase64(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.","scopes":[],"schemeName":"BasicAuth"},"schema":{"title":"Basic Auth","type":"object","description":"Authenticate via HTTP Basic with your account username and API token. Examples use an explicit 'Authorization: Basic \u003cbase64(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.","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"BasicAuth","name":"Authorization"}],"title":"BasicAuth"}]},"originalFileLocation":"api/v1/namecom.api.yaml"},"subdomain":"namecom","siteName":"name.com Core API","title":"Create Domain - name.com Core API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-16T21:25:22.531Z","originalFileLocation":"api/v1/reference/domains/create-domain.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Registers a new domain under your account. You must provide domain.domainName at minimum. 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. ### Create Domain pricing See the Domain purchase pricing guide for the full reference. Recommendation: For most integrations, scope discovery to purchaseType: registration. Other purchase types are supported but add complexity — details in the guide above. Discovery (required before create): Call Search or Check Availability, not Get Pricing alone. Both return the same SearchResult fields (purchaseType, purchasePrice, premium, purchasable). Zone Check is designed for rapid availability checks only; it is not sufficient to complete a purchase. ### Getting the price for Create Domain 1. Search or Check Availability → copy purchaseType, premium, note purchasePrice. 2. Branch on purchaseType: - registration + premium: false — omit purchasePrice on create, set years. Optional: Get Pricing with same years to preview the total. - registration + premium: true — Get Pricing with same years → pass purchasePrice exactly. - aftermarket / expiring / backorder — use discovery purchasePrice (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. years does not multiply price or guarantee registration length. 3. If purchasePrice is sent, it must match exactly or the request fails with 400 and \u0026quot;Purchase price does not match\u0026quot;. Years on acquisition types: For aftermarket_s, aftermarket_b, aftermarket_i, expiring, and backorder: omit years or pass the TLD default. Check domain.expireDate in the response; Renew to extend registration. ### Best Practices For Domain Creates 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. #### Important Note on Dropcatching and Abuse Prevention 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. #### Contact Verification When a new domain registration is created and a contact is submitted, name.com may need to validate the contact\u0026#x27;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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"name.com Core API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Domain - name.com Core API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Registers a new domain under your account. You must provide domain.domainName at minimum. 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. ### Create Domain pricing See the Domain purchase pricing guide for the full reference. Recommendation: For most integrations, scope discovery to purchaseType: registration. Other purchase types are supported but add complexity — details in the guide above. Discovery (required before create): Call Search or Check Availability, not Get Pricing alone. Both return the same SearchResult fields (purchaseType, purchasePrice, premium, purchasable). Zone Check is designed for rapid availability checks only; it is not sufficient to complete a purchase. ### Getting the price for Create Domain 1. Search or Check Availability → copy purchaseType, premium, note purchasePrice. 2. Branch on purchaseType: - registration + premium: false — omit purchasePrice on create, set years. Optional: Get Pricing with same years to preview the total. - registration + premium: true — Get Pricing with same years → pass purchasePrice exactly. - aftermarket / expiring / backorder — use discovery purchasePrice (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. years does not multiply price or guarantee registration length. 3. If purchasePrice is sent, it must match exactly or the request fails with 400 and \u0026quot;Purchase price does not match\u0026quot;. Years on acquisition types: For aftermarket_s, aftermarket_b, aftermarket_i, expiring, and backorder: omit years or pass the TLD default. Check domain.expireDate in the response; Renew to extend registration. ### Best Practices For Domain Creates 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. #### Important Note on Dropcatching and Abuse Prevention 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. #### Contact Verification When a new domain registration is created and a contact is submitted, name.com may need to validate the contact\u0026#x27;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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"name.com Core API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.name.com/api/v1/reference/domains/create-domain\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://namecom.mintlify.app/_mintlify/api/og/v2?division=Domains\u0026amp;title=Create+Domain\u0026amp;description=Registers+a+new+domain+under+your+account.+You+must+provide+%60domain.domainName%60+at+minimum.%0AThis+endpoint+is+commonly+used+to+programmatically+onboard+new+domai\u0026amp;theme=a954cb13cd71ba157cb20fc0\u0026amp;signature=727a8409ad0b3472c2df3876a27faa84d639c99c40bf50988515028b2ab49ee8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create Domain - name.com Core API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Registers a new domain under your account. You must provide domain.domainName at minimum. 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. ### Create Domain pricing See the Domain purchase pricing guide for the full reference. Recommendation: For most integrations, scope discovery to purchaseType: registration. Other purchase types are supported but add complexity — details in the guide above. Discovery (required before create): Call Search or Check Availability, not Get Pricing alone. Both return the same SearchResult fields (purchaseType, purchasePrice, premium, purchasable). Zone Check is designed for rapid availability checks only; it is not sufficient to complete a purchase. ### Getting the price for Create Domain 1. Search or Check Availability → copy purchaseType, premium, note purchasePrice. 2. Branch on purchaseType: - registration + premium: false — omit purchasePrice on create, set years. Optional: Get Pricing with same years to preview the total. - registration + premium: true — Get Pricing with same years → pass purchasePrice exactly. - aftermarket / expiring / backorder — use discovery purchasePrice (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. years does not multiply price or guarantee registration length. 3. If purchasePrice is sent, it must match exactly or the request fails with 400 and \u0026quot;Purchase price does not match\u0026quot;. Years on acquisition types: For aftermarket_s, aftermarket_b, aftermarket_i, expiring, and backorder: omit years or pass the TLD default. Check domain.expireDate in the response; Renew to extend registration. ### Best Practices For Domain Creates 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. #### Important Note on Dropcatching and Abuse Prevention 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. #### Contact Verification When a new domain registration is created and a contact is submitted, name.com may need to validate the contact\u0026#x27;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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://namecom.mintlify.app/_mintlify/api/og/v2?division=Domains\u0026amp;title=Create+Domain\u0026amp;description=Registers+a+new+domain+under+your+account.+You+must+provide+%60domain.domainName%60+at+minimum.%0AThis+endpoint+is+commonly+used+to+programmatically+onboard+new+domai\u0026amp;theme=a954cb13cd71ba157cb20fc0\u0026amp;signature=727a8409ad0b3472c2df3876a27faa84d639c99c40bf50988515028b2ab49ee8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/namecom/YtIhkLytNOiNFb-Q/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"name.com Core API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1EAA50\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"f-XFmxTzeRzcOF9-ocrS8hNiAemBYY4jDUL5xJwuC9M\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.name.com/api/v1/reference/domains/create-domain\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/v1/reference/domains/create-domain.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.name.com/#organization\",\"name\":\"name.com Core API\",\"url\":\"https://docs.name.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://namedotcom-cdn.name.tools/media/logo/name_logo.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.name.com#website\",\"name\":\"name.com Core API\",\"url\":\"https://docs.name.com\",\"publisher\":{\"@id\":\"https://docs.name.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.name.com/api/v1/reference/domains/create-domain#webpage\",\"url\":\"https://docs.name.com/api/v1/reference/domains/create-domain\",\"name\":\"Create Domain\",\"description\":\"Registers a new domain under your account. You must provide domain.domainName at minimum. 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. ### Create Domain pricing See the Domain purchase pricing guide for the full reference. Recommendation: For most integrations, scope discovery to purchaseType: registration. Other purchase types are supported but add complexity — details in the guide above. Discovery (required before create): Call Search or Check Availability, not Get Pricing alone. Both return the same SearchResult fields (purchaseType, purchasePrice, premium, purchasable). Zone Check is designed for rapid availability checks only; it is not sufficient to complete a purchase. ### Getting the price for Create Domain 1. Search or Check Availability → copy purchaseType, premium, note purchasePrice. 2. Branch on purchaseType: - registration + premium: false — omit purchasePrice on create, set years. Optional: Get Pricing with same years to preview the total. - registration + premium: true — Get Pricing with same years → pass purchasePrice exactly. - aftermarket / expiring / backorder — use discovery purchasePrice (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. years does not multiply price or guarantee registration length. 3. If purchasePrice is sent, it must match exactly or the request fails with 400 and \\\"Purchase price does not match\\\". Years on acquisition types: For aftermarket_s, aftermarket_b, aftermarket_i, expiring, and backorder: omit years or pass the TLD default. Check domain.expireDate in the response; Renew to extend registration. ### Best Practices For Domain Creates 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. #### Important Note on Dropcatching and Abuse Prevention 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. #### Contact Verification 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.\",\"dateModified\":\"2026-06-16T21:25:22.531Z\",\"isPartOf\":{\"@id\":\"https://docs.name.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.name.com/api/v1/reference/domains/create-domain#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.name.com/api/v1/reference/domains/create-domain#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core API Reference\",\"item\":\"https://docs.name.com/api/v1/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Domains\",\"item\":\"https://docs.name.com/api/v1/reference/domains/list-domains\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create Domain\",\"item\":\"https://docs.name.com/api/v1/reference/domains/create-domain\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.name.com/api/v1/reference/domains/create-domain#apireference\",\"headline\":\"Create Domain\",\"name\":\"Create Domain\",\"description\":\"Registers a new domain under your account. You must provide domain.domainName at minimum. 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. ### Create Domain pricing See the Domain purchase pricing guide for the full reference. Recommendation: For most integrations, scope discovery to purchaseType: registration. Other purchase types are supported but add complexity — details in the guide above. Discovery (required before create): Call Search or Check Availability, not Get Pricing alone. Both return the same SearchResult fields (purchaseType, purchasePrice, premium, purchasable). Zone Check is designed for rapid availability checks only; it is not sufficient to complete a purchase. ### Getting the price for Create Domain 1. Search or Check Availability → copy purchaseType, premium, note purchasePrice. 2. Branch on purchaseType: - registration + premium: false — omit purchasePrice on create, set years. Optional: Get Pricing with same years to preview the total. - registration + premium: true — Get Pricing with same years → pass purchasePrice exactly. - aftermarket / expiring / backorder — use discovery purchasePrice (flat fee). Re-check discovery before create. Do not use Get Pricing for create price. years does not multiply price or guarantee registration length. 3. If purchasePrice is sent, it must match exactly or the request fails with 400 and \\\"Purchase price does not match\\\". Years on acquisition types: For aftermarket_s, aftermarket_b, aftermarket_i, expiring, and backorder: omit years or pass the TLD default. Check domain.expireDate in the response; Renew to extend registration. ### Best Practices For Domain Creates 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. #### Important Note on Dropcatching and Abuse Prevention 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. #### Contact Verification 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.\",\"url\":\"https://docs.name.com/api/v1/reference/domains/create-domain\",\"mainEntityOfPage\":{\"@id\":\"https://docs.name.com/api/v1/reference/domains/create-domain#webpage\"},\"dateModified\":\"2026-06-16T21:25:22.531Z\",\"publisher\":{\"@id\":\"https://docs.name.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.name.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"name.com Core API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"name.com Core API","nav":{"global":null,"groups":[{"group":"API Home","pages":[{"title":"name.com Core API Documentation","href":"/index"}]},{"group":"Guides \u0026 Flows","pages":[{"title":"v4 to CORE API Migration","href":"/guides/migration-guide"},{"group":"Setup","pages":[{"title":"Authentication","href":"/guides/authentication"},{"title":"Getting Started","href":"/guides/getting-started"},{"title":"Testing Environment","href":"/guides/testing-environment"}]},{"group":"Build \u0026 Launch","pages":[{"title":"Reseller Quickstart","href":"/guides/quickstart"},{"title":"Domain Purchase Pricing","href":"/guides/domain-pricing"},{"title":"Quickstart TLD List","href":"/guides/quickstart-recommended-tlds"}]},{"group":"Operations \u0026 Compliance","pages":[{"title":"Contact Verification Compliance","href":"/guides/contact-verification"},{"title":"Domain Renewals \u0026 Expiration","href":"/guides/domain-renewals-expiration"},{"title":"Funding Your name.com Account","href":"/guides/funding-your-namecom-account"},{"title":"HMAC Signature Verification","href":"/guides/hmac-examples"},{"title":"Registrant Communications","href":"/guides/registrant-communications"},{"title":"Understanding Domain Locks","href":"/guides/domain-locks"}]},{"group":"Flows","pages":[{"title":"Claims Flow","href":"/guides/claims-flow"},{"title":"External Transfers Flow","href":"/guides/external-transfers-flow"},{"title":"Refunds Flow","href":"/guides/refunds-flow"}]},{"group":"MCP Integrations","pages":[{"title":"API Docs MCP","href":"/integrations/mcp/api-docs-mcp"},{"title":"name.com MCP","href":"/integrations/mcp/namecom-mcp"}]}]},{"group":"Official SDKs","tag":"NEW","pages":[{"title":"SDK Quickstart","href":"/sdks/index"}]},{"group":"Core API Reference","pages":[{"title":"API Overview","href":"/api/v1/overview"},{"group":"Hello","pages":[{"openapi":"get /core/v1/hello","title":"Hello","href":"/api/v1/reference/hello/hello"}]},{"group":"Account Info","pages":[{"openapi":"get /core/v1/accountinfo/balance","title":"Check Account Balance","href":"/api/v1/reference/account-info/check-account-balance"}]},{"group":"Contact Verification","pages":[{"openapi":"get /core/v1/contacts/unverified","title":"List Unverified Contacts","href":"/api/v1/reference/contact-verification/list-unverified-contacts"},{"openapi":"post /core/v1/contacts/verify/{verificationId}","title":"Verify Contact","href":"/api/v1/reference/contact-verification/verify-contact"},{"openapi":"post /core/v1/contacts/verify/{verificationId}:resend","title":"Resend Contact Verification Email","href":"/api/v1/reference/contact-verification/resend-verification-email"}]},{"group":"Domains","pages":[{"openapi":"get /core/v1/domains","title":"List Domains","description":"Lists all domains in your account (basic details for each domain).","href":"/api/v1/reference/domains/list-domains"},{"openapi":"post /core/v1/domains","title":"Create Domain","href":"/api/v1/reference/domains/create-domain"},{"openapi":"get /core/v1/domains/{domainName}","title":"Get Domain","description":"Retrieves detailed information for a specific domain in your account.","href":"/api/v1/reference/domains/get-domain"},{"openapi":"patch /core/v1/domains/{domainName}","title":"Update a domain","href":"/api/v1/reference/domains/update-a-domain"},{"openapi":"get /core/v1/domains/{domainName}:getAuthCode","title":"Get Auth Code For Domain","href":"/api/v1/reference/domains/get-auth-code-for-domain"},{"openapi":"get /core/v1/domains/{domainName}:getPricing","title":"Get Pricing For Domain","href":"/api/v1/reference/domains/get-pricing-for-domain"},{"openapi":"post /core/v1/domains/{domainName}:purchasePrivacy","title":"Purchase Privacy","href":"/api/v1/reference/domains/purchase-privacy"},{"openapi":"post /core/v1/domains/{domainName}:renew","title":"Renew Domain","href":"/api/v1/reference/domains/renew-domain"},{"openapi":"post /core/v1/domains/{domainName}:setContacts","title":"Set Contacts","href":"/api/v1/reference/domains/set-contacts"},{"openapi":"post /core/v1/domains/{domainName}:setNameservers","title":"Set Nameservers","href":"/api/v1/reference/domains/set-nameservers"},{"openapi":"post /core/v1/domains:checkAvailability","title":"Check Availability","href":"/api/v1/reference/domains/check-availability"},{"openapi":"post /core/v1/domains:search","title":"Search","href":"/api/v1/reference/domains/search"},{"openapi":"post /core/v1/zonecheck","title":"Zone Check","href":"/api/v1/reference/domains/zone-check"},{"openapi":"post /core/v1/domains/{domainName}:disableAutorenew","deprecated":true,"title":"Disable Autorenew","href":"/api/v1/reference/domains/disable-autorenew"},{"openapi":"post /core/v1/domains/{domainName}:disableWhoisPrivacy","deprecated":true,"title":"Disable Whois Privacy","href":"/api/v1/reference/domains/disable-whois-privacy"},{"openapi":"post /core/v1/domains/{domainName}:enableAutorenew","deprecated":true,"title":"Enable Autorenew","href":"/api/v1/reference/domains/enable-autorenew"},{"openapi":"post /core/v1/domains/{domainName}:enableWhoisPrivacy","deprecated":true,"title":"Enable Whois Privacy","href":"/api/v1/reference/domains/enable-whois-privacy"},{"openapi":"post /core/v1/domains/{domainName}:lock","deprecated":true,"title":"Lock Domain","href":"/api/v1/reference/domains/lock-domain"},{"openapi":"post /core/v1/domains/{domainName}:unlock","deprecated":true,"title":"Unlock Domain","href":"/api/v1/reference/domains/unlock-domain"}]},{"group":"Domain Info","pages":[{"openapi":"get /core/v1/domaininfo/requirementsV2/{tld}","title":"Get TLD Requirements as JSON Schema","href":"/api/v1/reference/domain-info/get-specific-tld-requirements-v2"},{"openapi":"get /core/v1/domaininfo/requirements/{tld}","title":"Get Specific TLD Requirements","href":"/api/v1/reference/domain-info/get-specific-tld-requirements"},{"openapi":"post /core/v1/domaininfo/claims/{domain}","title":"Check Domain Claims","href":"/api/v1/reference/domain-info/check-domain-claims"}]},{"group":"DNS","pages":[{"openapi":"get /core/v1/domains/{domainName}/records","title":"List Records","href":"/api/v1/reference/dns/list-records"},{"openapi":"post /core/v1/domains/{domainName}/records","title":"Create Record","href":"/api/v1/reference/dns/create-record"},{"openapi":"get /core/v1/domains/{domainName}/records/{id}","title":"Get Record","href":"/api/v1/reference/dns/get-record"},{"openapi":"put /core/v1/domains/{domainName}/records/{id}","title":"Update Record","href":"/api/v1/reference/dns/update-record"},{"openapi":"delete /core/v1/domains/{domainName}/records/{id}","title":"Delete Record","href":"/api/v1/reference/dns/delete-record"}]},{"group":"DNSSECs","pages":[{"openapi":"get /core/v1/domains/{domainName}/dnssec","title":"List DNSSECs","href":"/api/v1/reference/dnssecs/list-dnssecs"},{"openapi":"post /core/v1/domains/{domainName}/dnssec","title":"Create DNSSEC","href":"/api/v1/reference/dnssecs/create-dnssec"},{"openapi":"get /core/v1/domains/{domainName}/dnssec/{digest}","title":"Get DNSSEC","href":"/api/v1/reference/dnssecs/get-dnssec"},{"openapi":"delete /core/v1/domains/{domainName}/dnssec/{digest}","title":"Delete DNSSEC","href":"/api/v1/reference/dnssecs/delete-dnssec"}]},{"group":"Email Forwardings","pages":[{"openapi":"get /core/v1/domains/{domainName}/email/forwarding","title":"List Email Forwardings","href":"/api/v1/reference/email-forwardings/list-email-forwardings"},{"openapi":"post /core/v1/domains/{domainName}/email/forwarding","title":"Create Email Forwarding","href":"/api/v1/reference/email-forwardings/create-email-forwarding"},{"openapi":"get /core/v1/domains/{domainName}/email/forwarding/{emailBox}","title":"Get Email Forwarding","href":"/api/v1/reference/email-forwardings/get-email-forwarding"},{"openapi":"put /core/v1/domains/{domainName}/email/forwarding/{emailBox}","title":"Update Email Forwarding","href":"/api/v1/reference/email-forwardings/update-email-forwarding"},{"openapi":"delete /core/v1/domains/{domainName}/email/forwarding/{emailBox}","title":"Delete Email Forwarding","href":"/api/v1/reference/email-forwardings/delete-email-forwarding"}]},{"group":"Orders","pages":[{"openapi":"get /core/v1/orders","title":"List Orders","href":"/api/v1/reference/orders/list-orders"},{"openapi":"get /core/v1/orders/{orderId}","title":"Get Order","href":"/api/v1/reference/orders/get-order"}]},{"group":"Refunds","pages":[{"openapi":"post /core/v1/refund","title":"Process Refund","href":"/api/v1/reference/refunds/process-refund"}]},{"group":"Premium Domains","pages":[{"openapi":"get /core/v1/premiumdomainslist","title":"Download Premium Domain Lists","href":"/api/v1/reference/premium-domains/download-premium-domain-lists"}]},{"group":"TLD Pricing","pages":[{"openapi":"get /core/v1/tldpricing","title":"TLD Price List","href":"/api/v1/reference/tld-pricing/tld-price-list"}]},{"group":"Transfers","pages":[{"title":"Check Transfer Eligibility","openapi":"get /core/v1/transfers/eligibility/{domainName}","href":"/api/v1/reference/transfers/get-transfer-eligibility"},{"group":"External","pages":[{"title":"List Transfers","openapi":"get /core/v1/transfers","href":"/api/v1/reference/transfers/list-transfers"},{"title":"Get Transfer Status","openapi":"get /core/v1/transfers/{domainName}","href":"/api/v1/reference/transfers/get-transfer"},{"title":"Create External Transfer In","openapi":"post /core/v1/transfers","href":"/api/v1/reference/transfers/create-transfer"},{"title":"Cancel External Transfer In","openapi":"post /core/v1/transfers/{domainName}:cancel","href":"/api/v1/reference/transfers/cancel-transfer"},{"title":"Cancel External Transfer Out","openapi":"post /core/v1/transfers/external/out/{domainName}:cancel","href":"/api/v1/reference/transfers/cancel-external-transfer-out"}]},{"group":"Internal","pages":[{"title":"Create Internal Transfer In","openapi":"post /core/v1/transfers/internal/in","href":"/api/v1/reference/transfers/create-internal-transfer-in"}]}]},{"group":"URL Forwardings","pages":[{"openapi":"post /core/v1/domains/{domainName}/url/forwarding","title":"Create URLForwarding","href":"/api/v1/reference/url-forwardings/create-urlforwarding"},{"openapi":"get /core/v1/urlforwarding/{domainName}","title":"List URL Forwardings by domain","href":"/api/v1/reference/url-forwardings/list-urlforwardings-by-domain"},{"openapi":"get /core/v1/urlforwarding/{domainName}/{id}","title":"Get URL Forwarding by ID","href":"/api/v1/reference/url-forwardings/get-urlforwarding-by-id"},{"openapi":"patch /core/v1/urlforwarding/{domainName}/{id}","title":"Update URL Forwarding by ID","href":"/api/v1/reference/url-forwardings/update-urlforwarding-by-id"},{"openapi":"delete /core/v1/urlforwarding/{domainName}/{id}","title":"Delete URL Forwarding by ID","href":"/api/v1/reference/url-forwardings/delete-urlforwarding-by-id"},{"openapi":"get /core/v1/domains/{domainName}/url/forwarding","deprecated":true,"title":"List URLForwardings","href":"/api/v1/reference/url-forwardings/list-urlforwardings"},{"openapi":"get /core/v1/domains/{domainName}/url/forwarding/{host}","deprecated":true,"title":"Get URLForwarding","href":"/api/v1/reference/url-forwardings/get-urlforwarding"},{"openapi":"put /core/v1/domains/{domainName}/url/forwarding/{host}","deprecated":true,"title":"Update URLForwarding","href":"/api/v1/reference/url-forwardings/update-urlforwarding"},{"openapi":"delete /core/v1/domains/{domainName}/url/forwarding/{host}","deprecated":true,"title":"Delete URLForwarding","href":"/api/v1/reference/url-forwardings/delete-urlforwarding"}]},{"group":"Vanity Nameservers","pages":[{"openapi":"get /core/v1/domains/{domainName}/vanity_nameservers","title":"List Vanity Nameservers","href":"/api/v1/reference/vanity-nameservers/list-vanity-nameservers"},{"openapi":"post /core/v1/domains/{domainName}/vanity_nameservers","title":"Create Vanity Nameserver","href":"/api/v1/reference/vanity-nameservers/create-vanity-nameserver"},{"openapi":"get /core/v1/domains/{domainName}/vanity_nameservers/{hostname}","title":"Get Vanity Nameserver","href":"/api/v1/reference/vanity-nameservers/get-vanity-nameserver"},{"openapi":"put /core/v1/domains/{domainName}/vanity_nameservers/{hostname}","title":"Update Vanity Nameserver IP","href":"/api/v1/reference/vanity-nameservers/update-vanity-nameserver-ip"},{"openapi":"delete /core/v1/domains/{domainName}/vanity_nameservers/{hostname}","title":"Delete Vanity Nameserver","href":"/api/v1/reference/vanity-nameservers/delete-vanity-nameserver"}]},{"group":"Webhook Notifications","pages":[{"title":"Webhooks Overview","href":"/api/v1/reference/webhook-notifications/overview"},{"group":"Subscriptions","pages":[{"title":"Get Subscribed Notifications","openapi":"get /core/v1/notifications","href":"/api/v1/reference/webhook-notifications/get-subscribed-notifications"},{"title":"Subscribe to Notification","openapi":"post /core/v1/notifications","href":"/api/v1/reference/webhook-notifications/subscribe-to-notification"},{"title":"Modify Subscription","openapi":"put /core/v1/notifications/{id}","href":"/api/v1/reference/webhook-notifications/modify-subscription"},{"title":"Delete Subscription","openapi":"delete /core/v1/notifications/{id}","href":"/api/v1/reference/webhook-notifications/delete-subscription"}]},{"group":"Account Events","pages":[{"title":"Account Credit Balance Change","openapi":"webhook accountCreditBalanceChange","href":"/api/v1/reference/webhook-notifications/account-credit-balance-change"}]},{"group":"Contact Events","pages":[{"title":"Contact Verification Status Change","openapi":"webhook contactVerificationStatusChange","href":"/api/v1/reference/webhook-notifications/contact-verification-status-change"}]},{"group":"Domain Events","pages":[{"title":"Domain Expiration","openapi":"webhook domainExpiration","href":"/api/v1/reference/webhook-notifications/domain-expiration"},{"title":"Domain Lock Status Change","openapi":"webhook domainLockStatusChange","href":"/api/v1/reference/webhook-notifications/domain-lock-status-change"},{"title":"Domain Registry Compliance Notice","openapi":"webhook domainRegistryComplianceNotice","href":"/api/v1/reference/webhook-notifications/domain-registry-compliance-notice"},{"title":"Domain Registry Rejection","openapi":"webhook domainRegistryRejection","href":"/api/v1/reference/webhook-notifications/domain-registry-rejection"},{"title":"Domain Removal","openapi":"webhook accountDomainRemoval","href":"/api/v1/reference/webhook-notifications/account-domain-removal"}]},{"group":"Transfers — External","pages":[{"title":"Domain Transfer In Status Change","openapi":"webhook domainTransferStatusChange","href":"/api/v1/reference/webhook-notifications/domain-transfer-status-change"},{"title":"Domain Transfer Out Status Change","openapi":"webhook domainTransferOutStatusChange","href":"/api/v1/reference/webhook-notifications/domain-transfer-out-status-change"}]},{"group":"Transfers — Internal","pages":[{"title":"Internal Transfer In Status Change","openapi":"webhook domainTransferInternalInStatusChange","href":"/api/v1/reference/webhook-notifications/domain-transfer-internal-in-status-change"},{"title":"Internal Transfer Out Status Change","openapi":"webhook domainTransferInternalOutStatusChange","href":"/api/v1/reference/webhook-notifications/domain-transfer-internal-out-status-change"}]}]}]},{"group":"Resources","pages":[{"title":"FAQ \u0026 Troubleshooting","href":"/resources/faq"},{"title":"Changelog","href":"/api/v1/changelog"}]}]},"basePath":"","title":"Create Domain - name.com Core API","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}