---
title: "Register a domain"
method: POST
path: "/domains"
tags: ["domain_registration"]
---

# Register a domain

`POST /domains`

If a domain is available, use this route to register it to your account. The domain will be minted or transfered to your custodial wallet where only Unstoppable Domains, on your behalf, will be able to make changes to it.

The price of the domain will be automatically added to your running balance with Unstoppable Domains. The pending balance of your account will be invoiced periodically.

### Register to specific owner
If you do not provide an `owner` in your request, your account's default wallet address will be used as the owner. Use `GET /account` to confirm your default wallet address.

When providing an `owner` object in your request, be sure the `type` aligns with the `address`. To register to one of your own wallets, the `type` must be `SELF`. Use `GET /account/wallets` to see your list of available wallets.

## Query parameters

- `$preview` boolean — Allows simulating the operation creation (when set to `true`), without actually starting any processing. This can be used to validate the operation will be permitted and get a preview of the initial outcome. When used, the operation in the response will have `PREVIEW` for all `id` and `status` values.

## Request body

- DomainMintRequestBody
  - `name` string, required
  - `records` UpdateDomainRecords
  - `owner` DomainMintRequestBodyOwner
    - `type` 'NONE' | 'UD' | 'SELF' | 'EXTERNAL', required
    - `address` string, required

## Response `201`

- DomainOperationResponse
  - `@type` 'unstoppabledomains.com/partner.v3.DomainOperationResult', required
  - `operation` OperationCheckResponse, required
    - `id` string, required
    - `@type` 'unstoppabledomains.com/partner.v3.Operation', required
    - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
    - `type` 'DOMAIN_CLAIM' | 'DOMAIN_UPDATE' | 'DOMAIN_RETURN' | 'WALLET_CREATE' | 'WALLET_UPDATE' | 'WALLET_VERIFY' | 'ACCOUNT_UPDATE', required
    - `domain` string
    - `lastUpdatedTimestamp` number, required
    - `dependencies` union[], required
      - union
        - MintSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.BlockchainOperation', required
          - `transaction` SubOperationTransactionResponse
            - `hash` string
            - `blockchain` 'MATIC' | 'ETH' | 'BASE', required
          - `type` 'MINT', required
          - `parameters` MintParametersResponse, required
            - `initialRecords` DomainRecords
            - `toAddress` string, required
        - UpdateRecordsSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.BlockchainOperation', required
          - `transaction` SubOperationTransactionResponse
            - `hash` string
            - `blockchain` 'MATIC' | 'ETH' | 'BASE', required
          - `type` 'UPDATE_RECORDS', required
          - `parameters` UpdateRecordsParametersResponse, required
            - `recordUpdates` DomainRecords, required
            - `resetRecords` boolean, required
        - TransferSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.BlockchainOperation', required
          - `transaction` SubOperationTransactionResponse
            - `hash` string
            - `blockchain` 'MATIC' | 'ETH' | 'BASE', required
          - `type` 'TRANSFER', required
          - `parameters` TransferParametersResponse, required
            - `fromAddress` string, required
            - `toAddress` string, required
            - `resetRecords` boolean, required
        - ReturnSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.BlockchainOperation', required
          - `transaction` SubOperationTransactionResponse
            - `hash` string
            - `blockchain` 'MATIC' | 'ETH' | 'BASE', required
          - `type` 'RETURN', required
        - WalletCreateSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `result` WalletCreateResultResponse
            - `address` string, required
          - `type` 'WALLET_CREATE', required
        - WalletSetDefaultSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `parameters` WalletSetDefaultParametersResponse, required
            - `address` string, required
          - `type` 'WALLET_SET_DEFAULT', required
        - WebhookCreateSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `parameters` WebhookCreateParametersResponse, required
            - `type` 'OPERATION_FINISHED' | 'OPERATION_ACTION_REQUIRED', required
            - `url` string, uri, required
          - `result` WebhookCreateResultResponse
            - `id` string, required
          - `type` 'WEBHOOK_CREATE', required
        - WebhookDeleteSubOperationResponse
          - `id` string, required
          - `status` 'QUEUED' | 'SIGNATURE_REQUIRED' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `parameters` WebhookDeleteParametersResponse, required
            - `id` string, required
          - `type` 'WEBHOOK_DELETE', required

## Other responses

- `400`

---

[API](https://skmtc.net/unstoppabledomains/apis/web3-partner-api-v3.md) · [All operations](https://skmtc.net/unstoppabledomains/apis/web3-partner-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/unstoppabledomains/web3-partner-api-v3/revisions/8331236de8e8/schema)
