Name.com Core API (1.0.1)

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.

Download OpenAPI description
Languages
Servers
Mock server

https://docs.name.com/_mock/coreapi/namecom.api/

Testing

https://api.dev.name.com/

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.

Operations

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.

Operations

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.

Operations

Domains

Use Domains endpoints to search for domain availability, register new domains, and manage existing domains.

Operations

Renew Domain

Request

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.

Path
domainNamestringrequired

DomainName is the domain to renew.

Bodyapplication/jsonrequired
purchasePricenumber(double)

PurchasePrice is the amount in USD to pay for the domain renewal at the minimum renewal period (typically 1 year). If VAT tax applies, it will also be added automatically. PurchasePrice is required if this is a premium domain.

Example: 10.99
yearsinteger(int32)

Years specifies how many years to renew the domain for. Years defaults to the minimum time period (typically 1 year) if not passed and cannot be more than 10. Some TLDs default to longer periods (e.g. .AI requires a 2 year renewal).

Example: 3
curl -i -X POST \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}:renew' \
  -H 'Content-Type: application/json' \
  -d '{
    "purchasePrice": 10.99,
    "years": 3
  }'

Responses

A successful response.

Bodyapplication/json
domainobject(Domain)

Domain contains all relevant data for a domain.

orderinteger(int32)(Order is an identifier for this purchase)
totalPaidnumber(double)

TotalPaid is the total amount paid, including VAT.

Example: 5.95
Response
application/json
{ "domain": { "domainName": "example.com", "createDate": "2023-01-15T14:30:00Z", "expireDate": "2025-01-15T14:30:00Z", "autorenewEnabled": true, "locked": true, "privacyEnabled": true, "contacts": {}, "nameservers": [], "renewalPrice": 12.99 }, "order": 0, "totalPaid": 5.95 }

Set Contacts

Request

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.

Path
domainNamestringrequired

DomainName is the domain name to set the contacts for.

Example: example.com
Bodyapplication/jsonrequired
contactsobject(Contacts)

Contacts stores the contact information for the roles related to domains.

curl -i -X POST \
  -u <username>:<password> \
  https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/example.com:setContacts \
  -H 'Content-Type: application/json' \
  -d '{
    "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": "+1.5551234567",
        "fax": "+1.5557654321"
      },
      "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": "+1.5551234567",
        "fax": "+1.5557654321"
      },
      "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": "+1.5551234567",
        "fax": "+1.5557654321"
      },
      "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": "+1.5551234567",
        "fax": "+1.5557654321"
      }
    }
  }'

Responses

A successful response with updated domain contact information.

Bodyapplication/json
domainNamestringrequired

The punycode-encoded value of the domain name.

Example: "example.com"
createDatestring(date-time)read-onlyrequired

The date and time when the domain was created at the registry.

Example: "2023-01-15T14:30:00Z"
expireDatestring(date-time)read-onlyrequired

The date and time when the domain will expire.

Example: "2025-01-15T14:30:00Z"
autorenewEnabledbooleanrequired

Indicates whether the domain is set to renew automatically before expiration.

Example: true
lockedbooleanrequired

Indicates if the domain is locked, preventing transfers to another registrar.

Example: true
privacyEnabledbooleanrequired

Indicates if Whois Privacy is enabled for this domain.

Example: true
contactsobject(Contacts)required

Contacts stores the contact information for the roles related to domains.

contacts.​adminobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​billingobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​registrantobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​techobject(Contact)

Contact contains all relevant contact data for a domain registrant.

nameserversArray of stringsrequired

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"]
renewalPricenumber(double)read-onlyrequired

The cost to renew the domain. This may be required for the RenewDomain operation.

Example: 12.99
Response
application/json
{ "domainName": "example.com", "createDate": "2023-01-15T14:30:00Z", "expireDate": "2025-01-15T14:30:00Z", "autorenewEnabled": true, "locked": true, "privacyEnabled": true, "contacts": { "admin": {}, "billing": {}, "registrant": {}, "tech": {} }, "nameservers": [ "ns1.example.com", "ns2.example.com" ], "renewalPrice": 12.99 }

Set Nameservers

Request

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.

Path
domainNamestringrequired

DomainName is the domain name to set the nameservers for.

Example: example.com
Bodyapplication/jsonrequired
nameserversArray of stringsrequired

Nameservers is a list of the nameservers to set. Nameservers should already be set up and hosting the zone properly as some registries will verify before allowing the change.

Example: ["ns1.name.com","ns2.name.com"]
curl -i -X POST \
  -u <username>:<password> \
  https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/example.com:setNameservers \
  -H 'Content-Type: application/json' \
  -d '{
    "nameservers": [
      "ns1.name.com",
      "ns2.name.com"
    ]
  }'

Responses

A successful response.

Bodyapplication/json
domainNamestringrequired

The punycode-encoded value of the domain name.

Example: "example.com"
createDatestring(date-time)read-onlyrequired

The date and time when the domain was created at the registry.

Example: "2023-01-15T14:30:00Z"
expireDatestring(date-time)read-onlyrequired

The date and time when the domain will expire.

Example: "2025-01-15T14:30:00Z"
autorenewEnabledbooleanrequired

Indicates whether the domain is set to renew automatically before expiration.

Example: true
lockedbooleanrequired

Indicates if the domain is locked, preventing transfers to another registrar.

Example: true
privacyEnabledbooleanrequired

Indicates if Whois Privacy is enabled for this domain.

Example: true
contactsobject(Contacts)required

Contacts stores the contact information for the roles related to domains.

contacts.​adminobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​billingobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​registrantobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​techobject(Contact)

Contact contains all relevant contact data for a domain registrant.

nameserversArray of stringsrequired

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"]
renewalPricenumber(double)read-onlyrequired

The cost to renew the domain. This may be required for the RenewDomain operation.

Example: 12.99
Response
application/json
{ "domainName": "example.com", "createDate": "2023-01-15T14:30:00Z", "expireDate": "2025-01-15T14:30:00Z", "autorenewEnabled": true, "locked": true, "privacyEnabled": true, "contacts": { "admin": {}, "billing": {}, "registrant": {}, "tech": {} }, "nameservers": [ "ns1.example.com", "ns2.example.com" ], "renewalPrice": 12.99 }

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.

Operations

DNSSECs

Use DNSSEC endpoints to configure DNS Security Extensions for your domains. These endpoints allow you to add, retrieve, or remove DNSSEC records.

Operations

Email Forwardings

Use Email Forwardings endpoints to set up and manage email forwarding addresses on your domains.

Operations

URL Forwardings

Use URL Forwardings endpoints to control URL redirection settings for your domains.

Operations

Vanity Nameservers

Use Vanity Nameservers endpoints to configure custom nameserver hostnames (glue records) for your domains.

Operations

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.

Operations

Orders

Use Orders endpoints to review and track purchases made via the API.

Operations

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.

OperationsWebhooks