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

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

List Records

Request

Lists all DNS records for a specified domain.

Path
domainNamestringrequired

DomainName is the zone to list the records for.

Query
perPageinteger(int32)

Per Page is the number of records to return per request. Per Page defaults to 1,000.

pageinteger(int32)

Page is which page to return.

curl -i -X GET \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}/records?page=0&perPage=0'

Responses

A successful response.

Bodyapplication/json
lastPageinteger(int32)

LastPage is the identifier for the final page of results. It is only populated if there is another page of results after the current page.

nextPageinteger(int32)

NextPage is the identifier for the next page of results. It is only populated if there is another page of results after the current page.

totalCountinteger(int32)required

TotalCount is total number of results.

frominteger(int32)required

From specifies starting record number on current page.

tointeger(int32)required

To specifies ending record number on current page.

recordsArray of objects(Records contains the records in the zone)required
records[].​answerstring

Answer is either the IP address for A or AAAA records; the target for ANAME, CNAME, MX, or NS records; the text for TXT records. For SRV records, answer has the following format: "{weight} {port} {target}" e.g. "1 5061 sip.example.org".

records[].​domainNamestring

DomainName is the zone that the record belongs to.

records[].​fqdnstringread-only

FQDN is the Fully Qualified Domain Name. It is the combination of the host and the domain name. It always ends in a ".". FQDN is ignored in CreateRecord, specify via the Host field instead.

records[].​hoststring or null

Host is the hostname relative to the zone: e.g. for a record for blog.example.org, domain would be "example.org" and host would be "blog". An apex record would be specified by either an empty host "" or "@". A SRV record would be specified by "{service}.{protocol}.{host}": e.g. "_sip._tcp.phone" for _sip._tcp.phone.example.org.

records[].​idinteger(int32)read-only

Unique record id. Value is ignored on Create, and must match the URI on Update.

records[].​priorityinteger(int64)

Priority is only required for MX and SRV records, it is ignored for all others.

records[].​ttlinteger(int64)required

TTL is the time this record can be cached for in seconds. Name.com allows a minimum TTL of 300, or 5 minutes.

records[].​typestring or nullrequired

Type is one of the following: A, AAAA, ANAME, CNAME, MX, NS, SRV, or TXT.

Response
application/json
{ "lastPage": 0, "nextPage": 0, "totalCount": 0, "from": 0, "to": 0, "records": [ { … } ] }

Create Record

Request

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.

Path
domainNamestringrequired

DomainName is the zone that the record belongs to.

Bodyapplication/jsonrequired
answerstringrequired

Answer is either the IP address for A or AAAA records; the target for ANAME, CNAME, MX, or NS records; the text for TXT records. For SRV records, answer has the following format: "{weight} {port} {target}" e.g. "1 5061 sip.example.org".

fqdnstring

FQDN is the Fully Qualified Domain Name. It is the combination of the host and the domain name. It always ends in a ".". FQDN is ignored in CreateRecord, specify via the Host field instead.

hoststringrequired

Host is the hostname relative to the zone: e.g. for a record for blog.example.org, domain would be "example.org" and host would be "blog". An apex record would be specified by either an empty host "" or "@". A SRV record would be specified by "{service}.{protocol}.{host}": e.g. "_sip._tcp.phone" for _sip._tcp.phone.example.org.

idinteger(int32)

Unique record id. Value is ignored on Create, and must match the URI on Update.

priorityinteger(int64)

Priority is only required for MX and SRV records, it is ignored for all others.

ttlinteger(int64)

TTL is the time this record can be cached for in seconds. Name.com allows a minimum TTL of 300, or 5 minutes.

typestringrequired

Type is one of the following: A, AAAA, ANAME, CNAME, MX, NS, SRV, or TXT.

curl -i -X POST \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}/records' \
  -H 'Content-Type: application/json' \
  -d '{
    "answer": "string",
    "fqdn": "string",
    "host": "string",
    "id": 0,
    "priority": 0,
    "ttl": 0,
    "type": "string"
  }'

Responses

A successful response.

Bodyapplication/json
answerstring

Answer is either the IP address for A or AAAA records; the target for ANAME, CNAME, MX, or NS records; the text for TXT records. For SRV records, answer has the following format: "{weight} {port} {target}" e.g. "1 5061 sip.example.org".

domainNamestring

DomainName is the zone that the record belongs to.

fqdnstringread-only

FQDN is the Fully Qualified Domain Name. It is the combination of the host and the domain name. It always ends in a ".". FQDN is ignored in CreateRecord, specify via the Host field instead.

hoststring or null

Host is the hostname relative to the zone: e.g. for a record for blog.example.org, domain would be "example.org" and host would be "blog". An apex record would be specified by either an empty host "" or "@". A SRV record would be specified by "{service}.{protocol}.{host}": e.g. "_sip._tcp.phone" for _sip._tcp.phone.example.org.

idinteger(int32)read-only

Unique record id. Value is ignored on Create, and must match the URI on Update.

priorityinteger(int64)

Priority is only required for MX and SRV records, it is ignored for all others.

ttlinteger(int64)required

TTL is the time this record can be cached for in seconds. Name.com allows a minimum TTL of 300, or 5 minutes.

typestring or nullrequired

Type is one of the following: A, AAAA, ANAME, CNAME, MX, NS, SRV, or TXT.

Response
application/json
{ "answer": "string", "domainName": "string", "fqdn": "string", "host": "string", "id": 0, "priority": 0, "ttl": 0, "type": "string" }

Delete Record

Request

Removes a DNS record by ID. Often used during cleanup operations or when replacing outdated DNS settings with updated records.

Path
domainNamestringrequired

DomainName is the zone that the record to be deleted exists in.

idinteger(int32)required

ID is the server-assigned unique identifier for the Record to be deleted. If the Record with that ID does not exist in the specified Domain, an error is returned.

curl -i -X DELETE \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}/records/{id}'

Responses

Record successfully deleted.

Response
No content

Get Record

Request

Retrieves details of a specific DNS record.

Path
domainNamestringrequired

DomainName is the zone the record exists in.

idinteger(int32)required

ID is the server-assigned unique identifier for this record.

curl -i -X GET \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}/records/{id}'

Responses

A successful response.

Bodyapplication/json
answerstring

Answer is either the IP address for A or AAAA records; the target for ANAME, CNAME, MX, or NS records; the text for TXT records. For SRV records, answer has the following format: "{weight} {port} {target}" e.g. "1 5061 sip.example.org".

domainNamestring

DomainName is the zone that the record belongs to.

fqdnstringread-only

FQDN is the Fully Qualified Domain Name. It is the combination of the host and the domain name. It always ends in a ".". FQDN is ignored in CreateRecord, specify via the Host field instead.

hoststring or null

Host is the hostname relative to the zone: e.g. for a record for blog.example.org, domain would be "example.org" and host would be "blog". An apex record would be specified by either an empty host "" or "@". A SRV record would be specified by "{service}.{protocol}.{host}": e.g. "_sip._tcp.phone" for _sip._tcp.phone.example.org.

idinteger(int32)read-only

Unique record id. Value is ignored on Create, and must match the URI on Update.

priorityinteger(int64)

Priority is only required for MX and SRV records, it is ignored for all others.

ttlinteger(int64)required

TTL is the time this record can be cached for in seconds. Name.com allows a minimum TTL of 300, or 5 minutes.

typestring or nullrequired

Type is one of the following: A, AAAA, ANAME, CNAME, MX, NS, SRV, or TXT.

Response
application/json
{ "answer": "string", "domainName": "string", "fqdn": "string", "host": "string", "id": 0, "priority": 0, "ttl": 0, "type": "string" }

Update Record

Request

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.

Path
domainNamestringrequired

DomainName is the zone that the record belongs to.

idinteger(int32)required

Unique record id. Value is ignored on Create, and must match the URI on Update.

Bodyapplication/jsonrequired
answerstringrequired

Answer is either the IP address for A or AAAA records; the target for ANAME, CNAME, MX, or NS records; the text for TXT records. For SRV records, answer has the following format: "{weight} {port} {target}" e.g. "1 5061 sip.example.org".

fqdnstring

FQDN is the Fully Qualified Domain Name. It is the combination of the host and the domain name. It always ends in a ".". FQDN is ignored in CreateRecord, specify via the Host field instead.

hoststring

Host is the hostname relative to the zone: e.g. for a record for blog.example.org, domain would be "example.org" and host would be "blog". An apex record would be specified by either an empty host "" or "@". A SRV record would be specified by "{service}.{protocol}.{host}": e.g. "_sip._tcp.phone" for _sip._tcp.phone.example.org.

priorityinteger(int64)

Priority is only required for MX and SRV records, it is ignored for all others.

ttlinteger(int64)

TTL is the time this record can be cached for in seconds. Name.com allows a minimum TTL of 300, or 5 minutes.

typestringrequired

Type is one of the following: A, AAAA, ANAME, CNAME, MX, NS, SRV, or TXT.

curl -i -X PUT \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}/records/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "answer": "string",
    "fqdn": "string",
    "host": "string",
    "priority": 0,
    "ttl": 0,
    "type": "string"
  }'

Responses

A successful response.

Bodyapplication/json
answerstring

Answer is either the IP address for A or AAAA records; the target for ANAME, CNAME, MX, or NS records; the text for TXT records. For SRV records, answer has the following format: "{weight} {port} {target}" e.g. "1 5061 sip.example.org".

domainNamestring

DomainName is the zone that the record belongs to.

fqdnstringread-only

FQDN is the Fully Qualified Domain Name. It is the combination of the host and the domain name. It always ends in a ".". FQDN is ignored in CreateRecord, specify via the Host field instead.

hoststring or null

Host is the hostname relative to the zone: e.g. for a record for blog.example.org, domain would be "example.org" and host would be "blog". An apex record would be specified by either an empty host "" or "@". A SRV record would be specified by "{service}.{protocol}.{host}": e.g. "_sip._tcp.phone" for _sip._tcp.phone.example.org.

idinteger(int32)read-only

Unique record id. Value is ignored on Create, and must match the URI on Update.

priorityinteger(int64)

Priority is only required for MX and SRV records, it is ignored for all others.

ttlinteger(int64)required

TTL is the time this record can be cached for in seconds. Name.com allows a minimum TTL of 300, or 5 minutes.

typestring or nullrequired

Type is one of the following: A, AAAA, ANAME, CNAME, MX, NS, SRV, or TXT.

Response
application/json
{ "answer": "string", "domainName": "string", "fqdn": "string", "host": "string", "id": 0, "priority": 0, "ttl": 0, "type": "string" }

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