{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-web3/apis/messaging-v1/openapi.yaml","sidebar":"sidebar-web3/sidebars.yaml"},"props":{"definitionId":"web3/apis/messaging-v1/openapi.yaml","dynamicMarkdocComponents":[],"baseSlug":"/web3/apis/messaging-v1/openapi","seo":{"title":"Messaging API","siteUrl":"https://docs.unstoppabledomains.com","keywords":"unstoppable domains developer portal, api reference docs","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"itemId":"","disableAutoScroll":true,"metadata":{"type":"openapi","title":"Messaging API","description":"\n# Feature Overview\nThe Messaging API is responsible for messaging interactions related to email, Push Protocol\nor XMTP.\n\n## Authenticated endpoint overview\nThis API uses signed messages to validate a given wallet is authorized to submit the request. \nAuthentication headers must be provided using the approach described below.\n\n### How to authenticate\n- Determine the message that must be signed through the message generator endpoint\n  - Request GET /api/user/{domain}/signature?device=true&expiry={timestamp}\n    - Replace '{domain}' with desired domain\n    - Replace '{expiry}' with desired Unix epoch timestamp\n  - Response contains the message that must be signed\n    - Message is a unique hash value\n    - Represents combination of provided request parameters\n    - Includes an expiration timestamp\n- User must sign the message returned by the message generator API\n  - For example, the Metamask wallet could be used to sign the message\n  - Generated signature is used in header of subsequent GET or POST request\n- Construct a request to the desired endpoint that requires user authentication\n  - Must include headers\n    - x-auth-domain - Must equal the {domain} in context\n    - x-auth-expiration - Must equal the {expiry} timestamp in the signed message\n    - x-auth-signature - Must be set to the value of the user generated signature\n"},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"docs.unstoppabledomains.com","port":4000,"ipAddress":"216.73.216.88"},"lang":"default_locale","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"main"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/web3/apis/messaging-v1/openapi","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}