initiatePushTransfer method

Future<Operation> initiatePushTransfer(
  1. InitiatePushTransferRequest request,
  2. String registration, {
  3. String? $fields,
})

Initiates the Push Transfer process to transfer the domain to another registrar.

The process might complete instantly or might require confirmation or additional work. Check the emails sent to the email address of the registrant. The process is aborted after a timeout if it's not completed. This method is only supported for domains that have the REQUIRE_PUSH_TRANSFER property in the list of domain_properties. The domain must also be unlocked before it can be transferred to a different registrar. For more information, see Transfer a registered domain to another registrar.

request - The metadata request object.

Request parameters:

registration - Required. The name of the Registration for which the push transfer is initiated, in the format projects / * /locations / * /registrations / * . Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/registrations/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Operation.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Operation> initiatePushTransfer(
  InitiatePushTransferRequest request,
  core.String registration, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ =
      'v1/' + core.Uri.encodeFull('$registration') + ':initiatePushTransfer';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}