Read domain information
GET /api/v1/domains/info
Section titled “GET /api/v1/domains/info”Everything we know about one of your domains. Costs 1 quota point — cheap enough to call on every page load.
Request
GET /api/v1/domains/info?domainName=apiname.comResponse — 200
{ "domainName": "apiname.com", "domainNameIdn": "apiname.com", "isIdnName": false, "resellerId": "7f3c1a28-9e4b-4c51-b1d2-0a6e5f8c3d94", "startDate": "2026-10-30T12:04:17", "expirationDate": "2027-10-30T12:04:17", "transferDate": "0001-01-01T00:00:00", "updatedDate": "2026-10-30T14:22:08", "remainingDay": 365, "status": "Active", "statusCode": "ok", "statusReason": "None", "rgpStatues": "ok", "objectId": "2184796_DOMAIN_COM-VRSN", "renewalMode": "AutoRenew", "authCode": "aB3!xY9-kL2pQ7", "lockStatus": true, "privacyProtectionStatus": false, "isForwarded": false, "useTrusteeContact": false, "nameservers": ["tr.apiname.com", "eu.apiname.com"], "hosts": [], "contacts": [ { "contactType": "Registrant", "handle": "D-174829301847", "firstName": "Ahmet", "lastName": "Yilmaz", "companyName": "Apiname Ltd", "eMail": "ahmet@apiname.com", "address": "Ataturk Caddesi No 12 Kat 3", "city": "Istanbul", "state": "Istanbul", "postalCode": "34100", "country": "TR", "phoneCountryCode": "90", "phone": "5321234567" } ], "additionalAttributes": {}}The fields that matter most
| Field | How to use it |
|---|---|
status |
The name of the status (Active, PendingHold…). Note that the domain list endpoint returns a number here instead. Full table in Status values. |
statusReason |
Why it is in that status. This is where you find out that a domain was suspended for unverified contact data (RddsVerificationPending) or is waiting on documents. |
remainingDay |
Days to expiry. Goes negative once expired. Drive renewal reminders off this. |
rgpStatues |
Grace-period state: ok, autoRenewPeriod, renewPeriod, redemptionPeriod, pendingDelete. Restore is only possible when this is redemptionPeriod. |
authCode |
The current transfer authorisation code. Give it to the customer when they want to transfer away. Treat it as a secret otherwise. |
lockStatus |
Transfer lock on or off. |
nameservers |
Current delegation. If this is not tr.apiname.com / eu.apiname.com, the zones API will not serve this domain. |
hosts |
Host (glue) records defined under this domain. |
contacts |
One entry per role. Empty array when useTrusteeContact is true — the trustee’s details are not disclosed. |
additionalAttributes |
The tldAttributes stored for this domain. |
renewalMode
Section titled “renewalMode”Indicates how the domain is set to behave at the end of its term.
| Value | Name | Meaning |
|---|---|---|
| 1 | AutoRenew |
The domain is renewed at expiry and your balance is charged. The minimum term is normally one year; some extensions only renew in longer increments, and that increment is used. |
| 2 | AutoExpire |
The domain is not renewed and is dropped at the end of its term. A few registries vary this — for .at, a new billing term begins instead and the domain is charged on the renewal date rather than dropped. |
| 3 | AutoDelete |
The domain is deleted at expiry without entering the registry’s auto-renew grace period, so no auto-renewal fee is incurred. |
The default for your account is configured in your reseller panel, under reseller settings. To renew a specific domain explicitly at any time, use POST /api/v1/domains/renew.
Errors
| Code | Meaning and fix |
|---|---|
Dna.DomainService:Domain:10007 |
Not found — or found but not yours. Ownership mismatches are reported as not-found deliberately. |
Dna.DomainService:Domain:10005 |
Invalid domain name. |
GET /api/v1/domains
Section titled “GET /api/v1/domains”Paged list of the domains in your account. Use it to sync your own database.
Request — query string
| Parameter | Default | Notes |
|---|---|---|
domainName |
— | Partial-match filter. |
statusIds |
— | Comma-separated status names or numbers: Active,WaitingForDocument or 0,2. |
skipCount |
0 | Offset. |
maxResultCount |
25 | Silently capped at 500. Asking for 1000 gives you 500 — page properly. |
sorting |
— | field asc or field desc. expirationDate asc is the useful one for renewal queues. |
GET /api/v1/domains?maxResultCount=100&skipCount=0 &sorting=expirationDate%20asc &statusIds=ActiveResponse — 200
{ "totalCount": 243, "items": [ { "domainName": "apiname.com", "domainNameIdn": "apiname.com", "isIdnName": false, "objectClass": "Standard", "status": 0, "statusCode": "ok", "renewalMode": "AutoRenew", "startDate": "2026-10-30T12:04:17", "expirationDate": "2027-10-30T12:04:17", "remainingDay": 365, "transferDate": null, "updatedDate": "2026-10-30T14:22:08", "rgpExpirationDate": null, "agpExpirationDate": null, "lockStatus": true, "privacyProtectionStatus": false, "contacts": { "Registrant": "D-174829301847", "Admin": "D-174829301847", "Tech": "D-174829301847", "Billing": "D-174829301847" }, "nameservers": [ { "name": "tr.apiname.com", "isChildnameServer": false, "isGlueRecord": false, "isLinked": false }, { "name": "eu.apiname.com", "isChildnameServer": false, "isGlueRecord": false, "isLinked": false } ] } ]}Errors
| Code | Meaning and fix |
|---|---|
Dna.DomainService:Domain:1019 |
An entry in statusIds is not a valid status. |
Dna.DomainService:Domain:10034 |
sorting names a field that cannot be sorted on. |