Use GET /v2/domains/{domainId}/lock to inspect the stored registrar-lock state for an owned domain. This is a read operation and does not unlock or transfer the name.
IN THIS ARTICLE
01 Read the lock
- Authenticate with
domains:readpermission. - Find the exact domain in the current inventory and use its returned identifier.
- Send the GET request and inspect the returned state fields.
- Check whether a lock change or synchronization is still pending before drawing a conclusion.
GET /v2/domains/DOMAIN_ID/lock
02 Example: read lock information without automatically unlocking a domain
Use the server-side PHP request helper in the API getting-started article in the authorised integration, with a domains:read credential. Replace DOMAIN_ID with the identifier from the exact owned domain. This request has no mutation body and cannot itself remove transfer protection.
$domainId = 'DOMAIN_ID';
$result = nabtechRequest('GET', '/v2/domains/' . rawurlencode($domainId) . '/lock');
if ($result['http_status'] !== 200) {
throw new RuntimeException('Lock information is unavailable.');
}
$lockInformation = $result['response']['data'] ?? null;
// Display the documented returned state; do not invent a default of unlocked.
Read the result: Read the returned desired and observed state according to the installed contract. A missing or unresolved value is an unknown state, not evidence that a registrar transfer is permitted. Keep pending changes visible until their outcome has been reconciled.
A removable registrar lock is only one transfer condition. Registry restrictions, timing, verification and the authorisation code can still matter. Use the separate approved unlock operation only when the owner actually intends that change, and verify the existing provider outcome first.
Why can a domain have different desired and observed lock states?
The module tracks changes that may be queued at the provider. A desired lock value or pending state is not necessarily the confirmed registrar result. Read the resource and relevant operation or job together, then synchronize when the supported workflow requires a fresh provider observation.
If the response lacks a meaningful lock state, do not invent an unlocked value. Investigate provider support and the domain's synchronization history.
03 Understand transfer restrictions
A removable registrar lock is one part of transfer eligibility. Registry restrictions, a recent registration or transfer, a change-of-registrant lock, a dispute or an invalid authorisation code can still prevent a transfer. Turning off the normal lock does not bypass those conditions.
Conversely, a locked domain can continue serving its website and email. The lock controls registrar transfer protection, not whether A, MX or other DNS records resolve.
04 Use the result safely
Show the customer whether protection is enabled and whether a change is pending. If they intend to transfer, link to the separate unlock and transfer workflows. Avoid automatically unlocking every domain during a portfolio inventory.
If a transfer is no longer needed, keep or restore the intended protection through the authorised PUT operation. Reading a lock does not require requesting an EPP code, so do not expose a transfer secret just to populate a status page.
05 Troubleshoot
Check account ownership, identifier and permission for a 403 or 404. For a stale value, inspect the last operation and synchronization. Send support the domain and redacted request reference without including credentials.