# Domains Use Domains endpoints to search for domain availability, register new domains, and manage existing domains. ## List Domains - [GET /core/v1/domains](https://docs.name.com/api-spec-cdn/namecom.api/domains/listdomains.md): Lists all domains in your account (basic details for each domain). ## Create Domain - [POST /core/v1/domains](https://docs.name.com/api-spec-cdn/namecom.api/domains/createdomain.md): Registers a new domain under your account. You must provide the at a bare minimum to register. For premium or special-priced domains, the purchase_price must also be included to confirm cost. This endpoint is commonly used to programmatically onboard new domains through user signup flows or checkout experiences. If no contacts are passed in this request, the default contacts for your name.com account will be used. ### 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. ## Get Domain - [GET /core/v1/domains/{domainName}](https://docs.name.com/api-spec-cdn/namecom.api/domains/getdomain.md): Retrieves detailed information for a specific domain in your account. ## Update a domain - [PATCH /core/v1/domains/{domainName}](https://docs.name.com/api-spec-cdn/namecom.api/domains/updatedomain.md): Allows updating of the autorenew, WhoIs Privacy and lock status of the specified domain. The request requires one, or any combination of the parameters in order to pass validation. If any of the requested updates failed, the domain will be returned to it's original state. ## Get Auth Code For Domain - [GET /core/v1/domains/{domainName}:getAuthCode](https://docs.name.com/api-spec-cdn/namecom.api/domains/getauthcodefordomain.md): Retrieves the transfer authorization code (EPP code) for a domain. ## Get Pricing For Domain - [GET /core/v1/domains/{domainName}:getPricing](https://docs.name.com/api-spec-cdn/namecom.api/domains/getpricingfordomain.md): Retrieves the registration and renewal pricing for a given domain. ## Purchase Privacy - [POST /core/v1/domains/{domainName}:purchasePrivacy](https://docs.name.com/api-spec-cdn/namecom.api/domains/purchaseprivacy.md): Adds or renews WHOIS privacy protection for a domain. This is used to ensure personal contact details remain hidden from public WHOIS lookups. If WHOIS privacy is already enabled, this will extend the protection. If it’s not yet active, this will both purchase and enable the service. This is a billable action unless covered by a bundled privacy plan. ## Renew Domain - [POST /core/v1/domains/{domainName}:renew](https://docs.name.com/api-spec-cdn/namecom.api/domains/renewdomain.md): Renews an existing domain for an additional registration period. Include the domain name and renewal term. If the domain has non-standard pricing (e.g. premium), the purchasePrice must be passed. This is typically used to extend ownership before a domain’s expiration. ## Set Contacts - [POST /core/v1/domains/{domainName}:setContacts](https://docs.name.com/api-spec-cdn/namecom.api/domains/setcontacts.md): Updates WHOIS contact information for a domain. This includes the registrant, administrative, technical, and billing contacts. All contact objects must be complete — partial updates are not supported. You should fetch the existing contact data first (e.g., via GetDomain and modify only the values you wish to change. This call replaces all four contact sets at once. #### Contact Verification When registrant contact information is updated, validation may be triggered if the new contact information has not been previously validated. This validation is required by ICANN for all TLDs except country-code TLDs (ccTLDs). This validation involves sending an email to the provided address, prompting the recipient to click a link to verify their email address. ## Set Nameservers - [POST /core/v1/domains/{domainName}:setNameservers](https://docs.name.com/api-spec-cdn/namecom.api/domains/setnameservers.md): SetNameservers will set the nameservers for the Domain. This operation updates the DNS configuration by changing which nameservers are responsible for the domain's zone. ## Check Availability - [POST /core/v1/domains:checkAvailability](https://docs.name.com/api-spec-cdn/namecom.api/domains/checkavailability.md): CheckAvailability will check a list of domains to see if they are purchasable. A Maximum of 50 domains can be specified. ## Search - [POST /core/v1/domains:search](https://docs.name.com/api-spec-cdn/namecom.api/domains/search.md): Searches for domain name suggestions based on a keyword or term. Important: Do not encode the in the path. Use , not . ## Zone Check - [POST /core/v1/zonecheck](https://docs.name.com/api-spec-cdn/namecom.api/domains/zonecheck.md): Zone Check offers a rapid, preliminary check for domain availability by leveraging cached zone file data. Ideal for large-batch queries, it provides a high confidence indication of a domain's availability significantly faster than live registry checks. For definitive, real-time availability and pricing, you can follow up with the standard Check Availability call. The API first validates each submitted domain. Invalid domains are filtered out, and their count is returned in the removed field of the response. If no valid domains remain after this process, the API returns a response. The cached zone files used for this check are refreshed twice daily based on the latest available data from the registries. ## Disable Autorenew (deprecated) - [POST /core/v1/domains/{domainName}:disableAutorenew](https://docs.name.com/api-spec-cdn/namecom.api/domains/disableautorenew.md): Turns off automatic renewal for a domain. This endpoint is deprecated in favor of the new UpdateDomain API. This will be removed in a future release. ## Disable Whois Privacy (deprecated) - [POST /core/v1/domains/{domainName}:disableWhoisPrivacy](https://docs.name.com/api-spec-cdn/namecom.api/domains/disablewhoisprivacy.md): Disables WHOIS privacy protection on a domain. This endpoint is deprecated in favor of the new UpdateDomain API. This will be removed in a future release. ## Enable Autorenew (deprecated) - [POST /core/v1/domains/{domainName}:enableAutorenew](https://docs.name.com/api-spec-cdn/namecom.api/domains/enableautorenew.md): Turns on automatic renewal for a domain. This endpoint is deprecated in favor of the new UpdateDomain API. This will be removed in a future release. ## Enable Whois Privacy (deprecated) - [POST /core/v1/domains/{domainName}:enableWhoisPrivacy](https://docs.name.com/api-spec-cdn/namecom.api/domains/enablewhoisprivacy.md): Enables WHOIS privacy protection on a domain. This endpoint is deprecated in favor of the new UpdateDomain API. This will be removed in a future release. ## Lock Domain (deprecated) - [POST /core/v1/domains/{domainName}:lock](https://docs.name.com/api-spec-cdn/namecom.api/domains/lockdomain.md): Locks a domain to prevent it from being transferred. This endpoint is deprecated in favor of the new UpdateDomain API. This will be removed in a future release. ## Unlock Domain (deprecated) - [POST /core/v1/domains/{domainName}:unlock](https://docs.name.com/api-spec-cdn/namecom.api/domains/unlockdomain.md): Unlocks a domain to allow it to be transferred. This endpoint is deprecated in favor of the new UpdateDomain API. This will be removed in a future release.