An Access PIN is not just a label in the UI. It is a backend record used to provision and track student access credentials.An unassigned Access PIN can exist before it is tied to a student.
A PIN can carry year, term, and class values into the student’s authenticated access context. In the student result flow, year and term select the SRMS result period. The year is useful when a school distributes a PIN for a particular academic year, so the student is directed to that year’s result records rather than the school’s current-year results, even after the school advances to a new year.
A configured year is included in the access context and used by Kralis Web to select that SRMS year.
A configured term is included independently of the year.
On first use, Kralis records the claiming student’s current class on the PIN. When a year is set, this class is included in the SRMS context too, helping identify the student’s class for that year’s Annual/Result records. This is useful if the student later moves to another class.
A class is included only when the PIN has both a class and a year. A class without a year is ignored for SRMS context. The class is context, not a rule about which student may claim the PIN.
If an unused PIN is already assigned to a student, only that student can claim it. A school-bound PIN can only be claimed by a student in that school; an unassigned global-pool PIN can be claimed by a student from any school.
Kralis Web preselects and locks configured context in the student result workflow. The SRMS API checks supplied year, term, and class filters against non-null PIN context and limits student queries to the student’s own records. It currently rejects conflicting supplied filters but does not require a client to include every configured filter. Custom API clients should send the PIN’s context values when requesting results.
Choose Populate Access PINs and select how many records to create:
A chosen number creates unassigned PINs for later distribution.
One PIN for each active student creates a school PIN already reserved for each active student. It prefills the student’s current class when one is set and refreshes it to the class at first claim. A PIN already assigned to a student can only be claimed by that student.
For either mode, Uses per Access PIN is optional: leave it blank for unlimited use, or enter a positive number to set a use limit. Choose a period:
Current Year associates the PIN with the school’s current year.
Current Term associates it with the current term and its year.
Non-periodic does not associate it with an academic period.
Periodic PINs are limited to their configured period. The class recorded for a student is academic context for SRMS results when the PIN has a year; it does not decide which student may claim the PIN. See Academic access context for details.
Choose Cards in the Access PIN list. If you select PINs first, the card dialog uses that selection; otherwise it uses the PINs currently loaded in the list. On the Back tab, choose a card type:
Standard Kralis card prints the supplied Kralis back design, up to 12 PIN cards per Letter-size sheet. The Front tab downloads one full-sheet front design to pair with the backs. It is shared across the sheet, not one front per PIN.
Student-specific card prints eligible PINs with the student’s name, Student ID, class, school acronym, and PIN. A PIN needs a school, student, and class, plus the student’s first name, last name, and Student ID; ineligible records are skipped and counted. Its spreadsheet export includes those student details for a custom card merge.
The Cards action is also available from Platform Access PINs. A global PIN can use the standard format, but it is skipped in student-specific format until it has a school, student, and class.You can export PINs for your own back design. For student-specific cards, the export includes school, name fields, class, Student ID, and PIN. Treat these exports as credentials: share them only with the people preparing the cards and store or remove copies securely. You can design a custom front to use with the Kralis back, or design both sides using the exported data.
Situation
Safe response
Learner already has access
Do not issue another PIN without investigating
PIN appears assigned
Confirm the associated learner before changing it
Export is required
Limit access to the file and remove extra copies after use
Populate action fails
Refresh the inventory before retrying to avoid assuming nothing was created
An Access PIN is a credential. Do not place it in broadcasts, Classroom chat, Kralis AI, or public documents.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Kralis Docs","colors":{"primary":"#1447e6","light":"#3b82f6","dark":"#3b82f6"},"logo":{"light":"https://mintcdn.com/kralis/fznqxkdoX8eDtEbC/images/branding/logo-light.png?fit=max\u0026auto=format\u0026n=fznqxkdoX8eDtEbC\u0026q=85\u0026s=916bf70db65f407691b6cd0b129939cb","dark":"https://mintcdn.com/kralis/fznqxkdoX8eDtEbC/images/branding/logo-dark.png?fit=max\u0026auto=format\u0026n=fznqxkdoX8eDtEbC\u0026q=85\u0026s=9687973e1f7342dcd326c90c9a72939f","href":"/"},"favicon":"https://mintcdn.com/kralis/fznqxkdoX8eDtEbC/images/branding/favicon.png?fit=max\u0026auto=format\u0026n=fznqxkdoX8eDtEbC\u0026q=85\u0026s=5eb8b2c5940799e231a75bf042b3fcd7","navbar":{"primary":{"type":"button","label":"Get Started","href":"https://kralis.app"}},"footer":{"links":[{"header":"Product","items":[{"label":"Roles and Permissions","href":"/reference/roles-and-permissions"},{"label":"Students","href":"/students/overview"},{"label":"Results and SRMS","href":"/results/overview"},{"label":"Attendance","href":"/attendance/overview"}]},{"header":"Learning","items":[{"label":"CBT","href":"/cbt/overview"},{"label":"LMS","href":"/lms/overview"},{"label":"Classroom","href":"/classroom/overview"},{"label":"Fees","href":"/fees/overview"}]},{"header":"Developers","items":[{"label":"Developer Guide","href":"/developers/overview"},{"label":"Authentication","href":"/developers/authentication"},{"label":"School Scoping","href":"/developers/auth-and-scoping"},{"label":"API Reference","href":"/developers/reference-links"}]},{"header":"Support","items":[{"label":"Quickstart","href":"/quickstart"},{"label":"Onboarding","href":"/onboarding/school-onboarding"},{"label":"Get Help","href":"/getting-started/get-help"},{"label":"Changelog","href":"/changelogs"}]}]},"styling":{"latex":false},"navigation":{"global":{"tabs":[{"tab":"Docs","href":"/"},{"tab":"Roles","href":"/roles/overview"},{"tab":"Results","href":"/results/overview"},{"tab":"Developers","href":"/developers/overview"},{"tab":"Help","href":"/getting-started/get-help"},{"tab":"API","href":"/developers/reference-links"},{"tab":"Integrations","href":"/integrations/overview"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kralis","hasAudioNarration":false,"actualSubdomain":"kralis","customDomains":["docs.kralis.app"],"gitSource":{"type":"github","owner":"netrobase","repo":"kralis-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6adf3fc0e705fd92bf168fb8","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Developers","count":13},{"language":"default","tag":"Classroom","count":10},{"language":"default","tag":"Results","count":8},{"language":"default","tag":"School Setup","count":7},{"language":"default","tag":"CBT","count":6},{"language":"default","tag":"Fees","count":6},{"language":"default","tag":"LMS","count":6},{"language":"default","tag":"Attendance","count":5},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"Students","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"school-setup/access-pins","slug":"/school-setup/access-pins","pageMetadata":{"title":"Access PINs","description":"How Kralis uses Access PIN inventory records for student access workflows.","href":"/school-setup/access-pins"},"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: \"How Kralis uses Access PIN inventory records for student access workflows.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Access PINs are the inventory records used for student access workflows in schools that distribute PIN-based sign-in details.`}),`\n`,_jsx(Heading,{level:`2`,id:`capabilities`,children:`Capabilities`}),`\n`,_jsx(_components.p,{children:`The Access PIN area supports:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`credential inventory management`}),`\n`,_jsx(_components.li,{children:`student access preparation`}),`\n`,_jsx(_components.li,{children:`PIN assignment workflows`}),`\n`,_jsx(_components.li,{children:`secure handling of distributed PIN data`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-an-access-pin-is`,children:`What an Access PIN is`}),`\n`,_jsx(_components.p,{children:`An Access PIN is not just a label in the UI. It is a backend record used to provision and track student access credentials.`}),`\n`,_jsx(_components.p,{children:`An unassigned Access PIN can exist before it is tied to a student.`}),`\n`,_jsx(Heading,{level:`2`,id:`academic-access-context`,children:`Academic access context`}),`\n`,_jsx(_components.p,{children:`A PIN can carry year, term, and class values into the student’s authenticated access context. In the student result flow, year and term select the SRMS result period. The year is useful when a school distributes a PIN for a particular academic year, so the student is directed to that year’s result records rather than the school’s current-year results, even after the school advances to a new year.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A configured year is included in the access context and used by Kralis Web to select that SRMS year.`}),`\n`,_jsx(_components.li,{children:`A configured term is included independently of the year.`}),`\n`,_jsx(_components.li,{children:`On first use, Kralis records the claiming student’s current class on the PIN. When a year is set, this class is included in the SRMS context too, helping identify the student’s class for that year’s Annual/Result records. This is useful if the student later moves to another class.`}),`\n`,_jsx(_components.li,{children:`A class is included only when the PIN has both a class and a year. A class without a year is ignored for SRMS context. The class is context, not a rule about which student may claim the PIN.`}),`\n`,_jsx(_components.li,{children:`If an unused PIN is already assigned to a student, only that student can claim it. A school-bound PIN can only be claimed by a student in that school; an unassigned global-pool PIN can be claimed by a student from any school.`}),`\n`,_jsx(_components.li,{children:`Kralis Web preselects and locks configured context in the student result workflow. The SRMS API checks supplied year, term, and class filters against non-null PIN context and limits student queries to the student’s own records. It currently rejects conflicting supplied filters but does not require a client to include every configured filter. Custom API clients should send the PIN’s context values when requesting results.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`operational-guidance`,children:`Operational guidance`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`keep unused PIN inventory under control`}),`\n`,_jsx(_components.li,{children:`assign PINs deliberately`}),`\n`,_jsx(_components.li,{children:`treat exported or shared PIN lists as sensitive student access data`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`working-with-the-page`,children:`Working with the page`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Access PINs`}),` and search or filter the current inventory.`]}),`\n`,_jsx(_components.li,{children:`Review whether each PIN is available or already associated with a learner.`}),`\n`,_jsx(_components.li,{children:`Use the populate action when the school needs additional inventory.`}),`\n`,_jsx(_components.li,{children:`Assign or distribute only the intended records.`}),`\n`,_jsx(_components.li,{children:`Reopen the list and confirm the assignment state.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`generate-pins`,children:`Generate PINs`}),`\n`,_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Populate Access PINs`}),` and select how many records to create:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A chosen number`}),` creates unassigned PINs for later distribution.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`One PIN for each active student`}),` creates a school PIN already reserved for each active student. It prefills the student’s current class when one is set and refreshes it to the class at first claim. A PIN already assigned to a student can only be claimed by that student.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`For either mode, `,_jsx(_components.strong,{children:`Uses per Access PIN`}),` is optional: leave it blank for unlimited use, or enter a positive number to set a use limit. Choose a period:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Current Year`}),` associates the PIN with the school’s current year.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Current Term`}),` associates it with the current term and its year.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Non-periodic`}),` does not associate it with an academic period.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Periodic PINs are limited to their configured period. The class recorded for a student is academic context for SRMS results when the PIN has a year; it does not decide which student may claim the PIN. See `,_jsx(_components.a,{href:`#academic-access-context`,children:`Academic access context`}),` for details.`]}),`\n`,_jsx(Heading,{level:`2`,id:`print-access-pin-cards`,children:`Print Access PIN cards`}),`\n`,_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Cards`}),` in the Access PIN list. If you select PINs first, the card dialog uses that selection; otherwise it uses the PINs currently loaded in the list. On the `,_jsx(_components.strong,{children:`Back`}),` tab, choose a card type:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Standard Kralis card`}),` prints the supplied Kralis back design, up to 12 PIN cards per Letter-size sheet. The `,_jsx(_components.strong,{children:`Front`}),` tab downloads one full-sheet front design to pair with the backs. It is shared across the sheet, not one front per PIN.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Student-specific card`}),` prints eligible PINs with the student’s name, Student ID, class, school acronym, and PIN. A PIN needs a school, student, and class, plus the student’s first name, last name, and Student ID; ineligible records are skipped and counted. Its spreadsheet export includes those student details for a custom card merge.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The Cards action is also available from Platform Access PINs. A global PIN can use the standard format, but it is skipped in student-specific format until it has a school, student, and class.`}),`\n`,_jsx(_components.p,{children:`You can export PINs for your own back design. For student-specific cards, the export includes school, name fields, class, Student ID, and PIN. Treat these exports as credentials: share them only with the people preparing the cards and store or remove copies securely. You can design a custom front to use with the Kralis back, or design both sides using the exported data.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Situation`}),_jsx(_components.th,{children:`Safe response`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Learner already has access`}),_jsx(_components.td,{children:`Do not issue another PIN without investigating`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`PIN appears assigned`}),_jsx(_components.td,{children:`Confirm the associated learner before changing it`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Export is required`}),_jsx(_components.td,{children:`Limit access to the file and remove extra copies after use`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Populate action fails`}),_jsx(_components.td,{children:`Refresh the inventory before retrying to avoid assuming nothing was created`})]})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`An Access PIN is a credential. Do not place it in broadcasts, Classroom chat, Kralis AI, or public documents.`})}),`\n`,_jsx(Heading,{level:`2`,id:`naming`,children:`Naming`}),`\n`,_jsxs(_components.p,{children:[`Kralis uses the `,_jsx(_components.code,{children:`Access PIN`}),` terminology in the product because that is the language schools already use in the UI.`]}),`\n`,_jsx(Heading,{level:`2`,id:`feature-links`,children:`Feature links`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://kralis.app/access-pins`,children:`Access PINs page`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/account/profile-and-security`,children:`Profile and Account Security`})}),`\n`]})]})}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":"Access PINs","description":"How Kralis uses Access PIN inventory records for student access workflows.","href":"/school-setup/access-pins"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Capabilities","slug":"capabilities","depth":2,"children":[]},{"title":"What an Access PIN is","slug":"what-an-access-pin-is","depth":2,"children":[]},{"title":"Academic access context","slug":"academic-access-context","depth":2,"children":[]},{"title":"Operational guidance","slug":"operational-guidance","depth":2,"children":[]},{"title":"Working with the page","slug":"working-with-the-page","depth":2,"children":[]},{"title":"Generate PINs","slug":"generate-pins","depth":2,"children":[]},{"title":"Print Access PIN cards","slug":"print-access-pin-cards","depth":2,"children":[]},{"title":"Naming","slug":"naming","depth":2,"children":[]},{"title":"Feature links","slug":"feature-links","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"kralis","siteName":"Kralis Docs","title":"Access PINs - Kralis Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-26T16:57:49.466Z","originalFileLocation":"school-setup/access-pins.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=\"How Kralis uses Access PIN inventory records for student access workflows.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kralis Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kralis/9MaRZZWIjhDk5vLB/_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/kralis/9MaRZZWIjhDk5vLB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kralis/9MaRZZWIjhDk5vLB/_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/kralis/9MaRZZWIjhDk5vLB/_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/kralis/9MaRZZWIjhDk5vLB/_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/kralis/9MaRZZWIjhDk5vLB/_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/kralis/9MaRZZWIjhDk5vLB/_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/kralis/9MaRZZWIjhDk5vLB/_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/kralis/9MaRZZWIjhDk5vLB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Access PINs - Kralis Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Kralis uses Access PIN inventory records for student access workflows.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kralis Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kralis.app/school-setup/access-pins\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kralis.mintlify.site/_mintlify/api/og/v2?division=School+Setup\u0026amp;title=Access+PINs\u0026amp;description=How+Kralis+uses+Access+PIN+inventory+records+for+student+access+workflows.\u0026amp;theme=1f2d80eb948a204b9af5a335\u0026amp;signature=9b3cb6e92e3c97ee2e6f5277f3ed47ca363e6ff1cea2b9d2048a29dba9d52587\">\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=\"Access PINs - Kralis Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Kralis uses Access PIN inventory records for student access workflows.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kralis.mintlify.site/_mintlify/api/og/v2?division=School+Setup\u0026amp;title=Access+PINs\u0026amp;description=How+Kralis+uses+Access+PIN+inventory+records+for+student+access+workflows.\u0026amp;theme=1f2d80eb948a204b9af5a335\u0026amp;signature=9b3cb6e92e3c97ee2e6f5277f3ed47ca363e6ff1cea2b9d2048a29dba9d52587\">\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/kralis/9MaRZZWIjhDk5vLB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kralis Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1447e6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kralis.app/school-setup/access-pins\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/school-setup/access-pins.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kralis.app/#organization\",\"name\":\"Kralis Docs\",\"url\":\"https://docs.kralis.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kralis/fznqxkdoX8eDtEbC/images/branding/logo-light.png?fit=max\u0026auto=format\u0026n=fznqxkdoX8eDtEbC\u0026q=85\u0026s=916bf70db65f407691b6cd0b129939cb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kralis.app#website\",\"name\":\"Kralis Docs\",\"url\":\"https://docs.kralis.app\",\"publisher\":{\"@id\":\"https://docs.kralis.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kralis.app/school-setup/access-pins#webpage\",\"url\":\"https://docs.kralis.app/school-setup/access-pins\",\"name\":\"Access PINs\",\"description\":\"How Kralis uses Access PIN inventory records for student access workflows.\",\"dateModified\":\"2026-09-26T16:57:49.466Z\",\"isPartOf\":{\"@id\":\"https://docs.kralis.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kralis.app/school-setup/access-pins#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kralis.app/school-setup/access-pins#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"School Setup\",\"item\":\"https://docs.kralis.app/school-setup/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Access PINs\",\"item\":\"https://docs.kralis.app/school-setup/access-pins\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.kralis.app/school-setup/access-pins#article\",\"headline\":\"Access PINs\",\"name\":\"Access PINs\",\"description\":\"How Kralis uses Access PIN inventory records for student access workflows.\",\"url\":\"https://docs.kralis.app/school-setup/access-pins\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kralis.app/school-setup/access-pins#webpage\"},\"dateModified\":\"2026-09-26T16:57:49.466Z\",\"publisher\":{\"@id\":\"https://docs.kralis.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kralis.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kralis Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Kralis Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/school-setup/access-pins.md","siteName":"Kralis Docs","nav":{"global":{"tabs":[{"tab":"Docs","href":"/"},{"tab":"Roles","href":"/roles/overview"},{"tab":"Results","href":"/results/overview"},{"tab":"Developers","href":"/developers/overview"},{"tab":"Help","href":"/getting-started/get-help"},{"tab":"API","href":"/developers/reference-links"},{"tab":"Integrations","href":"/integrations/overview"}]},"groups":[{"group":"Getting Started","root":{"title":"Kralis Docs","mode":"wide","href":"/index"},"pages":[{"title":"Quickstart","href":"/quickstart"},{"title":"Kralis Changelog","sidebarTitle":"Changelog","href":"/changelogs"},{"title":"Dashboard and Navigation","sidebarTitle":"Dashboard Navigation","href":"/getting-started/dashboard-navigation"},{"title":"Install Kralis","sidebarTitle":"Install Kralis","href":"/getting-started/install-kralis"},{"title":"Get Help","sidebarTitle":"Get Help","href":"/getting-started/get-help"}]},{"group":"Onboarding","root":{"title":"School Onboarding","sidebarTitle":"School Onboarding","href":"/onboarding/school-onboarding"},"pages":[{"title":"Student Details Submissions","href":"/onboarding/student-onboarding"},{"title":"Teacher Details Submissions","href":"/onboarding/teacher-onboarding"}]},{"group":"Roles and Daily Use","root":{"title":"Roles and Daily Use","sidebarTitle":"Overview","href":"/roles/overview"},"pages":[{"title":"Admin and Dean Workflows","sidebarTitle":"Admin and Dean","href":"/roles/admin-and-dean"},{"title":"Teacher Workflows","sidebarTitle":"Teacher","href":"/roles/teacher"},{"title":"Student Workflows","sidebarTitle":"Student","href":"/roles/student"}]},{"group":"School Setup","root":{"title":"School Setup","href":"/school-setup/overview"},"pages":[{"title":"School Settings","href":"/school-setup/school-settings"},{"title":"Years and Terms","href":"/school-setup/years-and-terms"},{"title":"Create the Next Year","sidebarTitle":"Create Next Year","href":"/school-setup/create-next-year"},{"title":"Classes and Sections","href":"/school-setup/classes-and-sections"},{"title":"Entry Score Configurations","href":"/school-setup/entry-score-configurations"},{"title":"Subjects and Users","description":"How to define subjects, operational roles, and basic permission expectations in Kralis.","href":"/school-setup/subjects-and-users"},{"title":"Access PINs","href":"/school-setup/access-pins"}]},{"group":"Planner","root":{"title":"School Planner","description":"Plan recurring class timetables, term teaching guides, and school calendar activity.","href":"/planner/overview"},"pages":[{"title":"Timetables","href":"/planner/timetables"},{"title":"Schemes of Work","href":"/planner/schemes-of-work"},{"title":"Planner Calendar","href":"/planner/calendar"}]},{"group":"Students","root":{"title":"Students","href":"/students/overview"},"pages":[{"title":"Imports and Creation","href":"/students/imports-and-creation"},{"title":"Import Students","sidebarTitle":"Import Students","href":"/students/import-students"},{"title":"Class and Section Changes","href":"/students/class-and-section-changes"},{"title":"Promotions","href":"/students/promotions"},{"title":"Run Promotion","sidebarTitle":"Run Promotion","href":"/students/run-promotion"}]},{"group":"Results","root":{"title":"Results and SRMS","href":"/results/overview"},"pages":[{"title":"Scoresheet and Results","sidebarTitle":"Scoresheet and Results","href":"/results/scoresheet-and-results"},{"title":"Compilations and Reports","sidebarTitle":"Compilations and Reports","href":"/results/compilations-and-reports"},{"title":"Using SRMS as a Teacher","sidebarTitle":"Teacher Guide","href":"/results/teacher-guide"},{"title":"Managing Scoresheets","href":"/results/managing-scoresheets"},{"title":"Generating and Reviewing Results","sidebarTitle":"Generate and Review Results","href":"/results/generating-and-reviewing-results"},{"title":"Result Origins","href":"/results/result-origins"},{"title":"Adding Legacy and External Results","href":"/results/adding-legacy-and-external-results"},{"title":"Remarks, Compilations, and Reports","sidebarTitle":"Remarks and Reports","href":"/results/remarks-compilations-and-reports"}]},{"group":"Attendance","root":{"title":"Attendance","href":"/attendance/overview"},"pages":[{"title":"Attendance Daily Operations","sidebarTitle":"Daily Operations","href":"/attendance/daily-operations"},{"title":"Checking Daily Attendance","sidebarTitle":"Checking Attendance","href":"/attendance/checking-daily-attendance"},{"title":"Reviewing Attendance History","sidebarTitle":"Reviewing History","href":"/attendance/reviewing-history"},{"title":"Managing and Correcting Attendance","sidebarTitle":"Managing Attendance","href":"/attendance/managing-and-correcting"},{"title":"Attendance Calendar and Statuses","sidebarTitle":"Calendar and Statuses","href":"/attendance/calendar-and-statuses"}]},{"group":"CBT","root":{"title":"Computer-Based Testing","href":"/cbt/overview"},"pages":[{"title":"Tests and Questions","sidebarTitle":"Tests and Questions","href":"/cbt/tests-and-questions"},{"title":"Creating CBT Tests","href":"/cbt/creating-tests"},{"title":"Managing Questions and Answers","href":"/cbt/questions-and-answers"},{"title":"Running a CBT Session","href":"/cbt/running-sessions"},{"title":"Taking a Test as a Student","sidebarTitle":"Student Guide","href":"/cbt/student-guide"},{"title":"Reviewing Performance and Syncing Scores","sidebarTitle":"Performance and Score Sync","href":"/cbt/performance-and-score-sync"}]},{"group":"LMS","root":{"title":"Learning Management System","href":"/lms/overview"},"pages":[{"title":"Courses and Enrollments","sidebarTitle":"Courses and Enrollments","href":"/lms/courses-and-enrollments"},{"title":"Using LMS as a Course Author","sidebarTitle":"Course Author Guide","href":"/lms/course-author-guide"},{"title":"Building Modules, Lessons, and Units","sidebarTitle":"Building Course Content","href":"/lms/building-course-content"},{"title":"Managing Enrollments","href":"/lms/managing-enrollments"},{"title":"Taking a Course as a Student","sidebarTitle":"Student Guide","href":"/lms/student-guide"},{"title":"Course Progress and Assessments","href":"/lms/progress-and-assessments"}]},{"group":"Classroom","root":{"title":"Kralis Classroom","sidebarTitle":"Overview","href":"/classroom/overview"},"pages":[{"title":"Using Classroom as a Teacher","sidebarTitle":"Teacher Guide","href":"/classroom/teacher-guide"},{"title":"Using Classroom as a Student","sidebarTitle":"Student Guide","href":"/classroom/student-guide"},{"title":"Classroom Events and Scheduling","sidebarTitle":"Events and Scheduling","href":"/classroom/events-and-scheduling"},{"title":"Classroom Access and Roles","sidebarTitle":"Access and Roles","href":"/classroom/access-and-roles"},{"title":"Joining and the Live Room","sidebarTitle":"Joining and Live Room","href":"/classroom/joining-and-live-room"},{"title":"Attendance and Session History","sidebarTitle":"Attendance and History","href":"/classroom/attendance-and-history"},{"title":"Classroom Recordings","sidebarTitle":"Recordings","href":"/classroom/recordings"},{"title":"Whiteboards and Collaboration Groups","sidebarTitle":"Whiteboards and Groups","href":"/classroom/whiteboards-and-groups"},{"title":"Managing Whiteboards and Groups","sidebarTitle":"Manage Boards and Groups","href":"/classroom/managing-whiteboards-and-groups"},{"title":"Classroom School Settings","sidebarTitle":"School Settings","href":"/classroom/school-settings-and-operations"}]},{"group":"Fees","root":{"title":"Fees","href":"/fees/overview"},"pages":[{"title":"Setting Up Fees and Accounts","href":"/fees/setup"},{"title":"Assign Fees","sidebarTitle":"Assign Fees","href":"/fees/assign-fees"},{"title":"Assigning Fees","href":"/fees/assigning-fees"},{"title":"Managing Student Invoices","sidebarTitle":"Student Invoices","href":"/fees/managing-invoices"},{"title":"Recording and Reconciling Payments","sidebarTitle":"Recording Payments","href":"/fees/recording-payments"},{"title":"Viewing Fees as a Student","sidebarTitle":"Student Guide","href":"/fees/student-guide"}]},{"group":"School Broadcasts","root":{"title":"School Broadcasts","href":"/broadcasts/overview"},"pages":[{"title":"Creating and Managing Broadcasts","sidebarTitle":"Creating Broadcasts","href":"/broadcasts/managing"}]},{"group":"Kralis AI","root":{"title":"Kralis AI","href":"/ai/overview"},"pages":[{"title":"Chats and History","href":"/ai/chats-and-history"}]},{"group":"User Management","root":{"title":"User Management","href":"/user-management/overview"},"pages":[{"title":"Managing Users, Teachers, and Deans","sidebarTitle":"Users, Teachers, and Deans","href":"/user-management/users-teachers-and-deans"},{"title":"Student Archive","href":"/user-management/student-archive"}]},{"group":"Profile and Account","root":{"title":"Profile and Account Security","sidebarTitle":"Profile and Security","href":"/account/profile-and-security"},"pages":[]},{"group":"School Billing","root":{"title":"School Billing","href":"/billing/overview"},"pages":[]},{"group":"Reference","root":{"title":"Reference","href":"/reference/overview"},"pages":[{"title":"Glossary","href":"/reference/glossary"},{"title":"Roles and Permissions","sidebarTitle":"Roles and Permissions","href":"/reference/roles-and-permissions"}]},{"group":"Developers","root":{"title":"Kralis for Developers","sidebarTitle":"Overview","mode":"wide","href":"/developers/overview"},"pages":[{"title":"Developer Quickstart","sidebarTitle":"Quickstart","href":"/developers/getting-started"},{"title":"School Onboarding API","sidebarTitle":"School Onboarding API","href":"/developers/school-onboarding-api"},{"title":"Authentication","href":"/developers/authentication"},{"title":"Exploring GraphQL with GraphiQL","sidebarTitle":"Using GraphiQL","mode":"wide","href":"/developers/exploring-graphiql"},{"title":"School Scoping and Authorization","sidebarTitle":"School Scoping","href":"/developers/auth-and-scoping"},{"title":"GraphQL and REST","href":"/developers/graphql-and-rest"},{"title":"Building a Kralis Client","sidebarTitle":"Building a Client","href":"/developers/building-clients"},{"title":"Errors, Pagination, and Reliability","sidebarTitle":"Errors and Pagination","href":"/developers/errors-and-pagination"},{"title":"Student Integration Identifiers API","sidebarTitle":"Student Identifiers","mode":"wide","href":"/developers/student-integration-identifiers"},{"title":"Integration Patterns","href":"/developers/integration-patterns"},{"title":"Classroom API Integration","sidebarTitle":"Classroom Integration","href":"/developers/classroom-integration"},{"title":"API Access, Templates, and Support","sidebarTitle":"Access and Support","href":"/developers/access-and-support"},{"title":"API Reference Links","sidebarTitle":"API References","href":"/developers/reference-links"}]},{"group":"Integrations","root":{"title":"Integrations","href":"/integrations/overview"},"pages":[{"title":"Student integration identifiers","href":"/integrations/student-identifiers"},{"title":"ESMOE Excel workflow","href":"/integrations/esmoe"},{"title":"Klapp integration","href":"/integrations/klapp"},{"title":"CDE result API","href":"/integrations/cde"}]}]},"basePath":"","title":"Access PINs - Kralis Docs","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":[],"chunks":[]}