Method: projects.locations.registrations.transfer

Deprecated: For more information, see Cloud Domains feature deprecation

Transfers a domain name from another registrar to Cloud Domains. For domains already managed by Google Domains, use registrations.import instead.

Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call registrations.retrieveTransferParameters to confirm that the domain is unlocked and to get values needed to build a call to this method.

A successful call creates a Registration resource in state TRANSFER_PENDING. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website.

A few minutes after transfer approval, the resource transitions to state ACTIVE, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state TRANSFER_FAILED. If transfer fails, you can safely delete the resource and retry the transfer.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The parent resource of the Registration. Must be in the format projects/*/locations/*.

Authorization requires the following IAM permission on the specified resource parent:

  • domains.registrations.create

Request body

The request body contains data with the following structure:

JSON representation
  "registration": {
    object (Registration)
  "contactNotices": [
    enum (ContactNotice)
  "yearlyPrice": {
    object (Money)
  "authorizationCode": {
    object (AuthorizationCode)
  "validateOnly": boolean

object (Registration)

Required. The complete Registration resource to be created.

You can leave registration.dns_settings unset to import the domain's current DNS configuration from its current registrar. Use this option only if you are sure that the domain's current DNS service does not cease upon transfer, as is often the case for DNS services provided for free by the registrar.


enum (ContactNotice)

The list of contact notices that you acknowledge. The notices needed here depend on the values specified in registration.contact_settings.


object (Money)

Required. Acknowledgement of the price to transfer or renew the domain for one year. Call registrations.retrieveTransferParameters to obtain the price, which you must acknowledge.


object (AuthorizationCode)

The domain's transfer authorization code. You can obtain this from the domain's current registrar.



Validate the request without actually transferring the domain.

Response body

If successful, the response body contains an instance of Operation.

Authorization scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.