{
"code": 500,
"message": "Internal Server Error"
}
.well-known
Get JSON Web Key Set
Retrieve a JSON Web Key Set (JWKS) object containing the public keys used to verify
JSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.
GET
/
.well-known
/
jwks.json
Get JSON Web Key Set
curl --request GET \ --url https://{tenant_id}.hanko.io/.well-known/jwks.json
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Hanko","description":"Documentation for Hanko’s open-source authentication products. Build secure authentication with passkeys, passwords, MFA, social login, SSO, and push authentication.","colors":{"primary":"#6575FF","light":"#6575FF","dark":"#0D001D"},"logo":{"light":"https://mintcdn.com/hanko/cvvCniGfSDqJRest/logo/light.svg?fit=max\u0026auto=format\u0026n=cvvCniGfSDqJRest\u0026q=85\u0026s=c11abcf43f80ac4a882d948d9a697da6","dark":"https://mintcdn.com/hanko/cvvCniGfSDqJRest/logo/dark.svg?fit=max\u0026auto=format\u0026n=cvvCniGfSDqJRest\u0026q=85\u0026s=2cbd45a5f965459329fa577fe505b871"},"favicon":"https://mintcdn.com/hanko/nDll7gWf2olRVk-k/favicon.png?fit=max\u0026auto=format\u0026n=nDll7gWf2olRVk-k\u0026q=85\u0026s=0220747b414c9c1af17f71869d87269a","api":{"playground":{"display":"interactive"}},"background":{"image":"https://mintcdn.com/hanko/nDll7gWf2olRVk-k/images/background.png?fit=max\u0026auto=format\u0026n=nDll7gWf2olRVk-k\u0026q=85\u0026s=cb6d5948c52e06bab12e957123881b4b","decoration":"gradient","color":{"dark":"#000000"}},"navbar":{"links":[{"href":"https://discord.gg/tAG6RrRqJD","label":"Discord"}],"primary":{"type":"button","label":"Hanko Cloud Console","href":"https://cloud.hanko.io"}},"footer":{"socials":{"x":"https://x.com/hanko_io","github":"https://github.com/teamhanko","linkedin":"https://www.linkedin.com/company/teamhanko"}},"fonts":{"family":"Geist"},"icons":{"library":"fontawesome"},"integrations":{"plausible":{"domain":"docs.hanko.io"}},"errors":{"404":{"redirect":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"fonts":{"family":"Geist"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hanko","hasAudioNarration":false,"actualSubdomain":"hanko","customDomains":["docs.hanko.io"],"gitSource":{"type":"github","owner":"teamhanko","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae130142e7b9f2a4eb1451d","collectionId":"e51a69b0-9d1a-4cbb-828c-c20cc6c4b68c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae130142e7b9f2a4eb1451d"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6ae130142e7b9f2a4eb1451d","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Hanko Docs","count":127},{"language":"default","tag":"Resources","count":68},{"language":"default","tag":"API reference","count":64},{"language":"default","tag":"Admin","count":49},{"language":"default","tag":"Guides","count":41},{"language":"default","tag":"Hanko Authenticator Docs","count":28},{"language":"default","tag":"Getting started","count":27},{"language":"default","tag":"Quickstarts","count":26},{"language":"default","tag":"Passkey API Docs","count":24},{"language":"default","tag":"API Reference","count":22}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@hanko.io"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/public/well-known/get-json-web-key-set","slug":"/api-reference/public/well-known/get-json-web-key-set","pageMetadata":{"openapi":"openapi-public get /.well-known/jwks.json","title":"Get JSON Web Key Set","description":"Retrieve a [JSON Web Key Set](https://www.rfc-editor.org/rfc/rfc7517#section-5) (JWKS) object containing the public `keys` used to verify\nJSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\n","href":"/api-reference/public/well-known/get-json-web-key-set"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Retrieve a \", _jsx(_components.a, {\n href: \"https://www.rfc-editor.org/rfc/rfc7517#section-5\",\n children: \"JSON Web Key Set\"\n }), \" (JWKS) object containing the public \", _jsx(_components.code, {\n children: \"keys\"\n }), \" used to verify\\nJSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\"]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"openapi-public get /.well-known/jwks.json","title":"Get JSON Web Key Set","description":"Retrieve a [JSON Web Key Set](https://www.rfc-editor.org/rfc/rfc7517#section-5) (JWKS) object containing the public `keys` used to verify\nJSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\n","href":"/api-reference/public/well-known/get-json-web-key-set"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Get JSON Web Key Set","description":"Retrieve a [JSON Web Key Set](https://www.rfc-editor.org/rfc/rfc7517#section-5) (JWKS) object containing the public `keys` used to verify\nJSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\n","operationId":"getJwks","tags":[".well-known"],"responses":{"200":"0c2b8e09-deb3-4db8-ad5d-dd63379aaa64","500":"3e01d9e5-6a3d-4b98-bbbf-836708c0496d"},"method":"get","type":"path","servers":["8c1415c9-58fb-40f9-9153-7cf31e141834"],"security":[],"path":"/.well-known/jwks.json","baseUrlOptions":["https://{tenant_id}.hanko.io"],"title":"Get JSON Web Key Set","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"responses":{"0c2b8e09-deb3-4db8-ad5d-dd63379aaa64":{"description":"JSON Web Key Set","content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"object","externalDocs":{"description":"RFC7517 - JSON Web Key (JWK)","url":"https://datatracker.ietf.org/doc/html/rfc7517"},"properties":{"alg":{"type":"string","example":"RS256","externalDocs":{"description":"RFC7517 - JSON Web Key (JWK) - Section 4.4","url":"https://www.rfc-editor.org/rfc/rfc7517#section-4.4"},"uniqueKey":"keys.items.[INDEX].alg","typeLabel":"string"},"e":{"type":"string","format":"base64url","example":"AQAB","externalDocs":{"description":"RFC7518 - JSON Web Algorithms (JWA) - Section 6.3.1.2","url":"https://www.rfc-editor.org/rfc/rfc7518#section-6.3.1.2"},"uniqueKey":"keys.items.[INDEX].e","typeLabel":"string\u003cbase64url>"},"kid":{"type":"string","example":"d6ff37d7-e3d1-4432-ab80-b64faf55ae36","externalDocs":{"description":"RFC7517 - JSON Web Key (JWK) - Section 4.5","url":"https://www.rfc-editor.org/rfc/rfc7517#section-4.5"},"uniqueKey":"keys.items.[INDEX].kid","typeLabel":"string"},"kty":{"type":"string","example":"RSA","externalDocs":{"description":"RFC7517 - JSON Web Key (JWK) - Section 4.1","url":"https://www.rfc-editor.org/rfc/rfc7517#section-4.1"},"uniqueKey":"keys.items.[INDEX].kty","typeLabel":"string"},"n":{"type":"string","format":"base64url","example":"vPFRUCRoxN3RygdJHR3S5BV-DDLw6n-7oUXtX0nr7Twl...","externalDocs":{"description":"RFC7518 - JSON Web Algorithms (JWA) - Section 6.3.1.1","url":"https://www.rfc-editor.org/rfc/rfc7518#section-6.3.1.1"},"uniqueKey":"keys.items.[INDEX].n","typeLabel":"string\u003cbase64url>"},"use":{"type":"string","example":"sig","externalDocs":{"description":"RFC7517 - JSON Web Key (JWK) - Section 4.2","url":"https://www.rfc-editor.org/rfc/rfc7517#section-4.2"},"uniqueKey":"keys.items.[INDEX].use","typeLabel":"string"}},"uniqueKey":"keys.items.[INDEX]","typeLabel":"object"},"externalDocs":{"description":"RFC7517 - JSON Web Key (JWK) - Section 5.1","url":"https://www.rfc-editor.org/rfc/rfc7517#section-5.1"},"uniqueKey":"keys","typeLabel":"object[]"}},"externalDocs":{"description":"RFC7517 - JSON Web Key (JWK) - Section 5","url":"https://www.rfc-editor.org/rfc/rfc7517#section-5"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"keys":[{"alg":"RS256","e":"AQAB","kid":"d6ff37d7-e3d1-4432-ab80-b64faf55ae36","kty":"RSA","n":"vPFRUCRoxN3RygdJHR3S5BV-DDLw6n-7oUXtX0nr7Twl...","use":"sig"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"3e01d9e5-6a3d-4b98-bbbf-836708c0496d":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","format":"int32","isRequired":true,"uniqueKey":"code","typeLabel":"integer\u003cint32>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":500,"message":"Internal Server Error"},"examples":{"Example":{"title":"Example","value":{"code":500,"message":"Internal Server Error"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{},"servers":{"8c1415c9-58fb-40f9-9153-7cf31e141834":{"url":"https://{tenant_id}.hanko.io","variables":{"tenant_id":{"default":"","description":"The (UU)ID of a tenant. Replace the default value with your tenant ID."}}}}},"originalFileLocation":"openapi-public.yaml"},"subdomain":"hanko","siteName":"Hanko","title":"Get JSON Web Key Set - Hanko","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-08-18T08:41:25.161Z","originalFileLocation":"api-reference/public/well-known/get-json-web-key-set.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=\"Retrieve a JSON Web Key Set (JWKS) object containing the public keys used to verify JSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hanko\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hanko/E70FYFIuCUxDugor/_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/hanko/E70FYFIuCUxDugor/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hanko/E70FYFIuCUxDugor/_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/hanko/E70FYFIuCUxDugor/_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/hanko/E70FYFIuCUxDugor/_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/hanko/E70FYFIuCUxDugor/_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/hanko/E70FYFIuCUxDugor/_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/hanko/E70FYFIuCUxDugor/_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/hanko/E70FYFIuCUxDugor/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get JSON Web Key Set - Hanko\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retrieve a JSON Web Key Set (JWKS) object containing the public keys used to verify JSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hanko\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hanko.mintlify.app/_mintlify/api/og/v2?division=.well-known\u0026amp;title=Get+JSON+Web+Key+Set\u0026amp;description=Retrieve+a+%5BJSON+Web+Key+Set%5D%28https%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc7517%23section-5%29+%28JWKS%29+object+containing+the+public+%60keys%60+used+to+verify%0AJSON+Web+Tokens+%28JWT%29+\u0026amp;theme=0019bde39b8e96d0b6d738b4\u0026amp;signature=60dace940915f14c3d8bdcab05fa91e231aebdc1c586c023fa85e4280d67457b\">\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=\"Get JSON Web Key Set - Hanko\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retrieve a JSON Web Key Set (JWKS) object containing the public keys used to verify JSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hanko.mintlify.app/_mintlify/api/og/v2?division=.well-known\u0026amp;title=Get+JSON+Web+Key+Set\u0026amp;description=Retrieve+a+%5BJSON+Web+Key+Set%5D%28https%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc7517%23section-5%29+%28JWKS%29+object+containing+the+public+%60keys%60+used+to+verify%0AJSON+Web+Tokens+%28JWT%29+\u0026amp;theme=0019bde39b8e96d0b6d738b4\u0026amp;signature=60dace940915f14c3d8bdcab05fa91e231aebdc1c586c023fa85e4280d67457b\">\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/hanko/E70FYFIuCUxDugor/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hanko\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6575FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/public/well-known/get-json-web-key-set.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hanko.io/#organization\",\"name\":\"Hanko\",\"url\":\"https://docs.hanko.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hanko/cvvCniGfSDqJRest/logo/light.svg?fit=max\u0026auto=format\u0026n=cvvCniGfSDqJRest\u0026q=85\u0026s=c11abcf43f80ac4a882d948d9a697da6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hanko.io#website\",\"name\":\"Hanko\",\"url\":\"https://docs.hanko.io\",\"publisher\":{\"@id\":\"https://docs.hanko.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set#webpage\",\"url\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set\",\"name\":\"Get JSON Web Key Set\",\"description\":\"Retrieve a JSON Web Key Set (JWKS) object containing the public keys used to verify JSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\",\"dateModified\":\"2025-08-18T08:41:25.161Z\",\"isPartOf\":{\"@id\":\"https://docs.hanko.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Resources\",\"item\":\"https://docs.hanko.io/resources/examples\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API reference\",\"item\":\"https://docs.hanko.io/api-reference/flow/registration\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Public\",\"item\":\"https://docs.hanko.io/api-reference/flow/registration\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Get JSON Web Key Set\",\"item\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set#apireference\",\"headline\":\"Get JSON Web Key Set\",\"name\":\"Get JSON Web Key Set\",\"description\":\"Retrieve a JSON Web Key Set (JWKS) object containing the public keys used to verify JSON Web Tokens (JWT) issued by the Hanko API and signed using the RS256 signing algorithm.\",\"url\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hanko.io/api-reference/public/well-known/get-json-web-key-set#webpage\"},\"dateModified\":\"2025-08-18T08:41:25.161Z\",\"publisher\":{\"@id\":\"https://docs.hanko.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hanko.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hanko\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hanko","nav":{"global":null,"tabs":[{"tab":"Hanko Docs","groups":[{"group":"Getting started","pages":[{"title":"Welcome to the Hanko documentation","sidebarTitle":"Introduction","icon":"hand-wave","mode":"wide","href":"/introduction"},{"sidebarTitle":"Set up Hanko Cloud","title":"Getting started with Hanko Cloud","icon":"play","href":"/setup-hanko-cloud"},{"group":"Quickstarts","icon":"rocket","pages":[{"title":"Hanko quickstart guides","sidebarTitle":"Overview","href":"/quickstarts/overview"},{"group":"Full Stack","pages":[{"sidebarTitle":"Next.js","title":"Integrate Hanko with Next.js","href":"/quickstarts/fullstack/next"},{"sidebarTitle":"Nuxt","title":"Integrate Hanko with Nuxt","href":"/quickstarts/fullstack/nuxt"},{"sidebarTitle":"Remix","title":"Integrate Hanko with Remix","href":"/quickstarts/fullstack/remix"},{"sidebarTitle":"SvelteKit","title":"Integrate Hanko with SvelteKit","href":"/quickstarts/fullstack/sveltekit"}]},{"group":"Frontend","pages":[{"sidebarTitle":"Angular","title":"Integrate Hanko with Angular","href":"/quickstarts/frontend/angular"},{"sidebarTitle":"JavaScript","title":"Integrate Hanko with JavaScript","href":"/quickstarts/frontend/javascript"},{"sidebarTitle":"React","title":"Integrate Hanko with React","href":"/quickstarts/frontend/react"},{"sidebarTitle":"Solid","title":"Integrate Hanko with Solid","href":"/quickstarts/frontend/solid"},{"sidebarTitle":"Svelte","title":"Integrate Hanko with Svelte","href":"/quickstarts/frontend/svelte"},{"sidebarTitle":"Vue","title":"Integrate Hanko with Vue","href":"/quickstarts/frontend/vue"}]},{"group":"Backend","pages":[{"sidebarTitle":"Go","title":"Integrate Hanko with a Go backend","href":"/quickstarts/backend/go"},{"sidebarTitle":"JavaScript","title":"Integrate Hanko with a JavaScript backend","href":"/quickstarts/backend/javascript"},{"sidebarTitle":"Java (Spring)","title":"Integrate Hanko with a Java/Spring backend","href":"/quickstarts/backend/java_spring"},{"sidebarTitle":"Python","title":"Integrate Hanko with a Python backend","href":"/quickstarts/backend/python"},{"sidebarTitle":"Rust","title":"Integrate Hanko with a Rust backend","href":"/quickstarts/backend/rust"}]}]}]},{"group":"Guides","pages":[{"group":"Hanko Elements","pages":[{"title":"Hanko Elements guide","sidebarTitle":"Introduction","href":"/guides/hanko-elements/introduction"},{"sidebarTitle":"Auth component","title":"Hanko Elements Auth component guide","href":"/guides/hanko-elements/auth-component"},{"sidebarTitle":"Login component","title":"Hanko Elements Login component guide","href":"/guides/hanko-elements/login-component"},{"sidebarTitle":"Registration component","title":"Hanko Elements Registration component","href":"/guides/hanko-elements/register-component"},{"sidebarTitle":"Profile component","title":"Hanko Elements Profile component","href":"/guides/hanko-elements/profile-component"},{"sidebarTitle":"Events component","title":"Events component guide","href":"/guides/hanko-elements/events-component"},{"title":"Using the Hanko Frontend SDK","sidebarTitle":"Using Frontend SDK","href":"/guides/hanko-elements/using-frontend-sdk"},{"sidebarTitle":"Styling","title":"Customize appearance of Hanko Elements","href":"/guides/hanko-elements/customize-appearance"},{"sidebarTitle":"Internationalization (i18n)","title":"Hanko Elements internationalization (i18n) guide","href":"/guides/hanko-elements/translations"}]},{"group":"User data","pages":[{"sidebarTitle":"Access from frontend","title":"Access user data from your frontend","href":"/guides/user-data/frontend"},{"sidebarTitle":"Access from backend","title":"Access user data from your backend","href":"/guides/user-data/backend"},{"title":"User metadata","href":"/guides/user-data/user-metadata"},{"title":"Attribute mapping","href":"/guides/user-data/attribute-mapping"},{"title":"Custom claims","href":"/guides/user-data/custom-claims"}]},{"group":"Social SSO","pages":[{"sidebarTitle":"Overview","title":"Using social SSO with Hanko","href":"/guides/social-sso/introduction"},{"title":"Sign in with Apple","sidebarTitle":"Apple","href":"/guides/social-sso/apple"},{"title":"Sign in with Discord","sidebarTitle":"Discord","href":"/guides/social-sso/discord"},{"title":"Sign in with Facebook","sidebarTitle":"Facebook","href":"/guides/social-sso/facebook"},{"title":"Sign in with GitHub","sidebarTitle":"GitHub","href":"/guides/social-sso/github"},{"title":"Sign in with Google","sidebarTitle":"Google","href":"/guides/social-sso/google"},{"title":"Sign in with LinkedIn","sidebarTitle":"LinkedIn","href":"/guides/social-sso/linkedin"},{"title":"Sign in with Microsoft","sidebarTitle":"Microsoft","href":"/guides/social-sso/microsoft"},{"title":"Custom providers","href":"/guides/social-sso/custom-providers"}]},{"group":"Enterprise SSO","pages":[{"sidebarTitle":"Overview","title":"Using SAML SSO with Hanko","href":"/guides/enterprise-sso/introduction"},{"sidebarTitle":"Auth0","title":"Set up SAML SSO with Auth0","href":"/guides/enterprise-sso/auth0"},{"sidebarTitle":"Microsoft Entra","title":"Set up SAML SSO with Microsoft Entra","href":"/guides/enterprise-sso/entra"},{"sidebarTitle":"Google Workspace","title":"Set up SAML SSO with Google Workspace","href":"/guides/enterprise-sso/google"},{"sidebarTitle":"Okta","title":"Set up SAML SSO with Okta","href":"/guides/enterprise-sso/okta"}]},{"group":"Import/Export","pages":[{"title":"Import and export users","href":"/guides/import_export/import-export-users"},{"sidebarTitle":"Firebase user migration","title":"Migrate Users from Firebase","href":"/guides/import_export/firebase"}]},{"sidebarTitle":"Webhooks","title":"Using Hanko webhooks","href":"/guides/webhooks"},{"group":"Email delivery","pages":[{"sidebarTitle":"Email customization","title":"How to customize Hanko's emails","href":"/guides/email-delivery/email-delivery"},{"sidebarTitle":"Custom SMTP server","title":"Send Hanko emails using your own SMTP server","href":"/guides/email-delivery/custom-smtp-server"}]},{"sidebarTitle":"Custom domain","title":"Custom domain","href":"/guides/custom-domain/custom-domain"},{"sidebarTitle":"Sessions and tokens","title":"Sessions and tokens in Hanko","href":"/guides/session-management"},{"group":"Migrations","pages":[{"sidebarTitle":"2.x.x to 3.0.0","title":"Migration Guide","href":"/guides/migrations/2.x.x-to-3.x.x"}]}]},{"group":"Using the Hanko API","pages":[{"sidebarTitle":"Understanding the Flow API","title":"Understanding the Hanko Flow API","href":"/using-the-api/understanding-the-flow-api"},{"title":"Build a custom login page","href":"/using-the-api/build-a-custom-login-page"}]},{"group":"Integrations","pages":[{"sidebarTitle":"Supabase","title":"Using Hanko with Supabase","href":"/integrations/supabase"},{"sidebarTitle":"Authorization with Permit.io","title":"Using Hanko with Permit.io","href":"/integrations/permit"}]},{"group":"Resources","pages":[{"title":"Examples","href":"/resources/examples"},{"group":"API reference","pages":[{"group":"Public","pages":[{"group":"Flow","pages":[{"openapi":"post /registration","title":"Registration","href":"/api-reference/flow/registration"},{"openapi":"post /login","title":"Login","href":"/api-reference/flow/login"},{"openapi":"post /profile","title":"Profile","href":"/api-reference/flow/profile"},{"openapi":"post /token_exchange","title":"Token exchange","href":"/api-reference/flow/token-exchange"}]},{"group":"Status","pages":[{"openapi":"openapi-public get /","title":"Status page","description":"Return information about the API status. Returns a 500 if there are issues with database connectivity.","href":"/api-reference/public/status/status-page"}]},{"group":".well-known","pages":[{"openapi":"openapi-public get /.well-known/jwks.json","title":"Get JSON Web Key Set","href":"/api-reference/public/well-known/get-json-web-key-set"}]},{"group":"Third Party","pages":[{"openapi":"openapi-public get /thirdparty/callback","title":"Third party provider callback","description":"Callback endpoint called by the third party provider after successful login.","href":"/api-reference/public/third-party/third-party-provider-callback"},{"openapi":"openapi-public post /thirdparty/callback","title":"Third party provider form callback","href":"/api-reference/public/third-party/third-party-provider-form-callback"}]},{"group":"User Management","pages":[{"openapi":"openapi-public get /me","title":"Get the current user","href":"/api-reference/public/user-management/get-the-current-user-id"},{"openapi":"openapi-public post /logout","title":"Log out the current user","href":"/api-reference/public/user-management/log-out-the-current-user"}]},{"group":"SAML","pages":[{"openapi":"get /saml/metadata","title":"Get SAML Metadata","href":"/api-reference/public/saml/get-saml-metadata"},{"openapi":"post /saml/callback","title":"SAML identity provider callback","href":"/api-reference/public/saml/saml-identity-provider-callback"}]},{"group":"Session Management","pages":[{"openapi":"get /sessions/validate","title":"Validate a session","href":"/api-reference/public/session-management/validate-a-session"},{"openapi":"post /sessions/validate","title":"Validate a session","href":"/api-reference/public/session-management/validate-a-session-1"}]},{"group":"Organization Management","pages":[{"openapi":"openapi-public post /organizations/roles/check","title":"Check current user's role","href":"/api-reference/public/organization-management/check-current-users-role"}]}]},{"group":"Admin","pages":[{"group":"Status","pages":[{"openapi":"openapi-admin get /","title":"Status page","href":"/api-reference/admin/status/status-page"}]},{"group":"User Management","pages":[{"openapi":"openapi-admin get /users","title":"Get a list of users","href":"/api-reference/admin/user-management/get-a-list-of-users"},{"openapi":"openapi-admin post /users","title":"Create a new user","href":"/api-reference/admin/user-management/create-a-new-user"},{"openapi":"openapi-admin get /users/{id}","title":"Get a user by ID","href":"/api-reference/admin/user-management/get-a-user-by-id"},{"openapi":"openapi-admin delete /users/{id}","title":"Delete a user by ID","href":"/api-reference/admin/user-management/delete-a-user-by-id"},{"openapi":"openapi-admin patch /users/{id}","title":"Update a user by ID","href":"/api-reference/admin/user-management/update-a-user-by-id"}]},{"group":"User Metadata Management","pages":[{"openapi":"get /users/{id}/metadata","title":"Get metadata of a user","href":"/api-reference/admin/user-metadata-management/get-metadata-of-a-user"},{"openapi":"patch /users/{id}/metadata","title":"Patch metadata of a user","href":"/api-reference/admin/user-metadata-management/patch-metadata-of-a-user"}]},{"group":"Custom Claims Management","pages":[{"openapi":"get /users/{id}/custom_claims","title":"Get custom claims of a user","href":"/api-reference/admin/custom-claims-management/get-custom-claims-of-a-user"}]},{"group":"Email Management","pages":[{"openapi":"openapi-admin get /users/{id}/emails","title":"Get a list of emails for a user","href":"/api-reference/admin/email-management/get-a-list-of-emails"},{"openapi":"openapi-admin post /users/{id}/emails","title":"Create an email for a user","href":"/api-reference/admin/email-management/create-an-email-for-a-user"},{"openapi":"openapi-admin get /users/{id}/emails/{email_id}","title":"Get an email of a user","href":"/api-reference/admin/email-management/get-a-email-by-id"},{"openapi":"openapi-admin delete /users/{id}/emails/{email_id}","title":"Remove an email from a user","href":"/api-reference/admin/email-management/remove-a-email-by-id"},{"openapi":"openapi-admin post /users/{id}/emails/{email_id}/set_primary","title":"Set email as primary","href":"/api-reference/admin/email-management/set-an-email-as-primary"}]},{"group":"Password Management","pages":[{"openapi":"openapi-admin post /users/{id}/password","title":"Create a password for a user","href":"/api-reference/admin/password-management/create-password"},{"openapi":"openapi-admin get /users/{id}/password","title":"Get password metadata of a user","href":"/api-reference/admin/password-management/get-password"},{"openapi":"openapi-admin put /users/{id}/password","title":"Update the password for a user","href":"/api-reference/admin/password-management/update-password"},{"openapi":"openapi-admin delete /users/{id}/password","title":"Delete the password of a user","href":"/api-reference/admin/password-management/delete-password"}]},{"group":"WebAuthn credential Management","pages":[{"openapi":"openapi-admin get /users/{id}/webauthn_credentials","title":"Get a list of all WebAuthn credentials for a user","href":"/api-reference/admin/webauthn-credential-management/list-webauthn-credentials"},{"openapi":"openapi-admin get /users/{id}/webauthn_credentials/{credential_id}","title":"Get a WebAuthn credential of a user","href":"/api-reference/admin/webauthn-credential-management/get-webauthn-credential"},{"openapi":"openapi-admin delete /users/{id}/webauthn_credentials/{credential_id}","title":"Delete a WebAuthn credential from a user","href":"/api-reference/admin/webauthn-credential-management/delete-webauthn-credential"}]},{"group":"OTP Management","pages":[{"openapi":"openapi-admin get /users/{id}/otp","title":"Get the OTP secret metadata of a user","href":"/api-reference/admin/otp-management/get-otp"},{"openapi":"openapi-admin delete /users/{id}/otp","title":"Delete the OTP secret from a user","href":"/api-reference/admin/otp-management/delete-otp"}]},{"group":"Session Management","pages":[{"openapi":"openapi-admin post /sessions","title":"Create a new session token for a user","href":"/api-reference/admin/session-management/create-session"},{"openapi":"openapi-admin get /users/{id}/sessions","title":"Get users active sessions","href":"/api-reference/admin/session-management/list-sessions"},{"openapi":"openapi-admin delete /users/{id}/sessions/{session_id}","title":"Delete a session from a user","href":"/api-reference/admin/session-management/delete-session"}]},{"group":"Webhooks","pages":[{"openapi":"openapi-admin get /webhooks","title":"Get a list of webhooks","href":"/api-reference/admin/webhooks/get-a-list-of-webhooks"},{"openapi":"openapi-admin post /webhooks","title":"Create a new database webhook","href":"/api-reference/admin/webhooks/create-a-webhook"},{"openapi":"openapi-admin get /webhooks/{id}","title":"Get a webhook by ID","href":"/api-reference/admin/webhooks/get-a-webhook-by-id"},{"openapi":"openapi-admin put /webhooks/{id}","title":"Update a webhook by ID","href":"/api-reference/admin/webhooks/update-a-webhook"},{"openapi":"openapi-admin delete /webhooks/{id}","title":"Delete a webhook by ID","href":"/api-reference/admin/webhooks/delete-a-webhook"}]},{"group":"Audit Logs","pages":[{"openapi":"openapi-admin get /audit_logs","title":"Get a list of audit logs","href":"/api-reference/admin/audit-logs/get-a-list-of-audit-logs"}]},{"group":"Metrics","pages":[{"openapi":"openapi-admin get /metrics","title":"Get Prometheus metrics.","href":"/api-reference/admin/metrics/get-prometheus-metrics"}]},{"group":"Organization Management","pages":[{"openapi":"openapi-admin get /organizations","title":"Get a list of organizations","href":"/api-reference/admin/organization-management/get-a-list-of-organizations"},{"openapi":"openapi-admin post /organizations","title":"Create a new organization","href":"/api-reference/admin/organization-management/create-a-new-organization"},{"openapi":"openapi-admin get /organizations/{id}","title":"Get an organization by ID","href":"/api-reference/admin/organization-management/get-an-organization-by-id"},{"openapi":"openapi-admin patch /organizations/{id}","title":"Update an organization by ID","href":"/api-reference/admin/organization-management/update-an-organization-by-id"},{"openapi":"openapi-admin delete /organizations/{id}","title":"Delete an organization by ID","href":"/api-reference/admin/organization-management/delete-an-organization-by-id"},{"openapi":"openapi-admin get /organizations/{org_id}/users","title":"Get a list of organization members","href":"/api-reference/admin/organization-management/get-a-list-of-organization-members"},{"openapi":"openapi-admin post /organizations/{org_id}/users/{user_id}","title":"Add an organization member","href":"/api-reference/admin/organization-management/add-an-organization-member"},{"openapi":"openapi-admin delete /organizations/{org_id}/users/{user_id}","title":"Remove an organization member","href":"/api-reference/admin/organization-management/remove-an-organization-member"}]},{"group":"Role Management","pages":[{"openapi":"openapi-admin get /roles","title":"Get a list of roles","href":"/api-reference/admin/role-management/get-a-list-of-roles"},{"openapi":"openapi-admin post /roles","title":"Create a new role","href":"/api-reference/admin/role-management/create-a-new-role"},{"openapi":"openapi-admin get /roles/{id}","title":"Get a role by ID","href":"/api-reference/admin/role-management/get-a-role-by-id"},{"openapi":"openapi-admin patch /roles/{id}","title":"Update a role by ID","href":"/api-reference/admin/role-management/update-a-role-by-id"},{"openapi":"openapi-admin delete /roles/{id}","title":"Delete a role by ID","href":"/api-reference/admin/role-management/delete-a-role-by-id"},{"openapi":"openapi-admin get /organizations/{org_id}/users/{user_id}/roles","title":"Get a list of role bindings","href":"/api-reference/admin/role-management/get-a-list-of-role-bindings"},{"openapi":"openapi-admin post /organizations/{org_id}/users/{user_id}/roles","title":"Create a role binding","href":"/api-reference/admin/role-management/create-a-role-binding"},{"openapi":"openapi-admin delete /organizations/{org_id}/users/{user_id}/roles/{role_id_or_slug}","title":"Remove a role binding","href":"/api-reference/admin/role-management/remove-a-role-binding"}]}]}]},{"title":"Frontend SDK","url":"https://teamhanko.github.io/hanko/jsdoc/hanko-frontend-sdk/","href":"/resources/frontend-sdk"}]},{"group":"FAQ \u0026 support","pages":[{"title":"Get help","href":"/community-support/get-help"},{"title":"Troubleshoot","href":"/community-support/troubleshoot"},{"title":"FAQ","href":"/community-support/faq"}]}]},{"tab":"Passkey API Docs","pages":[{"title":"Passkey API Docs","href":"/passkey-api/introduction"}]},{"tab":"Hanko Authenticator Docs","pages":[{"title":"Hanko Authenticator Docs","href":"/hanko-authenticator/introduction"}]}]},"basePath":"","title":"Get JSON Web Key Set - Hanko","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}