Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.
Creates a registration session for an identifier. Checks reserved identifiers, duplicate registrations, and per-IP registration limits before writing to D1.The route extracts the identifier from the request body, resolves the Vault Durable Object by name (env.VAULT.getByName(identifier)), and calls the corresponding RPC method on the DO instance.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"HyperAuth","colors":{"primary":"#0A0A0A","light":"#FAFAFA","dark":"#0A0A0A"},"logo":{"light":"https://mintcdn.com/hyperauth-896d2df5/LToRzrn5zjXWGN3_/logo/light.svg?fit=max\u0026auto=format\u0026n=LToRzrn5zjXWGN3_\u0026q=85\u0026s=b28a40224c5080702ce8d88bea8bc003","dark":"https://mintcdn.com/hyperauth-896d2df5/LToRzrn5zjXWGN3_/logo/dark.svg?fit=max\u0026auto=format\u0026n=LToRzrn5zjXWGN3_\u0026q=85\u0026s=ea245ffd5b70954546cd0588cf94087e"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/hyperauth-896d2df5/favicon.svg","navbar":{"links":[{"href":"https://github.com/hyper-auth","label":"GitHub"}],"primary":{"type":"button","label":"Get Started","href":"/quickstart"}},"footer":{"socials":{"github":"https://github.com/hyper-auth"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/hyper-auth"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hyperauth-896d2df5","hasAudioNarration":false,"actualSubdomain":"hyperauth-896d2df5","customDomains":["docs.hyperauth.dev"],"gitSource":{"type":"github","owner":"wltbs","repo":"core","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a4a7c96c7b1e661f9c0a518","collectionId":"66dc6556-7f77-470b-a282-2d7413da978d","schemaVersion":"v3"},"feedback":{"thumbs":true,"edits":false,"agentFeedback":true,"issues":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a4a7c96c7b1e661f9c0a518:success","clientVersion":"0.0.3894","searchFilterCounts":[{"language":"default","tag":"API Reference","count":20},{"language":"default","tag":"SDK","count":20},{"language":"default","tag":"Guides","count":9},{"language":"default","tag":"Stateless","count":7},{"language":"default","tag":"Registration","count":6},{"language":"default","tag":"Reference","count":6},{"language":"default","tag":"Concepts","count":5},{"language":"default","tag":"Get Started","count":5},{"language":"default","tag":"Introduction","count":3},{"language":"default","tag":"Global Lookups","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","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":"editor-private-page-search","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":"teamspace","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","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":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/registration/sessions","slug":"/api-reference/registration/sessions","pageMetadata":{"title":"POST /api/sessions","description":"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.","href":"/api-reference/registration/sessions"},"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: \"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.\"\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={code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Creates a registration session for an identifier. Checks reserved identifiers, duplicate registrations, and per-IP registration limits before writing to D1.`}),`\n`,_jsxs(_components.p,{children:[`The route extracts the identifier from the request body, resolves the `,_jsx(_components.code,{children:`Vault`}),` Durable Object by name (`,_jsx(_components.code,{children:`env.VAULT.getByName(identifier)`}),`), and calls the corresponding RPC method on the DO instance.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request body`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`identifier`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Registration identifier (also accepts `,_jsx(_components.code,{children:`handle`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`channel`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Channel type (also inferred as `,_jsx(_components.code,{children:`\"handle\"`}),` if only `,_jsx(_components.code,{children:`handle`}),` field is present)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`did`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`DID to associate`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`response-200`,children:`Response (200)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ok\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"identifier\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"alice\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"channel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"handle\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"did\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"did:new:0x...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`error`})}),_jsx(_components.th,{children:`Condition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"Missing required fields: identifier, channel, did\"`})}),_jsx(_components.td,{children:`Field absent`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"identifier_reserved\"`})}),_jsx(_components.td,{children:`Identifier is in reserved list`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"identifier_taken\"`})}),_jsx(_components.td,{children:`Identifier already registered`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"ip_limit_reached\"`})}),_jsxs(_components.td,{children:[`IP has reached `,_jsx(_components.code,{children:`MAX_REGISTRATIONS_PER_IP`}),` (3)`]})]})]})]})]})}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":"POST /api/sessions","description":"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.","href":"/api-reference/registration/sessions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Request body","slug":"request-body","depth":2,"children":[]},{"title":"Response (200)","slug":"response-200","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"hyperauth-896d2df5","siteName":"HyperAuth","title":"POST /api/sessions - HyperAuth","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-19T12:40:31.774Z","originalFileLocation":"api-reference/registration/sessions.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.\">\u003cmeta data-mint-head name=\"application-name\" content=\"HyperAuth\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hyperauth-896d2df5/m4aOYsHrUumexr-M/_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/hyperauth-896d2df5/m4aOYsHrUumexr-M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hyperauth-896d2df5/m4aOYsHrUumexr-M/_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/hyperauth-896d2df5/m4aOYsHrUumexr-M/_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/hyperauth-896d2df5/m4aOYsHrUumexr-M/_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/hyperauth-896d2df5/m4aOYsHrUumexr-M/_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/hyperauth-896d2df5/m4aOYsHrUumexr-M/_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/hyperauth-896d2df5/m4aOYsHrUumexr-M/_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/hyperauth-896d2df5/m4aOYsHrUumexr-M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"POST /api/sessions - HyperAuth\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"HyperAuth\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hyperauth.dev/api-reference/registration/sessions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"POST /api/sessions - HyperAuth\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hyperauth-896d2df5/m4aOYsHrUumexr-M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"HyperAuth\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A0A0A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hyperauth.dev/api-reference/registration/sessions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/registration/sessions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hyperauth.dev/#organization\",\"name\":\"HyperAuth\",\"url\":\"https://docs.hyperauth.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hyperauth-896d2df5/LToRzrn5zjXWGN3_/logo/light.svg?fit=max\u0026auto=format\u0026n=LToRzrn5zjXWGN3_\u0026q=85\u0026s=b28a40224c5080702ce8d88bea8bc003\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hyperauth.dev#website\",\"name\":\"HyperAuth\",\"url\":\"https://docs.hyperauth.dev\",\"publisher\":{\"@id\":\"https://docs.hyperauth.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hyperauth.dev/api-reference/registration/sessions#webpage\",\"url\":\"https://docs.hyperauth.dev/api-reference/registration/sessions\",\"name\":\"POST /api/sessions\",\"description\":\"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.\",\"dateModified\":\"2026-05-19T12:40:31.774Z\",\"isPartOf\":{\"@id\":\"https://docs.hyperauth.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hyperauth.dev/api-reference/registration/sessions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hyperauth.dev/api-reference/registration/sessions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HyperAuth\",\"item\":\"https://docs.hyperauth.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"POST /api/sessions\",\"item\":\"https://docs.hyperauth.dev/api-reference/registration/sessions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.hyperauth.dev/api-reference/registration/sessions#article\",\"headline\":\"POST /api/sessions\",\"name\":\"POST /api/sessions\",\"description\":\"Creates a registration session for an identifier after enforcing reserved-name, duplicate-DID, and per-IP rate-limit checks against the D1 database.\",\"url\":\"https://docs.hyperauth.dev/api-reference/registration/sessions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hyperauth.dev/api-reference/registration/sessions#webpage\"},\"dateModified\":\"2026-05-19T12:40:31.774Z\",\"publisher\":{\"@id\":\"https://docs.hyperauth.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hyperauth.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"HyperAuth\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"HyperAuth","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/hyper-auth"}]},"tabs":[{"tab":"Get Started","icon":"rocket","pages":[{"title":"Get Started","href":""}]},{"tab":"SDK","icon":"code","pages":[{"title":"SDK","href":"/guides/authentication"}]},{"tab":"API Reference","icon":"server","groups":[{"group":"Overview","pages":[{"title":"Introduction","icon":"book-open","href":"/api-reference/introduction"}]},{"group":"Static / CDN","pages":[{"title":"GET /enclave.wasm","href":"/api-reference/static/enclave-wasm"}]},{"group":"Stateless","pages":[{"title":"GET /api/contracts","href":"/api-reference/stateless/contracts"},{"title":"POST /api/bundler","href":"/api-reference/stateless/bundler"},{"title":"GET /api/status","href":"/api-reference/stateless/status"},{"title":"GET /api/accounts/predict","href":"/api-reference/stateless/accounts-predict"},{"title":"GET /api/accounts/state","href":"/api-reference/stateless/accounts-state"},{"title":"GET /api/balance","href":"/api-reference/stateless/balance"},{"title":"GET /api/sessions/status","href":"/api-reference/stateless/sessions-status"}]},{"group":"Global Lookups","pages":[{"title":"GET /api/dids/lookup","href":"/api-reference/lookups/dids-lookup"},{"title":"GET /api/aliases/check","description":"Checks whether a handle alias is available before claiming it during HyperAuth registration, returning availability and the canonical alias hash.","href":"/api-reference/lookups/aliases-check"}]},{"group":"Registration","pages":[{"title":"POST /api/sessions","href":"/api-reference/registration/sessions"},{"title":"GET /api/sessions/check","description":"Checks whether an email or phone identifier is available for registration, rejecting reserved values and identifiers already linked to a DID.","href":"/api-reference/registration/sessions-check"},{"title":"POST /api/verify/send","href":"/api-reference/registration/verify-send"},{"title":"POST /api/verify/check","href":"/api-reference/registration/verify-check"},{"title":"GET /api/verify/status","href":"/api-reference/registration/verify-status"},{"title":"POST /api/dids","href":"/api-reference/registration/dids"}]},{"group":"Indexer","pages":[{"title":"GET /api/indexer/{path}","href":"/api-reference/indexer/proxy"}]},{"group":"Payments","pages":[{"title":"Payment Handler","href":"/api-reference/payments/handler"}]},{"group":"Rate Limits","pages":[{"title":"Rate Limits and Constants","href":"/api-reference/rate-limits"}]}]},{"tab":"Changelog","icon":"rss","pages":[{"title":"Changelog","href":"/changelog/overview"}]}]},"title":"POST /api/sessions - HyperAuth","buildId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","deploymentId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","dynamics":[],"chunks":[]}