{
"code": 500,
"message": "Internal Server Error"
}
Session Management
Validate a session
Validate a session using a cookie header or an authorization header.
This is a passive check that does not update the session’s internal last activity timestamp.
GET
/
sessions
/
validate
Validate a session
curl --request GET \ --url https://{tenant_id}.hanko.io/sessions/validate \ --cookie hanko=
Timestamp (in UTC) indicating when the session will expire due to inactivity, assuming no further activity occurs before this time.
Only present when idle timeout is configured. The value is capped to the JWT expiration time.
The organizations the user belongs to, and the role slugs they hold within each. Computed
fresh from the database on every call, not embedded in the JWT, so a role or membership
change takes effect immediately on the next validation call rather than only after the
session token is reissued. Omitted if the user belongs to no organizations.
{"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.4044","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":[{"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}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/public/session-management/validate-a-session","slug":"/api-reference/public/session-management/validate-a-session","pageMetadata":{"openapi":"get /sessions/validate","title":"Validate a session","description":"Validate a session using a cookie header or an authorization header.\nThis is a passive check that does not update the session's internal last activity timestamp.\n","href":"/api-reference/public/session-management/validate-a-session"},"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: \"Validate a session using a cookie header or an authorization header.\\nThis is a passive check that does not update the session’s internal last activity timestamp.\"\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":"get /sessions/validate","title":"Validate a session","description":"Validate a session using a cookie header or an authorization header.\nThis is a passive check that does not update the session's internal last activity timestamp.\n","href":"/api-reference/public/session-management/validate-a-session"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Session Management"],"summary":"Validate a session","description":"Validate a session using a cookie header or an authorization header.\nThis is a passive check that does not update the session's internal last activity timestamp.\n","security":["ebef07e5-4877-40e6-81dd-3de245af1a55","2a07a311-a937-45c5-9a8b-c8086a91ade2"],"responses":{"200":"008926c8-91a3-427a-8492-f79c849735f7","400":"53219b53-f712-4f22-9bd3-c4d9a79e6f35","500":"c44e2f09-e7a5-4ce0-87f5-ab981af19edc"},"method":"get","type":"path","servers":["8c1415c9-58fb-40f9-9153-7cf31e141834"],"path":"/sessions/validate","baseUrlOptions":["https://{tenant_id}.hanko.io"],"title":"Validate a session","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"responses":{"008926c8-91a3-427a-8492-f79c849735f7":{"description":"Session validation response","content":{"application/json":{"schema":{"properties":{"is_valid":{"description":"Indicates whether the session is valid or not","type":"boolean","isRequired":true,"uniqueKey":"is_valid","typeLabel":"boolean"},"expiration_time":{"description":"Date-time indicating the expiration of the session. Deprecated, please use `claims.expiration` instead.","type":"string","format":"date-time","deprecated":true,"uniqueKey":"expiration_time","typeLabel":"string\u003cdate-time>"},"user_id":{"description":"The ID of the user the session is associated with. Deprecated, please use `claims.subject` instead.","type":"string","format":"uuid4","deprecated":true,"uniqueKey":"user_id","typeLabel":"string\u003cuuid4>"},"claims":{"type":"object","description":"The claims extracted from a JWT.","properties":{"subject":{"type":"string","description":"The unique identifier of the token's subject.","format":"uuid4","example":"c339547d-e17d-4ba7-8a1d-b3d5a4d17c1c","isRequired":true,"uniqueKey":"claims.subject","typeLabel":"string\u003cuuid4>"},"expiration":{"description":"The timestamp indicating when the token will expire.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"claims.expiration","typeLabel":"string\u003cdate-time>"},"session_id":{"type":"string","description":"The unique identifier for the session associated with this token.","format":"uuid4","example":"c339547d-e17d-4ba7-8a1d-b3d5a4d17c1c","isRequired":true,"uniqueKey":"claims.session_id","typeLabel":"string\u003cuuid4>"},"issued_at":{"description":"The timestamp indicating when the token was issued.","type":"string","format":"date-time","uniqueKey":"claims.issued_at","typeLabel":"string\u003cdate-time>"},"audience":{"description":"The intended audience of the token.","type":"array","items":{"type":"string","uniqueKey":"claims.audience.items.[INDEX]","typeLabel":"string"},"uniqueKey":"claims.audience","typeLabel":"string[]"},"issuer":{"description":"The entity that issued the token.","type":"string","uniqueKey":"claims.issuer","typeLabel":"string"},"email":{"description":"Data about the email address associated with the token's subject, if available.","type":"object","properties":{"address":{"description":"The actual email address.","type":"string","format":"email","uniqueKey":"claims.email.address","typeLabel":"string\u003cemail>"},"is_primary":{"description":"Indicates whether the email address is the primary address.","type":"boolean","uniqueKey":"claims.email.is_primary","typeLabel":"boolean"},"is_verified":{"description":"Indicates whether the email address is verified.","type":"boolean","uniqueKey":"claims.email.is_verified","typeLabel":"boolean"}},"uniqueKey":"claims.email","typeLabel":"object"},"username":{"description":"The username associated with the token's subject, if available.","type":"string","uniqueKey":"claims.username","typeLabel":"string"},"amr":{"description":"Authentication Method References, JSON array of strings that are identifiers for authentication methods used in the authentication.","type":"array","items":{"type":"string","description":"- `pwd` => password\n- `passkey` => passkey\n- `otp` => email passcode\n- `ext:\u003cprovider>` => thirdparty provider, where \u003cprovider> is the internal provider ID, e.g. `ext:microsoft`\n- `totp` => 2FA authenticator app\n- `security_key` => 2FA security key\n","uniqueKey":"claims.amr.items.[INDEX]","typeLabel":"string"},"uniqueKey":"claims.amr","typeLabel":"string[]"}},"required":["subject","expiration","session_id"],"uniqueKey":"claims","typeLabel":"object"},"idle_expires_at":{"description":"Timestamp (in UTC) indicating when the session will expire due to inactivity, assuming no further activity occurs before this time.\nOnly present when idle timeout is configured. The value is capped to the JWT expiration time.\n","type":"string","format":"date-time","uniqueKey":"idle_expires_at","typeLabel":"string\u003cdate-time>"},"organizations":{"description":"The organizations the user belongs to, and the role slugs they hold within each. Computed\nfresh from the database on every call, not embedded in the JWT, so a role or membership\nchange takes effect immediately on the next validation call rather than only after the\nsession token is reissued. Omitted if the user belongs to no organizations.\n","type":"array","items":{"type":"object","description":"An organization the user belongs to, and the role slugs they hold within it.","required":["id","name","roles"],"properties":{"id":{"type":"string","description":"The ID of the organization","format":"uuid4","example":"c339547d-e17d-4ba7-8a1d-b3d5a4d17c1c","isRequired":true,"uniqueKey":"organizations.items.[INDEX].id","typeLabel":"string\u003cuuid4>"},"name":{"description":"The name of the organization","type":"string","isRequired":true,"uniqueKey":"organizations.items.[INDEX].name","typeLabel":"string"},"roles":{"description":"The slugs of the roles the user holds within this organization","type":"array","items":{"type":"string","uniqueKey":"organizations.items.[INDEX].roles.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"organizations.items.[INDEX].roles","typeLabel":"string[]"}},"uniqueKey":"organizations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"organizations","typeLabel":"object[]"}},"required":["is_valid"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"is_valid":true,"expiration_time":"2023-11-07T05:31:56Z","user_id":"\u003cstring>","claims":{"subject":"c339547d-e17d-4ba7-8a1d-b3d5a4d17c1c","expiration":"2023-11-07T05:31:56Z","session_id":"c339547d-e17d-4ba7-8a1d-b3d5a4d17c1c","issued_at":"2023-11-07T05:31:56Z","audience":["\u003cstring>"],"issuer":"\u003cstring>","email":{"address":"jsmith@example.com","is_primary":true,"is_verified":true},"username":"\u003cstring>","amr":["\u003cstring>"]},"idle_expires_at":"2023-11-07T05:31:56Z","organizations":[{"id":"c339547d-e17d-4ba7-8a1d-b3d5a4d17c1c","name":"\u003cstring>","roles":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"53219b53-f712-4f22-9bd3-c4d9a79e6f35":{"description":"Bad Request","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":400,"message":"Bad Request"},"examples":{"Example":{"title":"Example","value":{"code":400,"message":"Bad Request"}}},"exampleType":"examples"}},"exampleType":"examples"},"c44e2f09-e7a5-4ce0-87f5-ab981af19edc":{"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":{"ebef07e5-4877-40e6-81dd-3de245af1a55":{"CookieAuth":{"type":"apiKey","in":"cookie","name":"hanko","scopes":[],"schemeName":"CookieAuth"}},"2a07a311-a937-45c5-9a8b-c8086a91ade2":{"BearerTokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"BearerTokenAuth"}}},"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."}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"cookie","name":"hanko","scopes":[],"schemeName":"CookieAuth"},"schema":{"title":"hanko","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"CookieAuth","name":"hanko"}],"title":"CookieAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"BearerTokenAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerTokenAuth","name":"Authorization"}],"title":"BearerTokenAuth"}]},"originalFileLocation":"openapi-public.yaml"},"subdomain":"hanko","siteName":"Hanko","title":"Validate a session - Hanko","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-30T08:27:22.635Z","originalFileLocation":"api-reference/public/session-management/validate-a-session.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=\"Validate a session using a cookie header or an authorization header. This is a passive check that does not update the session\u0026#x27;s internal last activity timestamp.\">\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=\"Validate a session - Hanko\">\u003cmeta data-mint-head property=\"og:description\" content=\"Validate a session using a cookie header or an authorization header. This is a passive check that does not update the session\u0026#x27;s internal last activity timestamp.\">\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/session-management/validate-a-session\">\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=Session+Management\u0026amp;title=Validate+a+session\u0026amp;description=Validate+a+session+using+a+cookie+header+or+an+authorization+header.%0AThis+is+a+passive+check+that+does+not+update+the+session%27s+internal+last+activity+timestamp\u0026amp;theme=0019bde39b8e96d0b6d738b4\u0026amp;signature=441169a86f7ed7ffe6ef140c0148a4cb6aad2814509c4d42288bb1e92d2ee6ca\">\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=\"Validate a session - Hanko\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Validate a session using a cookie header or an authorization header. This is a passive check that does not update the session\u0026#x27;s internal last activity timestamp.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hanko.mintlify.app/_mintlify/api/og/v2?division=Session+Management\u0026amp;title=Validate+a+session\u0026amp;description=Validate+a+session+using+a+cookie+header+or+an+authorization+header.%0AThis+is+a+passive+check+that+does+not+update+the+session%27s+internal+last+activity+timestamp\u0026amp;theme=0019bde39b8e96d0b6d738b4\u0026amp;signature=441169a86f7ed7ffe6ef140c0148a4cb6aad2814509c4d42288bb1e92d2ee6ca\">\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/session-management/validate-a-session\">\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/session-management/validate-a-session.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/session-management/validate-a-session#webpage\",\"url\":\"https://docs.hanko.io/api-reference/public/session-management/validate-a-session\",\"name\":\"Validate a session\",\"description\":\"Validate a session using a cookie header or an authorization header. This is a passive check that does not update the session's internal last activity timestamp.\",\"dateModified\":\"2026-04-30T08:27:22.635Z\",\"isPartOf\":{\"@id\":\"https://docs.hanko.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hanko.io/api-reference/public/session-management/validate-a-session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hanko.io/api-reference/public/session-management/validate-a-session#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\":\"Validate a session\",\"item\":\"https://docs.hanko.io/api-reference/public/session-management/validate-a-session\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hanko.io/api-reference/public/session-management/validate-a-session#apireference\",\"headline\":\"Validate a session\",\"name\":\"Validate a session\",\"description\":\"Validate a session using a cookie header or an authorization header. This is a passive check that does not update the session's internal last activity timestamp.\",\"url\":\"https://docs.hanko.io/api-reference/public/session-management/validate-a-session\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hanko.io/api-reference/public/session-management/validate-a-session#webpage\"},\"dateModified\":\"2026-04-30T08:27:22.635Z\",\"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","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","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","description":"Callback endpoint called by the identity provider after successful login.","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","description":"Validate a session using a session token in a request body.\nThis endpoint updates the session's internal last activity timestamp. This extends the idle timeout window\nif configured).\n","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":"Validate a session - Hanko","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}