# Profile management endpoints ## Verify ownership of a blockchain address - [POST /user/{domain}/address/{symbol}](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1address~1%7Bsymbol%7D/post.md): Verify ownership of a blockchain address by signing a message with your private key. ## Upload an XMTP or Push Protocol attachment - [POST /user/{domain}/attachment](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1attachment/post.md): Upload an XMTP or Push Protocol attachment. Quota enforced per user. Authentication is required using domain owner signature. ## Retrieves domain's private profile data - [GET /user/{domain}](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D/get.md): While the public API retrieves only the data identified as shareable by the domain owner, this API returns both public and private data. Authentication is required using domain owner signature. ## Edit domain's private profile data - [POST /user/{domain}](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D/post.md): 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. ## Update NFT preferences for a domain - [POST /user/{domain}/nfts](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1nfts/post.md): The POST call can be used to update NFT gallery preferences for addresses resolving to the domain. Authentication is required using domain owner signature. ## Modify domain notification preferences - [POST /user/{domain}/notifications/preferences](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1notifications~1preferences/post.md): Modify notifications preferences related to the domain, such as mobile push notifications and email. ## Get domain notification preferences - [GET /user/{domain}/notifications/preferences](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1notifications~1preferences/get.md): Get notifications preferences related to the domain, such as mobile push notifications and email. ## Confirm an update to a domain's on-chain records - [POST /user/{domain}/records/confirm](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1records~1confirm/post.md): The POST call can be used to complete the process of modifying a domain's on-chain records by submitting a signed transaction hash to confirm an operation. Authentication is required using domain owner signature. ## Retrieves pending on-chain record management operations - [GET /user/{domain}/records/manage](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1records~1manage/get.md): Retrieves a list of pending on-chain record operations for this domain. Authentication is required using domain owner signature. ## Request to update a domain's on-chain records - [POST /user/{domain}/records/manage](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1records~1manage/post.md): The POST call can be used to start the process of modifying a domain's on-chain records. Authentication is required using domain owner signature. ## Retrieves on-chain record management status - [GET /user/{domain}/wallet](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1wallet/get.md): Retrieves the domain management registration status. The owner wallet must be registered to manage on-chain records. Authentication is required using domain owner signature. ## Register for on-chain record management - [POST /user/{domain}/wallet](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D~1wallet/post.md): The POST call can be used to enable a wallet to manage a domain's on-chain records. Authentication is required using domain owner signature. ## Edit domain profile data in bulk - [POST /user/domains](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1domains/post.md): The POST call can be used to create new domain profiles or make updates to existing profiles. All domains in the bulk update list must belong to the same wallet address. Authentication is required using the domain owner signature from one of the domains in the bulk update list.