Support

Set transfer-lock setting for a domain

View as Markdown

Sets the transfer lock (also known as registrar lock) for the domain.

Full description

Sets the transfer lock (also known as registrar lock) for the domain. When enabled, the domain cannot be transferred to another registrar without first unlocking it. Disabling transfer lock is typically a prerequisite step for initiating an outbound domain transfer. Returns a DomainOperation; propagation to the registry is asynchronous.

POST
/domain-names/{domain-name}/transfer-lock

Authorization

bearerAuth
AuthorizationBearer <token>

Personal Access Token (PAT). Generate one from the developer dashboard. Pass as: Authorization: Bearer <token>.

In: header

Path Parameters

domain-name*string

The domain name in punycode A-label form (e.g., example.com). For IDNs, use the punycode representation.

Header Parameters

X-Request-Id?string

Optional client-generated request correlation identifier, propagated across services and returned in the response X-Request-Id header.

Formatuuid
Idempotency-Key*string

Client-generated unique key (UUID recommended). Retrying a mutating request with the same Idempotency-Key returns the original response without creating a duplicate side effect. Required on all execute endpoints.

Length16 <= length <= 64

Request Body

application/json

body*boolean

Whether transfer lock should be enabled for this domain. When true, the domain cannot be transferred to another registrar without first unlocking it. This helps prevent unauthorized domain transfers.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/domain-names/example.com/transfer-lock" \  -H "Idempotency-Key: 9f1c2e7a-4b3d-4e8f-a1c2-3d4e5f6a7b8c" \  -H "Content-Type: application/json" \  -d 'true'
{  "operationId": null,  "type": null,  "domain": "string",  "status": null,  "result": {    "expiresAt": "string",    "orderId": "string",    "updatedAt": "string"  },  "error": {    "name": "string",    "correlationId": "string",    "message": "string",    "informationLink": "string",    "details": [      {        "field": "string",        "value": "string",        "location": "body",        "issue": "string",        "description": "string"      }    ],    "links": [      {        "href": "http://example.com",        "rel": "string",        "title": "string",        "targetMediaType": "string",        "targetSchema": null,        "method": "string",        "submissionMediaType": "application/json",        "submissionSchema": null      }    ]  },  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ],  "createdAt": "string",  "updatedAt": "string"}

Agent & Automation Notes

Scopesdomains.domain:read, domains.domain:create, domains.dns:update, domains.nameserver:update
Rate limit60 req/min per credential
On failureGET operations are safe to retry. POST registrations use Idempotency-Key. Poll async operations — do not resubmit.

Last updated on

How is this guide?