# Edit domain's private profile data The POST call can be used to create a new domain profile or make updates to an existing profile. Authentication is required using domain owner signature. Endpoint: POST /user/{domain} Version: 1.0.0 ## Path parameters: - `domain` (string, required) The domain name to query profile data ## Header parameters: - `x-auth-domain` (string, required) The domain to authorize Example: "mydomain.tld" - `x-auth-expires` (string, required) The expiration time of the signature Example: 1765522015090 - `x-auth-signature` (string, required) The signature generating using domain owner private key Example: "0b62348775da58077591e2d20506371e8d94a5a83031f34b9ac85845d3463e73b0f0a500875830785c093515806e354cda6c217acab0fce5245d662eff4105f5e1c" ## Request fields (application/json): - `displayName` (string) Name of domain owner Example: "John Doe" - `displayNamePublic` (boolean) - `description` (string) Short biography about the domain Example: "This is my domain" - `descriptionPublic` (boolean) - `location` (string) Location Example: "Metaverse" - `locationPublic` (boolean) - `imagePath` (string) URL to the domain profile picture Example: "https://ipfs.io/ipfs/path/to/pfp" - `imagePathPublic` (boolean) - `coverPath` (string) URL to the domain banner image Example: "https://ipfs.io/ipfs/path/to/banner" - `coverPathPublic` (boolean) - `web2Url` (string) Website URL Example: "https://www.mywebsite.com" - `publicDomainSellerEmail` (string) Public domain seller email visible to anyone Example: "seller@gmail.com" - `web2UrlPublic` (boolean) - `showDomainSuggestion` (boolean) - `showFeaturedCommunity` (boolean) - `showFeaturedPartner` (boolean) - `phoneNumber` (string) Phone number of domain owner Example: "555-555-5555" - `phoneNumberPublic` (boolean) - `privateEmail` (string) Personal email address to contact the domain owner Example: "me@email.com" - `messagingDisabled` (boolean) Indicates if messaging feature should be disabled - `thirdPartyMessagingEnabled` (boolean) Indicates if third party messaging should be enabled - `thirdPartyMessagingConfigType` (string) Type of third part messaging Example: "Skiff" - `data` (object) - `data.image` (object) - `data.image.base64` (string) Base64 encoded string of the image data Example: "aGVsbG8gd29ybGQK" - `data.image.type` (string) MIME type of the base64 encoded file (image/jpeg or image/png) Example: "image/png" - `data.cover` (object) - `socialAccounts` (object) - `socialAccounts.discord` (string) Name of the discord handle Example: "discorduser" - `socialAccounts.reddit` (string) Name of the reddit handle Example: "reddituser" - `socialAccounts.twitter` (string) Name of the twitter handle Example: "twitteruser" - `socialAccounts.telegram` (string) Name of the telegram handle Example: "telegramuser" - `socialAccounts.youtube` (string) Name of the youtube handle Example: "youtubeuser" ## Response 200 fields (application/json): - `profile` (object) - `profile.id` (number) ID representing the domain profile - `profile.domainId` (number) ID representing the domain - `profile.privateEmail` (string) Private email only visible to domain owner - `profile.displayName` (string) Name of domain owner Example: "John Doe" - `profile.description` (string) Short biography about the domain Example: "This is my domain" - `profile.location` (string) Location Example: "Metaverse" - `profile.imagePath` (string) URL to the domain profile picture Example: "https://ipfs.io/ipfs/path/to/pfp" - `profile.imageType` (string) Defines the type of image represented by the URL - default, onChain, offChain Example: "onChain" - `profile.coverPath` (string) URL to the domain banner image Example: "https://ipfs.io/ipfs/path/to/banner" - `profile.web2Url` (string) Website URL Example: "https://www.mywebsite.com" - `profile.phoneNumber` (string) Phone number of domain owner Example: "555-555-5555" - `profile.publicDomainSellerEmail` (string) Public domain seller email visible to anyone Example: "seller@email.com" - `profile.tokenGalleryEnabled` (boolean) Indicates whether token gallery feature is enabled Example: true - `profile.showDomainSuggestion` (boolean) Indicates whether domain suggestion section is visible or not Example: true - `profile.showFeaturedCommunity` (boolean) Indicates whether the featured community section is visible or not Example: true - `profile.showFeaturedPartner` (boolean) Indicates whether the featured partner section is visible or not Example: true - `profile.displayNamePublic` (boolean) - `profile.descriptionPublic` (boolean) - `profile.locationPublic` (boolean) - `profile.imagePathPublic` (boolean) - `profile.coverPathPublic` (boolean) - `profile.web2UrlPublic` (boolean) - `profile.phoneNumberPublic` (boolean) - `social` (object) - `social.followerCount` (number) Number of followers domain has Example: 100 - `social.followingCount` (number) Number of domains the domain is following Example: 50 - `messaging` (object) - `messaging.disabled` (boolean) Indicates if messaging feature is disabled - `messaging.thirdPartyMessagingEnabled` (boolean) Indicates if third party messaging enabled - `messaging.thirdPartyMessagingConfigType` (string) Type of third part messaging Example: "Skiff" - `messaging.hasSkiffAlias` (boolean) Indicates if Skiff alias has been registered - `messaging.rules` (array) Describes mail rules defined by domain owner - `messaging.rules.id` (number) ID representing the rule - `messaging.rules.type` (string) The type of rule Example: "ALLOW or BLOCK" - `messaging.rules.rule` (string) The rule expression Example: "Email matching rule with wildcards" - `messaging.rules.name` (string) A descriptive name of the rule Example: "My first rule" - `humanityCheck` (object) - `humanityCheck.verified` (boolean) Set to true if humanity check verification is successful Example: true - `cryptoVerifications` (array) List of blockchain address verification records attached to the domain - `cryptoVerifications.symbol` (string) The ticker symbol associated with the blockchain Example: "ETH, MATIC, SOL, ADA, etc" - `cryptoVerifications.type` (string) Type of verification record (hybrid, owner) Example: "hybrid" - `cryptoVerifications.address` (string) Wallet address that has been verified Example: "8DyNeQYMWY6NLpPN7S1nTcDy2WXLnm5rzrtdWA2H2t6Y" - `cryptoVerifications.plaintextMessage` (string) Message that must be signed by the domain owner with the private key of the verified blockchain address - `cryptoVerifications.signedMessage` (string) Signature resulting from signing plaintextMessage, and can be verified as authentic using public key (address) - `records` (object) - `records.onChainRecordKey` (any) On chain record key/value pair Example: "onChainRecordValue" - `storage` (object) - `storage.apiKey` (string) User specific API key for remote storage endpoint Example: "storage-api-key" - `storage.type` (string) Storage type identifier Example: "ipfs" - `market` (object) - `market.primary` (object) - `market.primary.type` (string) Describes the type of mint (e.g. purchase or distribution) Example: "purchase" - `market.primary.date` (string) Transaction date of initial domain purchase Example: "2024-01-03T08:37:00.000Z" - `market.primary.cost` (number) Cost of the domain in USD Example: 25 - `market.primary.payment` (object) - `market.primary.payment.collected` (number) Value of payment collected in USD equivalent (e.g. credit card, crypto, etc) Example: 20 - `market.primary.payment.promoCredits` (number) Amount of Unstoppable Domains promo credits used for domain purchase Example: 5 - `market.primary.payment.method` (string) Identifies form of payment Example: "stripe" - `market.secondary` (array) - `market.secondary.date` (string) Transaction date of secondary activity Example: "2024-01-03T08:37:00.000Z" - `market.secondary.txHash` (string) Transaction hash related to secondary sale of the domain Example: 4660 - `market.secondary.marketPlace` (string) Marketplace location of the secondary sale Example: "Magic Eden" - `portfolio` (object) - `portfolio.wallet` (object) - `portfolio.wallet.address` (string) Wallet address associated with portfolio Example: 10 - `portfolio.wallet.primaryDomain` (string) Primary domain associated with wallet, if any Example: "primary.x" - `portfolio.wallet.domainCount` (number) Number of domains contained in this wallet Example: 5 - `portfolio.account` (object) - `portfolio.account.domainCount` (number) Number of domains owned by Unstoppable Domains account Example: 10 - `portfolio.account.value` (string) Formatted USD value of the account portfolio based on sales price Example: 100 - `portfolio.account.valueAmt` (number) Total USD value (in cents) of the account portfolio based on sales price Example: 100 - `walletBalances` (object) - `walletBalances.firstTx` (string) The date of the first transaction in the wallet Example: "2023-05-08T20:04:47.000Z" - `walletBalances.lastTx` (string) The date of the most recent transaction in the wallet Example: "2023-09-06T13:28:47.000Z" - `walletBalances.symbol` (string) The symbol associated with the blockchain Example: "MATIC" - `walletBalances.address` (string) Blockchain address for the wallet Example: 1.1706481464129065e+48 - `walletBalances.type` (string) Type of balance Example: "native" - `walletBalances.name` (string) Human readable name associated with the token Example: "Polygon" - `walletBalances.logoUrl` (string) A URL to a logo associated with the token Example: "http://host.io/path/to/logo" - `walletBalances.balance` (string) A formatted string representing the wallet balance Example: 10 - `walletBalances.tokens` (array) - `walletBalances.tokens.address` (string) Blockchain address associated with the wallet (for native value) or smart contract (for token values) Example: 1.1706481464129065e+48 - `walletBalances.tokens.type` (string) Type of token Example: "erc20" - `walletBalances.tokens.balanceAmt` (number) A number representing the wallet balance Example: 10 - `walletBalances.tokens.value` (object) - `walletBalances.tokens.value.marketUsd` (string) Formatted market value of the token in USD Example: "$2534.12" - `walletBalances.tokens.value.marketUsdAmt` (number) Market value of the token in USD Example: "$2534.12" - `walletBalances.tokens.value.marketPctChange24Hr` (number) Percent change over the past 24 hours Example: -1.74 - `walletBalances.tokens.value.history` (array) - `walletBalances.tokens.value.history.timestamp` (string) Time associated with the floor price history value Example: "2024-02-14T13:00:00.000Z" - `walletBalances.tokens.value.history.value` (number) Value in native currency Example: 123 - `walletBalances.tokens.value.walletUsd` (string) Formatted market value of the wallet in USD Example: "$100" - `walletBalances.tokens.value.walletUsdAmt` (number) Market value of the wallet in USD Example: 100 - `walletBalances.nfts` (array) - `walletBalances.nfts.category` (string) Type of collection Example: "art" - `walletBalances.nfts.collectionId` (string) The ID of the collection, usually a contract address Example: 4660 - `walletBalances.nfts.collectionImageUrl` (string) The NFT collection image URL (if available) Example: "https://path/to/collection/image" - `walletBalances.nfts.contractAddresses` (array) Example: [4660] - `walletBalances.nfts.description` (string) Description of the collection Example: "Collection description" - `walletBalances.nfts.floorPrice` (array) - `walletBalances.nfts.floorPrice.marketPlaceName` (string) Marketplace name Example: "OpenSea" - `walletBalances.nfts.floorPrice.valueUsd` (string) Formatted floor UDS price of the NFT collection Example: "$25.00" - `walletBalances.nfts.floorPrice.valueUsdAmt` (number) Floor USD price of the NFT collection Example: 25 - `walletBalances.nfts.latestAcquiredDate` (string) Date of most recent collection NFT acquired by this owner Example: "native" - `walletBalances.nfts.name` (string) Collection name Example: "Unstoppable Domains" - `walletBalances.nfts.nftIds` (array) Example: ["0x1234/1"] - `walletBalances.nfts.ownedCount` (number) Number of NFTs in the collection held by owner Example: 10 - `walletBalances.nfts.totalOwners` (number) Total number of unique owner addresses for this collection Example: 10 - `walletBalances.nfts.totalSupply` (number) Total number of NFTs in the collection Example: 200 - `walletBalances.nfts.totalValueUsd` (string) Formatted USD floor price value of the collection NFTs held by this owner Example: "$50.00" - `walletBalances.nfts.totalValueUsdAmt` (number) Floor USD price value of the collection NFTs held by this owner Example: 50 - `walletBalances.txns` (object) - `walletBalances.txns.data` (array) - `walletBalances.txns.data.hash` (string) Transaction hash for the transaction Example: 123 - `walletBalances.txns.data.block` (string) Block ID Example: 123 - `walletBalances.txns.data.value` (number) Native value of the transaction Example: 10 - `walletBalances.txns.data.gas` (number) Gas consumed by the transaction Example: 1 - `walletBalances.txns.data.method` (string) Human readable label for the transaction (if available) Example: "Transfer" - `walletBalances.txns.data.link` (string) Link to blockchain scanner Example: "https://path/to/scanner" - `walletBalances.txns.data.success` (boolean) Indicates transaction result was successful Example: true - `walletBalances.txns.data.type` (string) Type of transaction record (native or NFT) Example: "native" - `walletBalances.txns.data.imageUrl` (string) Preview URL associated with this transaction (if available) Example: "https://path/to/image" - `walletBalances.txns.data.symbol` (string) Ticker symbol or other identifier associated with the transaction Example: "ETH" - `walletBalances.txns.data.description` (string) Human readable description of the transaction Example: "Transfer of 10 ETH to address 0x123" - `walletBalances.txns.data.from` (object) - `walletBalances.txns.data.from.address` (string) source address for transaction Example: "address1" - `walletBalances.txns.data.from.label` (string) human readable label for address (if available) Example: "label1" - `walletBalances.txns.data.to` (object) - `walletBalances.txns.cursor` (string) Pointer to next page of paginated data Example: 123 - `walletBalances.totalValueUsd` (number) Formatted aggregated market value of the wallet Example: 200 - `walletBalances.totalValueUsdAmd` (number) Aggregated market value of the wallet Example: 200 - `walletBalances.walletType` (string) Indicates the type of wallet associated with this address Example: "external" - `socialAccounts` (object) - `socialAccounts.discord` (object) - `socialAccounts.discord.location` (string) Name of the social handle Example: "mysocialhandle" - `socialAccounts.discord.verified` (boolean) Indicates if the user has verified the account - `socialAccounts.discord.public` (boolean) Indicates if the user allows public visibility of the account - `socialAccounts.reddit` (object) - `socialAccounts.twitter` (object) - `socialAccounts.telegram` (object) - `socialAccounts.lens` (object) - `socialAccounts.youtube` (object) - `referralCode` (string) Example: "d83b1155f85f4fc" - `isListedForSale` (boolean) Indicates if the domain is listed for sale on the secondary marketplace Example: true - `display` (object) - `display.hidden` (boolean) Indicates whether the UD.me profile should be hidden - `display.mode` (string) Indicates the mode of the UD.me profile Example: "web3" ## Response 404 fields