---
title: "Transfer a domain"
method: POST
path: "/{account}/registrar/domains/{domain}/transfers"
tags: ["registrar"]
---

# Transfer a domain

`POST /{account}/registrar/domains/{domain}/transfers`

Transfers a domain name from another registrar.

Your account must be active for this command to complete successfully. You will be automatically charged the 1-year transfer fee upon successful transfer, so please be careful with this command. The transfer may take anywhere from a few minutes up to 7 days.

When transfering a domain using Solo or Teams subscription, the DNS services
for the zone will be automatically enabled and this will be charged on your
following subscription renewal invoices.

## Path parameters

- `account` integer, required
- `domain` string, required

## Request body

- object
  - `registrant_id` integer, required — The ID of an existing contact in your account.
  - `auth_code` string, required — Required for TLDS that require authorization-based transfer (the vast majority of TLDs).
  - `whois_privacy` boolean — Set to true will attempt to purchase/enable the whois privacy as part of the transfer. An extra cost may apply. Default: false.
  - `auto_renew` boolean — Set to true to enable the auto-renewal of the domain. Default: false.
  - `trustee` boolean — Set to true to use a trustee service for the transfer. An extra cost may apply. Default: false.
  - `extended_attributes` object — Required for TLDs that require extended attributes.
  - `premium_price` string — Required as confirmation of the price, only if the domain is premium.

## Response `201`

Domain transfer created.

- object
  - `data` DomainTransfer, required
    - `id` integer, required
    - `domain_id` integer, required
    - `registrant_id` integer, required
    - `state` 'cancelled' | 'new' | 'transferring' | 'transferred' | 'failed', required
    - `auto_renew` boolean, required
    - `whois_privacy` boolean, required
    - `trustee` boolean, required
    - `status_description` string
    - `created_at` string, date-time, required — A date-time value, representing when the entry was created, formatted as ISO 8601.
    - `updated_at` string, date-time, required — A date-time value, representing when the entry was last updated, formatted as ISO 8601.

## Other responses

- `400` — A required parameter is missing or the request is invalid.

---

[API](https://skmtc.net/dnsimple/apis/dnsimple-api.md) · [All operations](https://skmtc.net/dnsimple/apis/dnsimple-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dnsimple/dnsimple-api/revisions/270bb4f6f532/schema)
