The MoonKey Auth API uses Bearer token authentication. All Users, Phone Numbers, Emails, and OTPs are associated with an App as the container.Most endpoints require your App’s Secret API Key, while certain client-side endpoints (used via SDK) accept a Public Token instead.
Rotate your API keys regularly and immediately revoke any keys that may have been compromised.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"moonkey docs","colors":{"primary":"#7D00FF","light":"#8d60f0","dark":"#5C35B1"},"logo":{"light":"https://mintcdn.com/streambird-23/7SoXp5lRb42-tDXG/logo/moonkey-logo-light.svg?fit=max\u0026auto=format\u0026n=7SoXp5lRb42-tDXG\u0026q=85\u0026s=d79111a5ab7380e32858a62bc531ecfc","dark":"https://mintcdn.com/streambird-23/KaaakNPa1CnYmCK_/logo/moonkey-logo-dark.svg?fit=max\u0026auto=format\u0026n=KaaakNPa1CnYmCK_\u0026q=85\u0026s=c70dbe7c8b31c1b909d323ec37859637"},"favicon":"/favicon.png","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://api.moonkey.fun"}},"navbar":{"links":[]},"footer":{"socials":{"github":"https://github.com/moonkey","website":"https://moonkey.fun"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"streambird-23","hasAudioNarration":false,"actualSubdomain":"streambird-23","customDomains":["docs.streambird.io"],"gitSource":{"type":"github","owner":"tim-moonpay","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21a5c87676216effceffac","collectionId":"7c239a6a-5f04-43f3-aec7-14c261c32b26","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21a5c87676216effceffac:success","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":62},{"language":"default","tag":"Wallet as a Service","count":26},{"language":"default","tag":"Get Started","count":18},{"language":"default","tag":"Authentication","count":13},{"language":"default","tag":"Using Streambird authentication","count":12},{"language":"default","tag":"Using wallets","count":11},{"language":"default","tag":"Users","count":10},{"language":"default","tag":"Recipes","count":10},{"language":"default","tag":"Managed Wallets","count":9},{"language":"default","tag":"Sessions","count":8}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/authentication","slug":"/api-reference/authentication","pageMetadata":{"title":"Authentication","description":"Learn how to authenticate your API requests to MoonKey","href":"/api-reference/authentication"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to authenticate your API requests to MoonKey\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`The MoonKey Auth API uses `,_jsx(_components.strong,{children:`Bearer token authentication`}),`. All Users, Phone Numbers, Emails, and OTPs are associated with an `,_jsx(_components.code,{children:`App`}),` as the container.`]}),`\n`,_jsxs(_components.p,{children:[`Most endpoints require your App’s `,_jsx(_components.strong,{children:`Secret API Key`}),`, while certain client-side endpoints (used via SDK) accept a `,_jsx(_components.strong,{children:`Public Token`}),` instead.`]}),`\n`,_jsx(Heading,{level:`2`,id:`api-keys`,children:`API Keys`}),`\n`,_jsx(_components.p,{children:`MoonKey provides two types of API keys:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Secret API Keys`}),` (`,_jsx(_components.code,{children:`sk_test_...`}),` or `,_jsx(_components.code,{children:`sk_live_...`}),`) - Used for server-side API calls. Keep these secure and never expose them in client-side code.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Public Tokens`}),` - Used for client-side SDK integration. Safe to use in frontend applications.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Never share your secret API keys in publicly accessible areas such as GitHub, client-side code, or browser inspector.`})}),`\n`,_jsx(Heading,{level:`2`,id:`making-authenticated-requests`,children:`Making Authenticated Requests`}),`\n`,_jsxs(_components.p,{children:[`Include your API key in the `,_jsx(_components.code,{children:`Authorization`}),` header of your requests using the Bearer scheme:`]}),`\n`,_jsx(Heading,{level:`3`,id:`header-format`,children:`Header Format`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Authorization:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {api_key}`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`example-request`,children:`Example Request`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` GET`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r\"`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`example-with-javascript`,children:`Example with JavaScript`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` method:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'GET'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'application/json'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`example-with-python`,children:`Example with Python`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`url `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`headers `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"application/json\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests.get(url, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`headers)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`data `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response.json()`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`test-vs-live-keys`,children:`Test vs Live Keys`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test Keys`}),` (`,_jsx(_components.code,{children:`sk_test_...`}),`) - Use these keys for development and testing. They won’t affect production data.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Live Keys`}),` (`,_jsx(_components.code,{children:`sk_live_...`}),`) - Use these keys for production. All operations will affect real users and data.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`getting-your-api-keys`,children:`Getting Your API Keys`}),`\n`,_jsx(_components.p,{children:`You can find your API keys in the MoonKey Dashboard:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Log in to your `,_jsx(_components.a,{href:`https://dashboard.moonkey.fun`,children:`MoonKey Dashboard`})]}),`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`API Keys`})]}),`\n`,_jsx(_components.li,{children:`Copy your test or live API key`}),`\n`,_jsx(_components.li,{children:`Use it in your API requests as shown above`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Rotate your API keys regularly and immediately revoke any keys that may have been compromised.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Authentication","description":"Learn how to authenticate your API requests to MoonKey","href":"/api-reference/authentication"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"API Keys","slug":"api-keys","depth":2,"children":[]},{"title":"Making Authenticated Requests","slug":"making-authenticated-requests","depth":2,"children":[{"title":"Header Format","slug":"header-format","depth":3,"children":[]},{"title":"Example Request","slug":"example-request","depth":3,"children":[]},{"title":"Example with JavaScript","slug":"example-with-javascript","depth":3,"children":[]},{"title":"Example with Python","slug":"example-with-python","depth":3,"children":[]}]},{"title":"Test vs Live Keys","slug":"test-vs-live-keys","depth":2,"children":[]},{"title":"Getting Your API Keys","slug":"getting-your-api-keys","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"streambird-23","siteName":"moonkey docs","title":"Authentication - moonkey docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-11-13T22:49:57.185Z","originalFileLocation":"api-reference/authentication.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to authenticate your API requests to MoonKey\">\u003cmeta data-mint-head name=\"application-name\" content=\"moonkey docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Authentication - moonkey docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to authenticate your API requests to MoonKey\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"moonkey docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.streambird.io/api-reference/authentication\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://streambird-23.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Authentication\u0026amp;description=Learn+how+to+authenticate+your+API+requests+to+MoonKey\u0026amp;theme=d508d8e3df2d6acae45c8112\u0026amp;signature=b217fe9d720caafa13dec5735b2358054986c97ca65fa98a83446b7b303a063b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Authentication - moonkey docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to authenticate your API requests to MoonKey\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://streambird-23.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Authentication\u0026amp;description=Learn+how+to+authenticate+your+API+requests+to+MoonKey\u0026amp;theme=d508d8e3df2d6acae45c8112\u0026amp;signature=b217fe9d720caafa13dec5735b2358054986c97ca65fa98a83446b7b303a063b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"moonkey docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7D00FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.streambird.io/api-reference/authentication\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/authentication.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.streambird.io/#organization\",\"name\":\"moonkey docs\",\"url\":\"https://docs.streambird.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/streambird-23/7SoXp5lRb42-tDXG/logo/moonkey-logo-light.svg?fit=max\u0026auto=format\u0026n=7SoXp5lRb42-tDXG\u0026q=85\u0026s=d79111a5ab7380e32858a62bc531ecfc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.streambird.io#website\",\"name\":\"moonkey docs\",\"url\":\"https://docs.streambird.io\",\"publisher\":{\"@id\":\"https://docs.streambird.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.streambird.io/api-reference/authentication#webpage\",\"url\":\"https://docs.streambird.io/api-reference/authentication\",\"name\":\"Authentication\",\"description\":\"Learn how to authenticate your API requests to MoonKey\",\"dateModified\":\"2025-11-13T22:49:57.185Z\",\"isPartOf\":{\"@id\":\"https://docs.streambird.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.streambird.io/api-reference/authentication#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.streambird.io/api-reference/authentication#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"moonkey docs\",\"item\":\"https://docs.streambird.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication\",\"item\":\"https://docs.streambird.io/api-reference/authentication\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.streambird.io/api-reference/authentication#article\",\"headline\":\"Authentication\",\"name\":\"Authentication\",\"description\":\"Learn how to authenticate your API requests to MoonKey\",\"url\":\"https://docs.streambird.io/api-reference/authentication\",\"mainEntityOfPage\":{\"@id\":\"https://docs.streambird.io/api-reference/authentication#webpage\"},\"dateModified\":\"2025-11-13T22:49:57.185Z\",\"publisher\":{\"@id\":\"https://docs.streambird.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.streambird.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"moonkey docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"moonkey docs","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/about"}]},{"tab":"Authentication","pages":[{"title":"Authentication","href":"/authentication/overview"}]},{"tab":"Wallet as a Service","pages":[{"title":"Wallet as a Service","href":"/wallet-as-a-service/wallets-overview"}]},{"tab":"Recipes","pages":[{"title":"Recipes","href":"/recipes/overview"}]},{"tab":"API Reference","pages":[{"group":"API Reference","pages":[{"title":"Authentication","href":"/api-reference/authentication"}]},{"group":"Managed Wallets","pages":[{"openapi":"post /v1/wallets/create","title":"Create Wallet","description":"Create a wallet for a given user. If an existing wallet of the given wallet type has been created for that user, it will be returned.\n## Returns\n\nA successful response returns an `Wallet` object.","href":"/api-reference/managed-wallets/create-wallet"},{"openapi":"post /v1/wallets/balance","title":"Get Wallet Balance","href":"/api-reference/managed-wallets/get-wallet-balance"},{"openapi":"get /v1/wallets/{wallet_id}","title":"Get Wallet","href":"/api-reference/managed-wallets/get-wallet"},{"openapi":"get /v1/wallets/list","title":"List Wallet","href":"/api-reference/managed-wallets/list-wallet"},{"group":"Solana Wallets","pages":[{"title":"Solana Sign Transaction","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/solana/sign-transaction"},{"title":"Solana Sign Message","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/solana/sign-message"}]},{"group":"Ethereum Wallets","pages":[{"title":"Ethereum Sign Transaction","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/ethereum/sign-transaction"},{"title":"Ethereum Sign Message","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/ethereum/sign-message"},{"title":"Ethereum Sign EIP-7702 Authorization","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/ethereum/sign-7702-authorization"}]}]},{"group":"Wallet Import","pages":[{"openapi":"post /v1/wallets/import/begin","title":"Begin Wallet Import","href":"/api-reference/wallet-import/begin-wallet-import"},{"openapi":"post /v1/wallets/import","title":"Import Wallet","href":"/api-reference/wallet-import/import-wallet"}]},{"group":"Users","pages":[{"openapi":"post /v1/auth/users/create","title":"Create User","href":"/api-reference/users/create-user"},{"openapi":"post /v1/auth/users/search","title":"Search Users (beta)","href":"/api-reference/users/search-users-beta"},{"openapi":"get /v1/auth/users/{user_id}","title":"Get User","href":"/api-reference/users/get-user"},{"openapi":"put /v1/auth/users/{user_id}/update","title":"Update User","href":"/api-reference/users/update-user"},{"openapi":"delete /v1/auth/users/{user_id}/delete","title":"Delete User","href":"/api-reference/users/delete-user"},{"openapi":"delete /v1/auth/users/emails/{email_id}/delete","title":"Delete User Email","href":"/api-reference/users/delete-user-email"},{"openapi":"delete /v1/auth/users/phone_number/{phone_number_id}/delete","title":"Delete User Phone Number","href":"/api-reference/users/delete-user-phone-number"},{"openapi":"delete /v1/auth/users/wallets/{wallet_id}/delete","title":"Delete User Wallet","href":"/api-reference/users/delete-user-wallet"},{"openapi":"delete /v1/auth/users/webauthn_credentials/{webauthn_credential_id}/delete","title":"Delete User WebAuthn Credential","href":"/api-reference/users/delete-user-webauthn-credential"},{"openapi":"delete /v1/auth/users/totps/{totp_id}/delete","title":"Delete User TOTP","href":"/api-reference/users/delete-user-totp"}]},{"group":"OTPs","pages":[{"openapi":"post /v1/auth/otps/sms/login_or_create","title":"Login or Create User by SMS","href":"/api-reference/otps/login-or-create-user-by-sms"},{"openapi":"post /v1/auth/otps/sms/send","title":"Create SMS OTP","href":"/api-reference/otps/create-sms-otp"},{"openapi":"post /v1/auth/otps/email/login_or_create","title":"Login or Create User by Email OTP","href":"/api-reference/otps/login-or-create-user-by-email-otp"},{"openapi":"post /v1/auth/otps/email/send","title":"Create Email OTP","href":"/api-reference/otps/create-email-otp"},{"openapi":"post /v1/auth/otps/verify","title":"Verify OTP (One-time passcode)","href":"/api-reference/otps/verify-otp-one-time-passcode"}]},{"group":"OAuth","pages":[{"openapi":"get /v1/auth/oauth/google/begin","title":"Google","href":"/api-reference/oauth/google"},{"openapi":"get /v1/auth/oauth/apple/begin","title":"Apple","href":"/api-reference/oauth/apple"},{"openapi":"get /v1/auth/oauth/microsoft/begin","title":"Microsoft","href":"/api-reference/oauth/microsoft"},{"openapi":"get /v1/auth/oauth/discord/begin","title":"Discord","href":"/api-reference/oauth/discord"},{"openapi":"get /v1/auth/oauth/github/begin","title":"Github","href":"/api-reference/oauth/github"},{"openapi":"post /v1/auth/oauth/verify","title":"Verify Token","href":"/api-reference/oauth/verify-token"}]},{"group":"Sessions","pages":[{"openapi":"get /v1/auth/jwks/default","title":"GetJWKs","href":"/api-reference/sessions/getjwks"},{"openapi":"get /v1/auth/jwks/{app_id}","title":"GetJWKsByApp","href":"/api-reference/sessions/getjwksbyapp"},{"openapi":"get /v1/auth/sessions/list","title":"List Sessions","href":"/api-reference/sessions/list-sessions"},{"openapi":"post /v1/auth/sessions/verify","title":"Verify Session","href":"/api-reference/sessions/verify-session"},{"openapi":"delete /v1/auth/sessions/delete","title":"Delete Session","href":"/api-reference/sessions/delete-session"}]},{"group":"TOTP (Time-based one-time passcode)","pages":[{"openapi":"post /v1/auth/totps/create","title":"Create TOTP (beta)","href":"/api-reference/totp-time-based-one-time-passcode/create-totp-beta"},{"openapi":"post /v1/auth/totps/verify","title":"Verify TOTP (beta)","href":"/api-reference/totp-time-based-one-time-passcode/verify-totp-beta"},{"openapi":"post /v1/auth/totps/recovery_codes","title":"Get TOTP Recovery Codes (beta)","href":"/api-reference/totp-time-based-one-time-passcode/get-totp-recovery-codes-beta"},{"openapi":"post /v1/auth/totps/recovery","title":"TOTP Recovery (beta)","href":"/api-reference/totp-time-based-one-time-passcode/totp-recovery-beta"}]},{"group":"Wallets Login","pages":[{"openapi":"post /v1/auth/wallets/registrations/begin","title":"Begin Wallet Registration","href":"/api-reference/wallets-login/begin-wallet-registration"},{"openapi":"post /v1/auth/wallets/registrations/nonce","title":"Get Wallet Registration Nonce","href":"/api-reference/wallets-login/get-wallet-registration-nonce"},{"openapi":"post /v1/auth/wallets/verify","title":"Verify Wallet (beta)","href":"/api-reference/wallets-login/verify-wallet-beta"},{"openapi":"post /v1/auth/wallets/siwe/verify","title":"Verify Siwe Wallet Registration","href":"/api-reference/wallets-login/verify-siwe-wallet-registration"}]},{"group":"Passwords","pages":[{"openapi":"post /v1/auth/passwords/session/update","title":"Update Password by Session (Enterprise)","href":"/api-reference/passwords/update-password-by-session-enterprise"},{"openapi":"post /v1/auth/passwords/verify","title":"Verify Password (Enterprise)","href":"/api-reference/passwords/verify-password-enterprise"},{"openapi":"post /v1/auth/passwords/strength_check","title":"PasswordStrengthCheck (Enterprise)","href":"/api-reference/passwords/passwordstrengthcheck-enterprise"}]},{"group":"Transfers","pages":[{"openapi":"post /v1/transfers/create","title":"Create Transfer (beta)","href":"/api-reference/transfers/create-transfer-beta"},{"openapi":"post /v1/transfers/{transfer_id}/confirm","title":"Confirm Transfer (beta)","href":"/api-reference/transfers/confirm-transfer-beta"},{"openapi":"get /v1/transfers/{transfer_id}","title":"Get Transfer (beta)","href":"/api-reference/transfers/get-transfer-beta"},{"openapi":"get /v1/transfers/list","title":"List Transfer (beta)","href":"/api-reference/transfers/list-transfer-beta"}]},{"group":"WebAuthn","pages":[{"openapi":"post /v1/auth/webauthn/registrations/begin","title":"Initiate WebAuthn Registration (beta)","href":"/api-reference/webauthn/initiate-webauthn-registration-beta"},{"openapi":"post /v1/auth/webauthn/registrations/create","title":"Create WebAuthn Registration (beta)","href":"/api-reference/webauthn/create-webauthn-registration-beta"},{"openapi":"post /v1/auth/webauthn/authentication/begin","title":"Initiate WebAuthn Authentication (beta)","href":"/api-reference/webauthn/initiate-webauthn-authentication-beta"},{"openapi":"post /v1/auth/webauthn/verify","title":"Verify WebAuthn Authentication (beta)","href":"/api-reference/webauthn/verify-webauthn-authentication-beta"}]},{"group":"Magic Links (Deprecated)","pages":[{"openapi":"post /v1/auth/magic_links/email/login_or_create","title":"Login or Create User by Magic Link","href":"/api-reference/magic-links/login-or-create-user-by-magic-link"},{"openapi":"post /v1/auth/magic_links/email/invite","title":"Invite User by Magic Link","href":"/api-reference/magic-links/invite-user-by-magic-link"},{"openapi":"post /v1/auth/magic_links/create","title":"Create Embeddable Magic Link","href":"/api-reference/magic-links/create-embeddable-magic-link"},{"openapi":"post /v1/auth/magic_links/verify","title":"Verify Token","href":"/api-reference/magic-links/verify-token"}]}]}]},"basePath":"","title":"Authentication - moonkey docs","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":[],"chunks":[]}