# Update a domain (partial update) Perform Domain updates while preserving the existing records. ### Change Owner with Records Preserved { "owner": { "type": "EXTERNAL", "address": "0x123" } } Changes owner to the new owner address without modifying the domain records. #### Owner Types When changing owner of a domain, you must provide both a type and an address to clearly indicate the intent of the change. - NONE: Used when changing the owner to a "burn" address, which will result in nobody owning the domain - Valid "burn" addresses are 0x0000000000000000000000000000000000000000 and 0x000000000000000000000000000000000000dEaD - UD: Used when changing the owner to an addressed owned by Unstoppable Domains - SELF: Used when changing the owner to another address that belongs to your account - EXTERNAL: Used when changing the owner to address that doesn't qualify as any of the above. - _WARNING_: This will result in the domain belonging to an address outside of the management of Unstoppable Domains and we will have no way to recover it. ### Update Records with existing Records Preserved { "records": { "key2": "value2" } } When applied to a domain with existing records, or with an existing key2, will result in only the key2 value being set to the new value. See our documentation for more information on standardized keys. Endpoint: PATCH /domains/{name} Version: 3.0.0 Security: bearer ## Path parameters: - `name` (string, required) Example: "matt.crypto" ## 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 fields (application/json): - `owner` (object) - `owner.type` (string, required) - NONE: Domain is not currently owned by anyone - UD: Domain is owned by a wallet/contract that belongs to Unstoppable Domains - SELF: Domain is owned by your account. You can manage this domains through the API - EXTERNAL: Owner doesn't qualify as any of the above. Enum: "NONE", "UD", "SELF", "EXTERNAL" - `owner.address` (any, required) - `records` (object) ## Response 200 fields (application/json): - `@type` (string, required) Enum: "unstoppabledomains.com/partner.v3.DomainOperationResult" - `operation` (object, required) - `operation.id` (string, required) Example: "op-4abb409c-9283-4589-bd36-d27a757a2165" - `operation.status` (string, required) Enum: "QUEUED", "SIGNATURE_REQUIRED", "PROCESSING", "COMPLETED", "FAILED", "CANCELLED" - `operation.type` (string, required) Enum: "DOMAIN_CLAIM", "DOMAIN_UPDATE", "DOMAIN_RETURN", "WALLET_CREATE", "WALLET_UPDATE", "WALLET_VERIFY", "ACCOUNT_UPDATE" - `operation.domain` (string) - `operation.lastUpdatedTimestamp` (number, required) Example: 1684356429790 - `operation.dependencies` (array, required) ## Response 502 fields (application/json): - `code` (string) Example: "BAD_GATEWAY"