# name.com Core API RESTful API for managing domains, DNS records, and related services at name.com. Access via HTTPS at api.name.com (production) or api.dev.name.com (testing). Supports standard authentication, rate-limited to 20 requests/second. Version: 1.3.1 ## Servers Testing ``` https://api.dev.name.com ``` ## Security ### BasicAuth Authentication for the name.com API (Core) uses HTTP Basic Authentication. Provide your username and API token (not your account password) as the credentials. For the testing environment (api.dev.name.com), append "-test" to your username and use your test API token found in your API Token Management page. Note that Two-Step Verification is not compatible with API access. Rate limits of 20 requests per second or 3000 requests per hour apply. All requests must be made over HTTPS (port 443). Failure to authenticate properly will result in 401 Unauthenticated or 403 Permission Denied responses with appropriate error messages. Type: http Scheme: basic ## Download OpenAPI description [name.com Core API](https://docs.name.com/_spec/api-spec-cdn/namecom.api.yaml) ## Hello Use the Hello endpoint to verify that your API connection and credentials are working properly. This simple call returns a success message (along with server time and version info) to confirm the API is reachable and authenticated. ### Hello - [GET /core/v1/hello](https://docs.name.com/api-spec-cdn/namecom.api/hello/hello.md): Returns basic information about the API server (useful for testing connectivity and version checks). ## Account Info Use Account Info endpoints to retrieve basic information about your name.com account. For example, you can check your account’s current credit balance and other account details using these endpoints. ### Check Account Balance - [GET /core/v1/accountinfo/balance](https://docs.name.com/api-spec-cdn/namecom.api/account-info/checkaccountbalance.md): Returns the current account credit balance for the authenticated user. ## Accounts Use Accounts endpoints (available upon request) to manage sub-accounts under your main account. For example, resellers can programmatically create new customer accounts with their own login credentials and permissions. ### Create Account - [POST /core/v1/accounts](https://docs.name.com/api-spec-cdn/namecom.api/accounts/createaccount.md): Creates a new sub-account under your authenticated reseller account and returns API credentials for the new account. This endpoint is only available to approved reseller accounts. Contact name.com support to request access. ## 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. ## DNS Use DNS endpoints to manage DNS records for your domains. You can list all existing DNS records for a domain and create, update, or delete records as needed. ### List Records - [GET /core/v1/domains/{domainName}/records](https://docs.name.com/api-spec-cdn/namecom.api/dns/listrecords.md): Lists all DNS records for a specified domain. ### Create Record - [POST /core/v1/domains/{domainName}/records](https://docs.name.com/api-spec-cdn/namecom.api/dns/createrecord.md): Adds a new DNS record to the specified domain zone. Provide the record type (e.g. A, MX, CNAME), host, value, and TTL. This is used for configuring domain-based services such as email, website hosting, or third-party verifications. ### Delete Record - [DELETE /core/v1/domains/{domainName}/records/{id}](https://docs.name.com/api-spec-cdn/namecom.api/dns/deleterecord.md): Removes a DNS record by ID. Often used during cleanup operations or when replacing outdated DNS settings with updated records. ### Get Record - [GET /core/v1/domains/{domainName}/records/{id}](https://docs.name.com/api-spec-cdn/namecom.api/dns/getrecord.md): Retrieves details of a specific DNS record. ### Update Record - [PUT /core/v1/domains/{domainName}/records/{id}](https://docs.name.com/api-spec-cdn/namecom.api/dns/updaterecord.md): Replaces an existing DNS record with new data. This is a full overwrite — all required fields (host, type, answer, ttl) must be included in the request body. If you omit a field, the existing value will not be preserved and the request may fail. Use GetRecord beforehand to retrieve the current values if you intend to modify just one field. The record ID must belong to a domain you manage. ## DNSSECs Use DNSSEC endpoints to configure DNS Security Extensions for your domains. These endpoints allow you to add, retrieve, or remove DNSSEC records. ### List DNSSECs - [GET /core/v1/domains/{domainName}/dnssec](https://docs.name.com/api-spec-cdn/namecom.api/dnssecs/listdnssecs.md): Lists all DNSSEC (DS) records configured for a domain. ### Create DNSSEC - [POST /core/v1/domains/{domainName}/dnssec](https://docs.name.com/api-spec-cdn/namecom.api/dnssecs/creatednssec.md): Adds (registers) a new DNSSEC DS record for a domain. ### Delete DNSSEC - [DELETE /core/v1/domains/{domainName}/dnssec/{digest}](https://docs.name.com/api-spec-cdn/namecom.api/dnssecs/deletednssec.md): Deletes a DNSSEC record from a domain. ### Get DNSSEC - [GET /core/v1/domains/{domainName}/dnssec/{digest}](https://docs.name.com/api-spec-cdn/namecom.api/dnssecs/getdnssec.md): Retrieves details of a specific DNSSEC record for a domain. ## Email Forwardings Use Email Forwardings endpoints to set up and manage email forwarding addresses on your domains. ### List Email Forwardings - [GET /core/v1/domains/{domainName}/email/forwarding](https://docs.name.com/api-spec-cdn/namecom.api/email-forwardings/listemailforwardings.md): Returns a paginated list of all email forwarding rules for a domain. ### Create Email Forwarding - [POST /core/v1/domains/{domainName}/email/forwarding](https://docs.name.com/api-spec-cdn/namecom.api/email-forwardings/createemailforwarding.md): Creates a new email forwarding rule for a domain, such as redirecting info@example.com to an external inbox. If this is the first email forwarding rule created for the domain, the API may also update your MX records automatically to enable mail routing. The alias must not conflict with existing email services or MX records. To modify a forwarding rule later, use UpdateEmailForwarding. ### Delete Email Forwarding - [DELETE /core/v1/domains/{domainName}/email/forwarding/{emailBox}](https://docs.name.com/api-spec-cdn/namecom.api/email-forwardings/deleteemailforwarding.md): Deletes an email forwarding rule from a domain. ### Get Email Forwarding - [GET /core/v1/domains/{domainName}/email/forwarding/{emailBox}](https://docs.name.com/api-spec-cdn/namecom.api/email-forwardings/getemailforwarding.md): Retrieves the details of a specific email forwarding entry. ### Update Email Forwarding - [PUT /core/v1/domains/{domainName}/email/forwarding/{emailBox}](https://docs.name.com/api-spec-cdn/namecom.api/email-forwardings/updateemailforwarding.md): Updates the destination email address for an existing forwarding rule. ## URL Forwardings Use URL Forwardings endpoints to control URL redirection settings for your domains. ### List URLForwardings - [GET /core/v1/domains/{domainName}/url/forwarding](https://docs.name.com/api-spec-cdn/namecom.api/url-forwardings/listurlforwardings.md): Returns all URL forwarding settings configured for a domain. ### Create URLForwarding - [POST /core/v1/domains/{domainName}/url/forwarding](https://docs.name.com/api-spec-cdn/namecom.api/url-forwardings/createurlforwarding.md): Sets up a new URL forwarding (redirect) for a domain or subdomain. If this is the first URL forwarding entry, it may modify the A records for the domain accordingly. Note that changes may take up to 24 hours to fully propagate. ### Delete URLForwarding - [DELETE /core/v1/domains/{domainName}/url/forwarding/{host}](https://docs.name.com/api-spec-cdn/namecom.api/url-forwardings/deleteurlforwarding.md): Removes a URL forwarding configuration from the domain. This operation cannot be undone. ### Get URLForwarding - [GET /core/v1/domains/{domainName}/url/forwarding/{host}](https://docs.name.com/api-spec-cdn/namecom.api/url-forwardings/geturlforwarding.md): Retrieves the details of a specific URL forwarding configuration. ### Update URLForwarding - [PUT /core/v1/domains/{domainName}/url/forwarding/{host}](https://docs.name.com/api-spec-cdn/namecom.api/url-forwardings/updateurlforwarding.md): Modifies an existing URL forwarding rule. Changes may take up to 24 hours to fully propagate. ## Vanity Nameservers Use Vanity Nameservers endpoints to configure custom nameserver hostnames (glue records) for your domains. ### List Vanity Nameservers - [GET /core/v1/domains/{domainName}/vanity_nameservers](https://docs.name.com/api-spec-cdn/namecom.api/vanity-nameservers/listvanitynameservers.md): Lists all vanity nameserver hostnames configured for a domain. ### Create Vanity Nameserver - [POST /core/v1/domains/{domainName}/vanity_nameservers](https://docs.name.com/api-spec-cdn/namecom.api/vanity-nameservers/createvanitynameserver.md): Register a new vanity nameserver for the specified domain. ### Delete Vanity Nameserver - [DELETE /core/v1/domains/{domainName}/vanity_nameservers/{hostname}](https://docs.name.com/api-spec-cdn/namecom.api/vanity-nameservers/deletevanitynameserver.md): Deletes a vanity nameserver from the domain’s registry settings. This operation might fail if the registry detects the nameserver is still in use. ### Get Vanity Nameserver - [GET /core/v1/domains/{domainName}/vanity_nameservers/{hostname}](https://docs.name.com/api-spec-cdn/namecom.api/vanity-nameservers/getvanitynameserver.md): Retrieves details for a of a specific vanity nameserver (including its IP addresses). ### Update Vanity Nameserver IP - [PUT /core/v1/domains/{domainName}/vanity_nameservers/{hostname}](https://docs.name.com/api-spec-cdn/namecom.api/vanity-nameservers/updatevanitynameserver.md): Updates the glue record IP addresses for a vanity nameserver. ## Transfers Use Transfers endpoints to move domains into your name.com account. Start by creating a transfer request, then monitor and manage the status of pending transfers. You can also cancel a transfer if needed. ### List Transfers - [GET /core/v1/transfers](https://docs.name.com/api-spec-cdn/namecom.api/transfers/listtransfers.md): Returns all domain transfer requests for the account, including in-progress and recent transfers. ### Create Transfer - [POST /core/v1/transfers](https://docs.name.com/api-spec-cdn/namecom.api/transfers/createtransfer.md): Initiates a domain transfer into your name.com account from another registrar. You must provide the domain name and its valid transfer authorization code (EPP code). The domain must not be locked or under any transfer restrictions (e.g. clientTransferProhibited). If successful, the transfer is submitted and tracked through the ICANN transfer process. Once a transfer has been created, you can track its progress via the GetTransfer endpoint. ### Get Transfer - [GET /core/v1/transfers/{domainName}](https://docs.name.com/api-spec-cdn/namecom.api/transfers/gettransfer.md): Retrieves details of a specific domain transfer request. ### Cancel Transfer - [POST /core/v1/transfers/{domainName}:cancel](https://docs.name.com/api-spec-cdn/namecom.api/transfers/canceltransfer.md): Cancels a pending transfer request. This can be used if the transfer was initiated in error or if the authorization code provided was incorrect. The price of the transfer will refund the amount to account credit. ## Orders Use Orders endpoints to review and track purchases made via the API. ### List Orders - [GET /core/v1/orders](https://docs.name.com/api-spec-cdn/namecom.api/orders/listorders.md): Retrieves a list of all orders placed in the account. ### Get Order - [GET /core/v1/orders/{orderId}](https://docs.name.com/api-spec-cdn/namecom.api/orders/getorder.md): Fetches full details about a specific order using its ID. This includes domains, prices, and timestamps. Useful for confirming transactions, receipts, or generating invoices. ## Webhook Notifications Use Webhook Notification endpoints to subscribe to real-time notifications for account and domain events. This keeps your application updated on important changes without polling the API. ### Get Subscribed Notifications - [GET /core/v1/notifications](https://docs.name.com/api-spec-cdn/namecom.api/webhook-notifications/getsubscribednotifications.md): Retrieves all active webhook subscriptions on the account. ### Subscribe To Notification - [POST /core/v1/notifications](https://docs.name.com/api-spec-cdn/namecom.api/webhook-notifications/subscribetonotification.md): Creates a webhook subscription to receive real-time notifications about specific domain or account events (e.g. transfer completions, renewals). Pass the callback URL and event types. This allows external systems to stay in sync with name.com changes. ### Delete Subscription - [DELETE /core/v1/notifications/{id}](https://docs.name.com/api-spec-cdn/namecom.api/webhook-notifications/deletesubscription.md): Removes a webhook subscription from the account. ### Modify Subscription - [PUT /core/v1/notifications/{id}](https://docs.name.com/api-spec-cdn/namecom.api/webhook-notifications/modifysubscription.md): Updates an existing webhook’s configuration. This may include changing the callback URL or updating whether the webhook is currently active. ### Domain Transfer Status Change - [POST domainTransferStatusChange](https://docs.name.com/api-spec-cdn/namecom.api/webhook-notifications/domaintransferstatuschangewebhook.md): Sent when you have subscribed to the event on your account, and a domain transfer is processing. ### Webhook for credit balance changes - [POST accountCreditBalanceChange](https://docs.name.com/api-spec-cdn/namecom.api/webhook-notifications/accountcreditbalancechangewebhook.md): This is the payload that will be sent to the subscribed URL, when a changed to the amount of account credit for an account changes. This will trigger on both increases and decreases in account credit for the account. ## Domain Info Use Domain Info endpoints to retrieve information about TLD-specific requirements and registration rules. These endpoints help you understand what fields, documents, or constraints are needed to successfully register domains across different TLDs. ### Get Specific TLD Requirements - [GET /core/v1/domaininfo/requirements/{tld}](https://docs.name.com/api-spec-cdn/namecom.api/domain-info/getrequirement.md): Returns the registration requirements some general information for a specific TLD. The response contains a detailed description of eligibility criteria and a fields object with all required and optional fields, including validation rules, conditional logic, and nested field structures. Provide the TLD as a path parameter to retrieve its complete registration requirements. Useful when you only need details for one TLD (e.g., when a user selects .fr from a dropdown). ## TLD Pricing Use TLD Pricing endpoints to retrieve general pricing information for your account. ### TLD Price List - [GET /core/v1/tldpricing](https://docs.name.com/api-spec-cdn/namecom.api/tld-pricing/tldpricelist.md): Get an alphabetical pricing list of all TLDs supported by name.com. The pricing returned will be your account level price in US Dollars (USD) and is the price you pay for non-premium registrations. This is general pricing for domains registered with the specified TLD. Individual domains may have different pricing based on a large number of factors. If you are trying to see pricing for a specific individual domain, you will need to use the GetPricingForDomain endpoint.. Please note that if is returned for any of the prices, it means that particular product is unavailable at name.com at the time of the request. For example, if returns as in the response, it means that name.com is not currently accepting registrations for that TLD. Any IDN TLDs will return in their unicode format.