Loading a Digital Twin follows a strict sequence: inject the SDK script, initialize with credentials, poll for readiness, subscribe to events, then start the conversation. Skipping or reordering these steps causes silent failures.This guide walks through each phase using the sdk-sample.js reference implementation.
Inside the script.onload callback, call window.priasdk() with five arguments. It drops the Pria window into your page as an iframe and signs the user in against Pria’s servers (the launch handshake). Once that succeeds, the twin opens its own live connection for streaming replies and voice.
script.onload = () => { // 1. User identity (persistent via cookies) const userConfig = { email: 'user123@example.com', profilename: 'User 123', lticontextid: document.URL }; // 2. Display options const displayOptions = { buttonWidth: '320px', buttonPosition: 'initial', buttonContainerId: 'my-button-container', openOnLoad: false // Keep hidden until conversation starts }; // 3. Initialize — PUBLIC_ID is your Digital Twin's Public ID window.priasdk( 'https://pria.praxislxp.com', // Base URL userConfig, // User identity PUBLIC_ID, // Digital Twin public ID '', // Twin picture URL ('' = default picture) displayOptions // Display configuration ); // 4. Begin polling for readiness waitForReady(setupPria);};
openOnLoad: false is critical. Without it, the user sees a blank chat panel while the backend is still connecting. The UI should only appear after convo.start succeeds.
The SDK needs time to load the iframe and complete the launch handshake with the Pria middleware. Poll isReady() until it returns true.
function waitForReady(callback) { const timer = setInterval(() => { if (window.pria && window.pria.isReady && window.pria.isReady()) { clearInterval(timer); callback(); } }, 100); // Check every 100ms}
isReady() returns true only after the iframe is in place and the launch handshake with the middleware has completed. Never send commands before this returns true.
The NO-SESSION error means the person is not signed in to the Digital Twin yet. The SDK now holds commands until the twin is listening, so this error is rare; the retry stays as a backstop and resolves it within 1-2 attempts.
Sending commands before isReady()If you call pria.send() before the SDK has connected, it throws “Connect Pria first, then retry.” Always gate on isReady(). After that, commands sent before the twin is listening are held (up to 20, for 30 seconds each) and replayed in order — see Knowing when the twin is ready.
Hiding the UI while an admin must confirm it’s themThis sample hides Pria while it connects. When an admin account opens Pria, the panel may ask for a code first (Confirm it’s you), and commands are refused until it is entered. Use the onAuthRequired display option to show the panel — see Confirm it’s you.
Missing subscribe() before convo.startIf you send convo.start without subscribing first, you won’t receive the success response and your UI will never transition from the loading state.
Not handling page unloadCall pria.destroy() on beforeunload to cleanly disconnect the Socket.io session. Without this, the server may hold stale sessions.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"praxis-ai","description":"Pria is an AI-powered digital twin that transforms human expertise into scalable, intelligent assistants for organizations across industries. Originally designed for education, Pria has evolved into a comprehensive middleware solution that captures, preserves, and amplifies institutional knowledge through personalized AI assistants.Pria seamlessly integrates into existing workflows - from learning management systems like Canvas and Moodle to enterprise platforms, websites, and business applications - providing 24/7 expert guidance for complex decision-making, knowledge transfer, and operational excellence. Powered by advanced orchestration technology, Pria leverages multiple Large Language Models (Claude, GPT-5, Gemini, Grok) and natural language processing to create human-like digital twins that understand context, maintain conversation continuity, and execute sophisticated agentic workflows through custom assistant personas.","colors":{"primary":"#5011FD","light":"#9B7BFF","dark":"#5011FD"},"logo":{"light":"https://mintcdn.com/praxisai/6nkK9KsHziJK7eUJ/images/logo/light.svg?fit=max\u0026auto=format\u0026n=6nkK9KsHziJK7eUJ\u0026q=85\u0026s=5d438417be87dbcd1a5749d3173410fc","dark":"https://mintcdn.com/praxisai/6nkK9KsHziJK7eUJ/images/logo/dark.svg?fit=max\u0026auto=format\u0026n=6nkK9KsHziJK7eUJ\u0026q=85\u0026s=86b4975deee6dc59be3442353e2c9e72"},"favicon":"https://mintcdn.com/praxisai/V04kWbMpKOdRS_h5/images/favicon.svg?fit=max\u0026auto=format\u0026n=V04kWbMpKOdRS_h5\u0026q=85\u0026s=0e8c7ce7a5d6b58089449c3d8e687b28","navbar":{"links":[{"href":"https://docs.praxis-ai.com/mdx/contact-support","label":"Support"}],"primary":{"type":"button","label":"Request a Demo","href":"https://praxis-ai.com/contact/"}},"footer":{"socials":{"bluesky":"https://bsky.app/profile/praxis-ai.bsky.social","instagram":"https://www.instagram.com/praxis_ai","x":"https://x.com/AiPraxis","github":"https://gitlab.com/praxis-ai","linkedin":"https://linkedin.com/company/praxis-ai"}},"banner":{"content":"Important update for Canvas users: more security for Canvas login — [read what changes](/mdx/user-guide/lms/canvas-login-security)","dismissible":true},"errors":{"404":{"redirect":true,"title":"Page Not Found","description":"Not Found. Redirecting you to the [Welcome page](/mdx/introduction/welcome)..."}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Innovations Hub","icon":"newspaper","href":"https://praxis-ai.com/innovation-hub/"},{"anchor":"Community Gitlab","icon":"gitlab","href":"https://gitlab.com/praxis-ai/pria-client-sdk"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"praxisai","hasAudioNarration":false,"actualSubdomain":"praxisai","customDomains":["docs.praxis-ai.com"],"gitSource":{"type":"gitlab","owner":"praxis-ai","repo":"pria-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":71806583,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae031f36a75849fc2d3ec9c","collectionId":"8890f21f-c8cf-4387-8db9-4deb7dc762d9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae031f36a75849fc2d3ec9c"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae0500873d36adabcbef1af","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Developer","count":478},{"language":"default","tag":"Runtime API","count":300},{"language":"default","tag":"Administrator API","count":147},{"language":"default","tag":"Admin","count":52},{"language":"default","tag":"Power User","count":33},{"language":"default","tag":"User","count":31},{"language":"default","tag":"Connectors","count":26},{"language":"default","tag":"Presentations","count":26},{"language":"default","tag":"Agents","count":25},{"language":"default","tag":"User Profile","count":24}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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":"editor-version-history-v2","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":"billing-page-v2","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":"editor-agent-model-picker","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"mdx/integrations/web/loading-sequence","slug":"/mdx/integrations/web/loading-sequence","pageMetadata":{"title":"Digital Twin Loading Sequence","description":"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.","icon":"spinner","href":"/mdx/integrations/web/loading-sequence"},"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: \"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.\"\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`,em:`em`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Loading a Digital Twin follows a strict sequence: inject the SDK script, initialize with credentials, poll for readiness, subscribe to events, then start the conversation. Skipping or reordering these steps causes silent failures.`}),`\n`,_jsxs(_components.p,{children:[`This guide walks through each phase using the `,_jsx(_components.a,{href:`https://pria.praxislxp.com/integration-samples/sdk-sample.html`,children:`sdk-sample.js`}),` reference implementation.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`22`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`22`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`DOM Ready`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ init()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ Inject \u003cscript src=\"pria-sdk.js\">`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ onload → priasdk(url, user, publicId, '', display)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ waitForReady() [poll 100ms]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ isReady() === true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ setupPria()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ├─ subscribe(handleResponse)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ button.click →`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ├─ setVisible(false)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ├─ showLoading()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ├─ setTimeout(5s fallback)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ send({ command: 'convo.start' })`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ┌─────┴──────┐`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ▼ ▼`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` pria-response pria-error`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ├─ hideLoading ├─ reset timer`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └─ setVisible └─ retry convo.start`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` (true) (loops until success`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` or timeout)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`phase-1-script-injection`,children:`Phase 1: Script Injection`}),`\n`,_jsx(_components.p,{children:`Wait for the DOM, then dynamically load the SDK script from your Pria server.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`21`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Guard against double-initialization`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`typeof`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`priasdk`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'function'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` script`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createElement`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'script'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`src`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://pria.praxislxp.com/pria-sdk.js'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--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:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`onload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Phase 2 starts here`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`appendChild`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Trigger on DOM ready`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`readyState`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'loading'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`addEventListener`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'DOMContentLoaded'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[`You can inject optional CSS `,_jsx(_components.strong,{children:`before`}),` loading the script to constrain the Pria UI dimensions:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` style`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createElement`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'style'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`style`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`textContent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '#pria_ui { max-width: 380px!important; max-height: 480px!important; }'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`head`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`appendChild`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`style`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`phase-2-sdk-initialization`,children:`Phase 2: SDK Initialization`}),`\n`,_jsxs(_components.p,{children:[`Inside the `,_jsx(_components.code,{children:`script.onload`}),` callback, call `,_jsx(_components.code,{children:`window.priasdk()`}),` with five arguments. It drops the Pria window into your page as an iframe and signs the user in against Pria’s servers (the `,_jsx(_components.em,{children:`launch handshake`}),`). Once that succeeds, the twin opens its own live connection for streaming replies and voice.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`onload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 1. User identity (persistent via cookies)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` userConfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'user123@example.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` profilename:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'User 123'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` lticontextid:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`URL`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 2. Display options`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` displayOptions`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` buttonWidth:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '320px'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` buttonPosition:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'initial'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` buttonContainerId:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'my-button-container'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` openOnLoad:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Keep hidden until conversation starts`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 3. Initialize — PUBLIC_ID is your Digital Twin's Public ID`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`priasdk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://pria.praxislxp.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Base URL`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` userConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// User identity`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` PUBLIC_ID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Digital Twin public ID`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Twin picture URL ('' = default picture)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` displayOptions`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Display configuration`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` );`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 4. Begin polling for readiness`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` waitForReady`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`setupPria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`};`})}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`openOnLoad: false`}),` is critical.`]}),` Without it, the user sees a blank chat panel while the backend is still connecting. The UI should only appear after `,_jsx(_components.code,{children:`convo.start`}),` succeeds.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`persistent-user-identity`,children:`Persistent User Identity`}),`\n`,_jsx(_components.p,{children:`The reference implementation uses cookies to maintain a stable user identity across visits, which preserves conversation history:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`13`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` getUserIdentity`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` now`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Math`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`floor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Date`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`now`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` userId`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` getCookie`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'pria-web-user'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`userId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setCookie`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'pria-web-user'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`now`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`365`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` userId`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` now`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`userId`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"@your-domain.com`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` profilename:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`userId`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" WebUser`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` lticontextid:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`URL`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`phase-3-poll-for-readiness`,children:`Phase 3: Poll for Readiness`}),`\n`,_jsxs(_components.p,{children:[`The SDK needs time to load the iframe and complete the launch handshake with the Pria middleware. Poll `,_jsx(_components.code,{children:`isReady()`}),` until it returns `,_jsx(_components.code,{children:`true`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` waitForReady`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`callback`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` timer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setInterval`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`isReady`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`isReady`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearInterval`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`timer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` callback`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Check every 100ms`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`isReady()`}),` returns `,_jsx(_components.code,{children:`true`}),` only after the iframe is in place and the launch handshake with the middleware has completed. `,_jsxs(_components.strong,{children:[`Never send commands before this returns `,_jsx(_components.code,{children:`true`}),`.`]})]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`phase-4-subscribe-and-setup`,children:`Phase 4: Subscribe and Setup`}),`\n`,_jsx(_components.p,{children:`Once the SDK is ready, subscribe to response events and wire up your UI trigger.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setupPria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 1. Subscribe to all Pria responses`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`subscribe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`handlePriaResponse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 2. Clean up on page unload`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`addEventListener`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'beforeunload'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` typeof`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`destroy`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'function'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`destroy`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 3. Wire the launch button`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` button`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getElementById`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'my-launch-button'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`addEventListener`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'click'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setVisible`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Hide UI during connection`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` showLoading`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Show spinner overlay`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` startResponseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Safety timeout`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`send`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`command:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The button click triggers four actions in sequence:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Hide the Pria UI`}),` — prevents showing an empty chat window`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Show a loading overlay`}),` — gives the user visual feedback`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Start a safety timer`}),` — so the page can recover if the session never comes up (see Phase 5)`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Send `,_jsx(_components.code,{children:`convo.start`})]}),` — tells the backend to initialize the AI session`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`phase-5-response-handling-with-retry`,children:`Phase 5: Response Handling with Retry`}),`\n`,_jsx(_components.p,{children:`The response handler manages two scenarios: successful start and transient connection errors.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`43`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`43`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` RESPONSE_TIMEOUT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 5000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// 5 seconds`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` responseTimer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` startResponseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearResponseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` responseTimer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setTimeout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` hideLoading`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setVisible`}),_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:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Show UI as fallback`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`RESPONSE_TIMEOUT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearResponseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`responseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearTimeout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`responseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` responseTimer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` handlePriaResponse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`command`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` content`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` isError`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`isError`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // SUCCESS — conversation started`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pria-response'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearResponseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` hideLoading`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setVisible`}),_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:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // TRANSIENT ERROR — backend not ready yet, retry`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pria-error'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` isError`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`content`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`includes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'NO-SESSION'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`||`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`includes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'not connected'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Reset the timeout to give more time`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` startResponseTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Retry immediately`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`send`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`command:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`how-the-retry-loop-works`,children:`How the Retry Loop Works`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Event`}),_jsx(_components.th,{children:`Action`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`convo.start`}),` sent`]}),_jsx(_components.td,{children:`5-second timeout starts`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`pria-response`}),` with `,_jsx(_components.code,{children:`convo.start`})]}),_jsx(_components.td,{children:`Timer cleared, loading hidden, UI shown`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`pria-error`}),` with `,_jsx(_components.code,{children:`NO-SESSION`})]}),_jsxs(_components.td,{children:[`Timer reset (another 5s), `,_jsx(_components.code,{children:`convo.start`}),` retried`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Timeout fires (no response)`}),_jsx(_components.td,{children:`Loading hidden, UI shown as fallback`})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`NO-SESSION`}),` error means the person is not signed in to the Digital Twin yet. The SDK now holds commands until the twin is listening, so this error is rare; the retry stays as a backstop and resolves it within 1-2 attempts.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`loading-overlay`,children:`Loading Overlay`}),`\n`,_jsx(_components.p,{children:`Provide visual feedback while the Digital Twin connects. The reference implementation uses a full-screen overlay with a spinner:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` createLoadingOverlay`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` overlay`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createElement`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'div'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` overlay`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pria-loading-overlay'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` overlay`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`innerHTML`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\"})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \u003cdiv class=\"pria-loading-content\">`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \u003cdiv class=\"pria-loading-spinner\">\u003c/div>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \u003cspan>Connecting to your Digital Twin...\u003c/span>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \u003c/div>`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` overlay`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`style`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`cssText`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\"})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` position: fixed; top: 0; left: 0; right: 0; bottom: 0;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` background: rgba(0, 0, 0, 0.5);`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` display: flex; align-items: center; justify-content: center;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` z-index: 99999;`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` overlay`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`css`,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:`css`,children:_jsxs(_components.code,{language:`css`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D7BA7D`},children:`.pria-loading-content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` background`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:`white`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` padding`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`24`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 32`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` border-radius`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`12`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` display`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:`flex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` align-items`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:`center`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` gap`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`16`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` font-family`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`-apple-system`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, BlinkMacSystemFont, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Segoe UI'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, Roboto, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:`sans-serif`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` box-shadow`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 4`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` rgba`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D7BA7D`},children:`.pria-loading-spinner`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` width`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`24`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`height`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`24`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` border`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`px`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:` solid`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:` #e0e0e0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` border-top-color`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:`#3B82F6`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` border-radius`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`50`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`%`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` animation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: pria-spin `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`s`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:` linear`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#CE9178`},children:` infinite`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`@keyframes`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` pria-spin`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`to`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`transform`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`rotate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`360`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#B5CEA8`},children:`deg`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); } }`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`complete-minimal-example`,children:`Complete Minimal Example`}),`\n`,_jsx(_components.p,{children:`Putting it all together — a minimal working integration:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`74`,language:`html`,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:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`74`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c!`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`DOCTYPE`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` html`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`html`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`head`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`meta`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` charset`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"UTF-8\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`title`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Digital Twin`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`title`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`head`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`button`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"start-btn\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Talk to Digital Twin`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`div`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pria-btn-container\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`div`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` BASE_URL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://pria.praxislxp.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` PUBLIC_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'your-public-id-here'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` TIMEOUT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 5000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` timer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` startTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` timer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setTimeout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setVisible`}),_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:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`TIMEOUT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`timer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) { `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`clearTimeout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`timer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`timer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` handleResponse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pria-response'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` clearTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setVisible`}),_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:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pria-error'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`command`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`includes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'NO-SESSION'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`||`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`includes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'not connected'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` startTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`send`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`command:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setup`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`subscribe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`handleResponse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getElementById`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'start-btn'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`addEventListener`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'click'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setVisible`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` startTimer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`send`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`command:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'convo.start'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` waitReady`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`cb`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` t`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` setInterval`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pria`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`isReady`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.()) { `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`clearInterval`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`t`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`cb`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(); }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Boot`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` s`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createElement`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'script'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` s`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`src`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` BASE_URL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '/pria-sdk.js'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` s`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`onload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`priasdk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`BASE_URL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'guest@example.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` profilename:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Guest'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`PUBLIC_ID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` buttonContainerId:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pria-btn-container'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` openOnLoad:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` waitReady`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`setup`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`appendChild`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`s`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` })();`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`html`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`common-pitfalls`,children:`Common Pitfalls`}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsxs(_components.strong,{children:[`Sending commands before `,_jsx(_components.code,{children:`isReady()`})]})}),_jsxs(_components.p,{children:[`If you call `,_jsx(_components.code,{children:`pria.send()`}),` before the SDK has connected, it throws “Connect Pria first, then retry.” Always gate on `,_jsx(_components.code,{children:`isReady()`}),`. After that, commands sent before the twin is listening are held (up to 20, for 30 seconds each) and replayed in order — see `,_jsx(_components.a,{href:`/mdx/sdk/javascript#knowing-when-the-twin-is-ready`,children:`Knowing when the twin is ready`}),`.`]})]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Hiding the UI while an admin must confirm it’s them`})}),_jsxs(_components.p,{children:[`This sample hides Pria while it connects. When an admin account opens Pria, the panel may ask for a code first (`,_jsx(_components.strong,{children:`Confirm it’s you`}),`), and commands are refused until it is entered. Use the `,_jsx(_components.code,{children:`onAuthRequired`}),` display option to show the panel — see `,_jsx(_components.a,{href:`/mdx/integrations/web/introduction#confirm-its-you-onauthrequired`,children:`Confirm it’s you`}),`.`]})]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsxs(_components.strong,{children:[`Missing `,_jsx(_components.code,{children:`subscribe()`}),` before `,_jsx(_components.code,{children:`convo.start`})]})}),_jsxs(_components.p,{children:[`If you send `,_jsx(_components.code,{children:`convo.start`}),` without subscribing first, you won’t receive the success response and your UI will never transition from the loading state.`]})]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Not handling page unload`})}),_jsxs(_components.p,{children:[`Call `,_jsx(_components.code,{children:`pria.destroy()`}),` on `,_jsx(_components.code,{children:`beforeunload`}),` to cleanly disconnect the Socket.io session. Without this, the server may hold stale sessions.`]})]})]})}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":"Digital Twin Loading Sequence","description":"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.","icon":"spinner","href":"/mdx/integrations/web/loading-sequence"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Phase 1: Script Injection","slug":"phase-1-script-injection","depth":2,"children":[]},{"title":"Phase 2: SDK Initialization","slug":"phase-2-sdk-initialization","depth":2,"children":[{"title":"Persistent User Identity","slug":"persistent-user-identity","depth":3,"children":[]}]},{"title":"Phase 3: Poll for Readiness","slug":"phase-3-poll-for-readiness","depth":2,"children":[]},{"title":"Phase 4: Subscribe and Setup","slug":"phase-4-subscribe-and-setup","depth":2,"children":[]},{"title":"Phase 5: Response Handling with Retry","slug":"phase-5-response-handling-with-retry","depth":2,"children":[{"title":"How the Retry Loop Works","slug":"how-the-retry-loop-works","depth":3,"children":[]}]},{"title":"Loading Overlay","slug":"loading-overlay","depth":2,"children":[]},{"title":"Complete Minimal Example","slug":"complete-minimal-example","depth":2,"children":[]},{"title":"Common Pitfalls","slug":"common-pitfalls","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"praxisai","siteName":"praxis-ai","title":"Digital Twin Loading Sequence - praxis-ai","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-10T08:41:36.340Z","originalFileLocation":"mdx/integrations/web/loading-sequence.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=\"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.\">\u003cmeta data-mint-head name=\"application-name\" content=\"praxis-ai\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_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/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_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/praxisai/XTh1KbQ9ZEBjlBJJ/_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/praxisai/XTh1KbQ9ZEBjlBJJ/_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/praxisai/XTh1KbQ9ZEBjlBJJ/_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/praxisai/XTh1KbQ9ZEBjlBJJ/_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/praxisai/XTh1KbQ9ZEBjlBJJ/_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/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Digital Twin Loading Sequence - praxis-ai\">\u003cmeta data-mint-head property=\"og:description\" content=\"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"praxis-ai\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://praxisai.mintlify.app/_mintlify/api/og/v2?division=Web+%26+Chat+Integrations\u0026amp;title=Digital+Twin+Loading+Sequence\u0026amp;description=Step-by-step+guide+to+the+SDK+initialization+lifecycle+%E2%80%94+from+script+injection+to+conversation+start.\u0026amp;theme=3e471d4a71780917dfd4dd5f\u0026amp;signature=ba6a5b2ba2ccf43d9b59b5980d26842cc997f1518f11f4bc494285d07641549b\">\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=\"Digital Twin Loading Sequence - praxis-ai\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://praxisai.mintlify.app/_mintlify/api/og/v2?division=Web+%26+Chat+Integrations\u0026amp;title=Digital+Twin+Loading+Sequence\u0026amp;description=Step-by-step+guide+to+the+SDK+initialization+lifecycle+%E2%80%94+from+script+injection+to+conversation+start.\u0026amp;theme=3e471d4a71780917dfd4dd5f\u0026amp;signature=ba6a5b2ba2ccf43d9b59b5980d26842cc997f1518f11f4bc494285d07641549b\">\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/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"praxis-ai\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5011FD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/mdx/integrations/web/loading-sequence.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.praxis-ai.com/#organization\",\"name\":\"praxis-ai\",\"url\":\"https://docs.praxis-ai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/praxisai/6nkK9KsHziJK7eUJ/images/logo/light.svg?fit=max\u0026auto=format\u0026n=6nkK9KsHziJK7eUJ\u0026q=85\u0026s=5d438417be87dbcd1a5749d3173410fc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.praxis-ai.com#website\",\"name\":\"praxis-ai\",\"url\":\"https://docs.praxis-ai.com\",\"publisher\":{\"@id\":\"https://docs.praxis-ai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence#webpage\",\"url\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence\",\"name\":\"Digital Twin Loading Sequence\",\"description\":\"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.\",\"dateModified\":\"2026-10-10T08:41:36.340Z\",\"isPartOf\":{\"@id\":\"https://docs.praxis-ai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Web \u0026 Chat Integrations\",\"item\":\"https://docs.praxis-ai.com/mdx/integrations/chat-completions/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Digital Twin Loading Sequence\",\"item\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence#article\",\"headline\":\"Digital Twin Loading Sequence\",\"name\":\"Digital Twin Loading Sequence\",\"description\":\"Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start.\",\"url\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence\",\"mainEntityOfPage\":{\"@id\":\"https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence#webpage\"},\"dateModified\":\"2026-10-10T08:41:36.340Z\",\"publisher\":{\"@id\":\"https://docs.praxis-ai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.praxis-ai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"praxis-ai\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"praxis-ai","nav":{"global":{"anchors":[{"anchor":"Innovations Hub","icon":"newspaper","href":"https://praxis-ai.com/innovation-hub/"},{"anchor":"Community Gitlab","icon":"gitlab","href":"https://gitlab.com/praxis-ai/pria-client-sdk"}]},"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/mdx/introduction/welcome"}]},{"tab":"New User","pages":[{"title":"New User","href":"/mdx/user-guide/introduction"}]},{"tab":"Power User","pages":[{"title":"Power User","href":"/mdx/user-guide/capabilities/content-creation"}]},{"tab":"Admin","pages":[{"title":"Admin","href":"/mdx/admin-guide/introduction"}]},{"tab":"Developer","groups":[{"group":"Overview","pages":[{"title":"Overview","icon":"rocket","href":"/mdx/integrations/overview"}]},{"group":"Getting Started","pages":[{"title":"Getting Started","icon":"compass","href":"/mdx/developer/getting-started"}]},{"group":"LMS Integrations","pages":[{"title":"Overview","icon":"puzzle-piece","href":"/mdx/integrations/canvas/overview"},{"title":"Custom Theme","icon":"code-fork","href":"/mdx/integrations/canvas/theme"},{"title":"Theme Tools","icon":"wand-magic-sparkles","href":"/mdx/integrations/canvas/theme-tools"},{"title":"LTI 1.3 for Canvas","icon":"globe","href":"/mdx/integrations/canvas/lti-1-3"},{"title":"Pria Tools","icon":"wrench","href":"/mdx/integrations/canvas/pria-tools"},{"title":"Canvas Scopes Reference","icon":"shield-halved","href":"/mdx/integrations/canvas/pria-tools-scopes"},{"title":"D2L Brightspace","icon":"globe","href":"/mdx/integrations/d2l/introduction"},{"title":"Blackboard Learn","icon":"globe","href":"/mdx/integrations/blackboard/introduction"},{"title":"Moodle","icon":"globe","href":"/mdx/integrations/moodle/introduction"}]},{"group":"Voice \u0026 Avatars","pages":[{"title":"Voice \u0026 Realtime Providers","icon":"microphone","href":"/mdx/integrations/voice-providers/overview"},{"title":"ElevenLabs Voice Agent","icon":"wave-square","href":"/mdx/integrations/elevenlabs/introduction"},{"title":"Gemini Live Voice","icon":"microphone-lines","href":"/mdx/integrations/gemini-live/introduction"},{"title":"Anam Avatar","icon":"user","href":"/mdx/integrations/anam/introduction"}]},{"group":"Web \u0026 Chat Integrations","pages":[{"title":"Chat Completions API","icon":"comments","href":"/mdx/integrations/chat-completions/introduction"},{"title":"Embed your Digital Twin","icon":"puzzle-piece","href":"/mdx/integrations/web/introduction"},{"title":"Guest Twin Links","description":"Give a Digital Twin a public web address anyone can open — no sign-in, no embedding code","icon":"link","href":"/mdx/integrations/web/guest-links"},{"title":"Digital Twin Loading Sequence","icon":"spinner","href":"/mdx/integrations/web/loading-sequence"},{"title":"Avatar Embed Widget","description":"Put your Digital Twin's talking avatar on any external website — visitors converse with it without signing in to Pria.","icon":"user-astronaut","href":"/mdx/integrations/web/avatar-widget"},{"title":"Websites Examples","icon":"globe","href":"/mdx/integrations/web/examples"}]},{"group":"MCP Server","pages":[{"title":"MCP Server","icon":"brain","href":"/mdx/integrations/mcp/introduction"},{"title":"Verified identity","icon":"shield-check","href":"/mdx/integrations/mcp/verified-identity"}]},{"group":"JavaScript SDK","pages":[{"title":"JavaScript SDK","sidebarTitle":"JavaScript","icon":"code","href":"/mdx/sdk/javascript"},{"title":"JavaScript SDK Examples","icon":"code","href":"/mdx/sdk/javascript-examples"},{"title":"Object Definitions","icon":"cubes","href":"/mdx/sdk/object-definitions"}]},{"group":"Authentication","pages":[{"title":"Authentication Overview","icon":"lock","href":"/mdx/integrations/authentication/overview"},{"title":"Social Login (Google, Microsoft, Apple, GitHub, Facebook)","icon":"circle-user","href":"/mdx/integrations/authentication/social-oauth"},{"title":"Enterprise SSO","icon":"building","href":"/mdx/integrations/authentication/enterprise-sso"}]},{"group":"REST API","pages":[{"title":"Introduction","icon":"circle-info","href":"/mdx/api-reference/introduction"},{"title":"Streaming Responses (SSE \u0026 Socket.IO)","icon":"tower-broadcast","href":"/mdx/api-reference/streaming"}]},{"group":"Runtime API","pages":[{"group":"Testing","pages":[{"title":"Check status of the middleware application","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/test/health","href":"/api-reference/testing/check-status-of-the-middleware-application"},{"title":"Retrieves an institution and validates user access for a specific context","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/test/url","href":"/api-reference/testing/retrieves-an-institution-and-validates-user-access-for-a-specific-context"}]},{"group":"Branding","pages":[{"title":"Retrieve branding information for a digital twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/agent/branding","href":"/api-reference/branding/retrieve-branding-information-for-a-digital-twin"},{"title":"Resolve a public twin widget by its web-access slug","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/agent/twins/{slug}","href":"/api-reference/branding/resolve-a-public-twin-widget-by-its-web-access-slug"}]},{"group":"Authentication","pages":[{"title":"Register a new user","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/signup","href":"/api-reference/authentication/register-a-new-user"},{"title":"Generate password reset code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/generateResetCode","href":"/api-reference/authentication/generate-password-reset-code"},{"title":"Validate password reset code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/checkResetCode","href":"/api-reference/authentication/validate-password-reset-code"},{"title":"Change user password","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/changePassword","href":"/api-reference/authentication/change-user-password"},{"title":"Validate account activation code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/checkActivateCode","href":"/api-reference/authentication/validate-account-activation-code"},{"title":"User authentication and sign-in","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/signin","href":"/api-reference/authentication/user-authentication-and-sign-in"},{"title":"Automatic user signup and authentication","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/autosignup","href":"/api-reference/authentication/automatic-user-signup-and-authentication"},{"title":"Sign in with Apple (native)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/apple","href":"/api-reference/authentication/sign-in-with-apple-native"},{"title":"Generate Digital Twin instructions from Q\u0026A","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/generate-prompt-preview","href":"/api-reference/authentication/generate-digital-twin-instructions-from-q\u0026a"},{"title":"Exchange a Pria API key for a JWT","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/api-key-signin","href":"/api-reference/authentication/exchange-a-pria-api-key-for-a-jwt"},{"title":"Submit a 6-digit MFA code to complete login","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/mfa-verify","href":"/api-reference/authentication/submit-a-6-digit-mfa-code-to-complete-login"},{"title":"Request a new MFA code for the current challenge","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/mfa-resend","href":"/api-reference/authentication/request-a-new-mfa-code-for-the-current-challenge"},{"title":"Abandon the current MFA challenge (user clicked Cancel)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/mfa-cancel","href":"/api-reference/authentication/abandon-the-current-mfa-challenge-user-clicked-cancel"}]},{"group":"OAuth","pages":[{"title":"Initiate SSO login","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/sso/{id}","href":"/api-reference/oauth/initiate-sso-login"},{"title":"SSO callback","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sso_callback","href":"/api-reference/oauth/sso-callback"},{"title":"GitHub Marketplace webhook receiver","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/github/webhook","href":"/api-reference/oauth/github-marketplace-webhook-receiver"},{"title":"Start the Google Services (per-user) OAuth consent flow","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/services/authorize","href":"/api-reference/oauth/start-the-google-services-per-user-oauth-consent-flow"},{"title":"Google Services OAuth callback","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/services/callback","href":"/api-reference/oauth/google-services-oauth-callback"},{"title":"Validate the caller's stored Google Services token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/services/validate","href":"/api-reference/oauth/validate-the-callers-stored-google-services-token"},{"title":"Revoke the caller's stored Google Services token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/auth/google/services/revoke","href":"/api-reference/oauth/revoke-the-callers-stored-google-services-token"},{"title":"Start the Google OAuth flow for an institution-level token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/institution/authorize","href":"/api-reference/oauth/start-the-google-oauth-flow-for-an-institution-level-token"},{"title":"Validate an institution's stored Google token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/institution/{institutionId}/validate","href":"/api-reference/oauth/validate-an-institutions-stored-google-token"},{"title":"Revoke an institution's stored Google token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/auth/google/institution/{institutionId}/revoke","href":"/api-reference/oauth/revoke-an-institutions-stored-google-token"},{"title":"Complete the Canvas LMS API authorization handoff","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/token_complete","href":"/api-reference/oauth/complete-the-canvas-lms-api-authorization-handoff"}]},{"group":"Institutions","pages":[{"title":"Get institutions for LTI context","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/getInstitutionsForContextid","href":"/api-reference/institutions/get-institutions-for-lti-context"},{"title":"Create a Digital Twin for a Canvas course","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/createInstitutionForContextid","href":"/api-reference/institutions/create-a-digital-twin-for-a-canvas-course"},{"title":"Check the upgrade to create Digital Twins","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/twin-upgrade","href":"/api-reference/institutions/check-the-upgrade-to-create-digital-twins"},{"title":"Upgrade to create Digital Twins","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/twin-upgrade","href":"/api-reference/institutions/upgrade-to-create-digital-twins"},{"title":"Update institution settings","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/institution","href":"/api-reference/institutions/update-institution-settings"},{"title":"Create a Digital Twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/institution","href":"/api-reference/institutions/create-a-digital-twin"},{"title":"Fetch lazy-loaded institution about markdown","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/institutionAbout","href":"/api-reference/institutions/fetch-lazy-loaded-institution-about-markdown"},{"title":"A Digital Twin's about and its numbers of files and assistants","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/twinSummary","href":"/api-reference/institutions/a-digital-twins-about-and-its-numbers-of-files-and-assistants"}]},{"group":"SDK Launch","pages":[{"title":"Sign SDK launch parameters","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-sign","href":"/api-reference/sdk-launch/sign-sdk-launch-parameters"},{"title":"Verify SDK launch token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-verify","href":"/api-reference/sdk-launch/verify-sdk-launch-token"},{"title":"Course-wide Hide Pria for everyone toggle","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-hide","href":"/api-reference/sdk-launch/course-wide-hide-pria-for-everyone-toggle"},{"title":"A teacher disconnects a disabled Digital Twin from its Canvas course","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-unlink-course","href":"/api-reference/sdk-launch/a-teacher-disconnects-a-disabled-digital-twin-from-its-canvas-course"}]},{"group":"User","pages":[{"title":"Fork a platform definition into a new user definition.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/fleet-tasks/customize","href":"/api-reference/user/fork-a-platform-definition-into-a-new-user-definition"},{"title":"Update one of the caller's authored definitions.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/agents/fleet-tasks/{slug}","href":"/api-reference/user/update-one-of-the-callers-authored-definitions"},{"title":"Delete (soft) one of the caller's authored definitions.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/agents/fleet-tasks/{slug}","href":"/api-reference/user/delete-soft-one-of-the-callers-authored-definitions"},{"title":"Hide or show an institution definition for the caller.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/fleet-tasks/{slug}/twin-disable","href":"/api-reference/user/hide-or-show-an-institution-definition-for-the-caller"},{"title":"List the caller's saved agent workflows.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/workflows","href":"/api-reference/user/list-the-callers-saved-agent-workflows"},{"title":"Create a saved agent workflow.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/workflows","href":"/api-reference/user/create-a-saved-agent-workflow"},{"title":"Read one of the caller's workflows.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/workflows/{id}","href":"/api-reference/user/read-one-of-the-callers-workflows"},{"title":"Delete one of the caller's workflows.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/agents/workflows/{id}","href":"/api-reference/user/delete-one-of-the-callers-workflows"},{"title":"Update one of the caller's workflows.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/agents/workflows/{id}","href":"/api-reference/user/update-one-of-the-callers-workflows"},{"title":"Run one of the caller's workflows now.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/workflows/{id}/run","href":"/api-reference/user/run-one-of-the-callers-workflows-now"},{"title":"Run history for one of the caller's workflows.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/workflows/{id}/runs","href":"/api-reference/user/run-history-for-one-of-the-callers-workflows"},{"title":"Credit-cap gauges and block state for the caller's current institution.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/credit-cap-status","href":"/api-reference/user/credit-cap-gauges-and-block-state-for-the-callers-current-institution"},{"title":"Per-dialog context-composition breakdown for the InfoCard 10×10 grid.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/history/{id}/composition","href":"/api-reference/user/per-dialog-context-composition-breakdown-for-the-infocard-10×10-grid"},{"title":"Save a meeting transcript record to the owner's personal vault","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/history/{id}/meeting-transcript/vault","href":"/api-reference/user/save-a-meeting-transcript-record-to-the-owners-personal-vault"},{"title":"Platform choices for the per-mode subagent seat grid.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/subagentSeatOptions","href":"/api-reference/user/platform-choices-for-the-per-mode-subagent-seat-grid"},{"title":"Twin Home — a Digital Twin's week at a glance (twin admins)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/twin-home/{institutionId}","href":"/api-reference/user/twin-home-—-a-digital-twins-week-at-a-glance-twin-admins"},{"title":"Conversation Review inbox — conversations to review for a twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/conversation-review/list","href":"/api-reference/user/conversation-review-inbox-—-conversations-to-review-for-a-twin"},{"title":"Resolve, dismiss or reopen a review","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/conversation-review/{id}","href":"/api-reference/user/resolve-dismiss-or-reopen-a-review"},{"title":"Add the right answer to the twin's Knowledge and resolve the review","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/conversation-review/{id}/knowledge","href":"/api-reference/user/add-the-right-answer-to-the-twins-knowledge-and-resolve-the-review"},{"title":"Per-bucket credits spent for the calling user within an instance scope","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/usage-history","href":"/api-reference/user/per-bucket-credits-spent-for-the-calling-user-within-an-instance-scope"},{"title":"Set the authorized-source allowlist for the caller's personal API key","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/api-key/sources","href":"/api-reference/user/set-the-authorized-source-allowlist-for-the-callers-personal-api-key"},{"title":"Update user profile or change password","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/me","href":"/api-reference/user/update-user-profile-or-change-password"},{"title":"Dismiss the welcome message","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/personal-welcome-dismiss","href":"/api-reference/user/dismiss-the-welcome-message"},{"title":"Upload profile picture","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/uploadPicture","href":"/api-reference/user/upload-profile-picture"},{"title":"Get custom AI models","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/customModels","href":"/api-reference/user/get-custom-ai-models"},{"title":"Get system AI models","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/systemModels","href":"/api-reference/user/get-system-ai-models"},{"title":"Observe RunPod model readiness","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/runpod/status","href":"/api-reference/user/observe-runpod-model-readiness"},{"title":"Start, reconcile, or release bounded RunPod warm-up demand","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/runpod/warm","href":"/api-reference/user/start-reconcile-or-release-bounded-runpod-warm-up-demand"},{"title":"Refresh user profile data","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/refresh/profile","href":"/api-reference/user/refresh-user-profile-data"},{"title":"Refresh user entitlements and permissions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/refresh/entitlements","href":"/api-reference/user/refresh-user-entitlements-and-permissions"},{"title":"Usage-vs-cap reporting for one person, or an account's at-limit counts.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/usage-limits","href":"/api-reference/user/usage-vs-cap-reporting-for-one-person-or-an-accounts-at-limit-counts"}]},{"group":"Agentspace","pages":[{"title":"List worker-backed deployments of a project","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agentspace/{projectId}/deployments","href":"/api-reference/agentspace/list-worker-backed-deployments-of-a-project"},{"title":"Status of one deployment service (registry + guest supervisor observation)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agentspace/{projectId}/deployments/{serviceId}","href":"/api-reference/agentspace/status-of-one-deployment-service-registry-+-guest-supervisor-observation"},{"title":"Publish the revision served by a READY release service (expected-head CAS)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agentspace/{projectId}/deployments/{serviceId}/publish","href":"/api-reference/agentspace/publish-the-revision-served-by-a-ready-release-service-expected-head-cas"},{"title":"Roll the published head back to a retained prior revision (expected-head CAS)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agentspace/{projectId}/deployments/{serviceId}/rollback","href":"/api-reference/agentspace/roll-the-published-head-back-to-a-retained-prior-revision-expected-head-cas"},{"title":"Stop one service instance, fenced on its generation","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agentspace/{projectId}/deployments/{serviceId}/stop","href":"/api-reference/agentspace/stop-one-service-instance-fenced-on-its-generation"},{"title":"Bounded, cursor-resumable, redacted service logs","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agentspace/{projectId}/deployments/{serviceId}/logs","href":"/api-reference/agentspace/bounded-cursor-resumable-redacted-service-logs"},{"title":"Mint a short-lived private dev-preview capability for the caller","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agentspace/{projectId}/dev/{serviceId}/preview","href":"/api-reference/agentspace/mint-a-short-lived-private-dev-preview-capability-for-the-caller"}]},{"group":"Connectors","pages":[{"title":"Connector framework availability","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/status","href":"/api-reference/connectors/connector-framework-availability"},{"title":"The connectors Pria offers (manifests, no secrets)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/catalog","href":"/api-reference/connectors/the-connectors-pria-offers-manifests-no-secrets"},{"title":"Your connections (plus your twin's shared ones when you administer it)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/connections","href":"/api-reference/connectors/your-connections-plus-your-twins-shared-ones-when-you-administer-it"},{"title":"Add a Stripe connection from a restricted read-only key","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/connectors/connections/stripe","href":"/api-reference/connectors/add-a-stripe-connection-from-a-restricted-read-only-key"},{"title":"Connect a Postgres or MongoDB database through Pria's static egress IP","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/connectors/connections/database/{kind}","href":"/api-reference/connectors/connect-a-postgres-or-mongodb-database-through-prias-static-egress-ip"},{"title":"How to prove control of a database address another organisation connected first","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/connections/{id}/verification","href":"/api-reference/connectors/how-to-prove-control-of-a-database-address-another-organisation-connected-first"},{"title":"Prove control of the database address (DNS TXT record or a token in the database)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/connectors/connections/{id}/verify","href":"/api-reference/connectors/prove-control-of-the-database-address-dns-txt-record-or-a-token-in-the-database"},{"title":"Remove a connection whose key was pasted here (Stripe)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/connectors/connections/{id}","href":"/api-reference/connectors/remove-a-connection-whose-key-was-pasted-here-stripe"},{"title":"Bindings of one of your connections","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/connections/{id}/bindings","href":"/api-reference/connectors/bindings-of-one-of-your-connections"},{"title":"Create a binding (who may use the connection, for what, on which files)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/connectors/connections/{id}/bindings","href":"/api-reference/connectors/create-a-binding-who-may-use-the-connection-for-what-on-which-files"},{"title":"Remove a binding","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/connectors/bindings/{id}","href":"/api-reference/connectors/remove-a-binding"},{"title":"Edit a binding (narrowing it revokes its session approvals)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/connectors/bindings/{id}","href":"/api-reference/connectors/edit-a-binding-narrowing-it-revokes-its-session-approvals"},{"title":"Google Picker session for the binding editor (owner only; off unless configured)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/connectors/connections/{id}/picker","href":"/api-reference/connectors/google-picker-session-for-the-binding-editor-owner-only;-off-unless-configured"},{"title":"Access log of one of your connections (decisions, never arguments)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/connections/{id}/calls","href":"/api-reference/connectors/access-log-of-one-of-your-connections-decisions-never-arguments"},{"title":"Connector writes waiting for YOUR approval (you own the connection)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/approvals/pending","href":"/api-reference/connectors/connector-writes-waiting-for-your-approval-you-own-the-connection"},{"title":"Approve or deny one connector write (once, or all for this session)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/connectors/approvals/{approvalId}","href":"/api-reference/connectors/approve-or-deny-one-connector-write-once-or-all-for-this-session"},{"title":"Your active approve-all-for-this-session grants","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/grants","href":"/api-reference/connectors/your-active-approve-all-for-this-session-grants"},{"title":"Revoke one of your session grants","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/connectors/grants/{id}","href":"/api-reference/connectors/revoke-one-of-your-session-grants"},{"title":"Institution admins — every connection in the institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/admin/connections","href":"/api-reference/connectors/institution-admins-—-every-connection-in-the-institution"},{"title":"Institution admins — every active session grant","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/admin/grants","href":"/api-reference/connectors/institution-admins-—-every-active-session-grant"},{"title":"Institution admins — pending connector write approvals (see only; the owner decides)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/connectors/admin/approvals","href":"/api-reference/connectors/institution-admins-—-pending-connector-write-approvals-see-only;-the-owner-decides"},{"title":"Institution admins — revoke a connection","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/connectors/admin/connections/{id}","href":"/api-reference/connectors/institution-admins-—-revoke-a-connection"},{"title":"Institution admins — revoke a session grant","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/connectors/admin/grants/{id}","href":"/api-reference/connectors/institution-admins-—-revoke-a-session-grant"},{"title":"List the caller's pending MCP connector approvals","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/mcp-approvals/pending","href":"/api-reference/connectors/list-the-callers-pending-mcp-connector-approvals"},{"title":"Approve or deny one pending MCP connector call","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/mcp-approvals/{id}","href":"/api-reference/connectors/approve-or-deny-one-pending-mcp-connector-call"},{"title":"Check whether this session may decide MCP approvals now","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/mcp-approvals/step-up","href":"/api-reference/connectors/check-whether-this-session-may-decide-mcp-approvals-now"}]},{"group":"Email proposals","pages":[{"title":"List the emails a conversation turn prepared for you to send","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/email-proposals","href":"/api-reference/email-proposals/list-the-emails-a-conversation-turn-prepared-for-you-to-send"},{"title":"Send a prepared email","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/email-proposals/{id}/send","href":"/api-reference/email-proposals/send-a-prepared-email"},{"title":"Discard a prepared email without sending it","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/email-proposals/{id}/decline","href":"/api-reference/email-proposals/discard-a-prepared-email-without-sending-it"}]},{"group":"Assistants","pages":[{"title":"Add an assistant to the caller's favorites","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/favoriteAssistants/{id}","href":"/api-reference/assistants/add-an-assistant-to-the-callers-favorites"},{"title":"Remove an assistant from the caller's favorites","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/favoriteAssistants/{id}","href":"/api-reference/assistants/remove-an-assistant-from-the-callers-favorites"},{"title":"Search and retrieve assistants","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/assistants","href":"/api-reference/assistants/search-and-retrieve-assistants"},{"title":"Create a new assistant","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/assistant","href":"/api-reference/assistants/create-a-new-assistant"},{"title":"Get a single assistant by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/assistant/{id}","href":"/api-reference/assistants/get-a-single-assistant-by-id"},{"title":"Update an existing assistant","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/assistant/{id}","href":"/api-reference/assistants/update-an-existing-assistant"},{"title":"Soft-delete an assistant","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/assistant/{id}","href":"/api-reference/assistants/soft-delete-an-assistant"},{"title":"Increment an assistant's liked count","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/assistantLikesCount/{id}","href":"/api-reference/assistants/increment-an-assistants-liked-count"}]},{"group":"RAG","pages":[{"title":"Search file content via RAG-KAG and return scored snippets","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/files/search-content","href":"/api-reference/rag/search-file-content-via-rag-kag-and-return-scored-snippets"},{"title":"Get embedding chunks for an upload","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/embeddings","href":"/api-reference/rag/get-embedding-chunks-for-an-upload"},{"title":"Create a new embedding chunk","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/embedding","href":"/api-reference/rag/create-a-new-embedding-chunk"},{"title":"Update an embedding chunk","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/embedding/{id}","href":"/api-reference/rag/update-an-embedding-chunk"},{"title":"Delete an embedding chunk","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/embedding/{id}","href":"/api-reference/rag/delete-an-embedding-chunk"},{"title":"Sanitize an embedding chunk with AI","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/embedding/{id}/sanitize","href":"/api-reference/rag/sanitize-an-embedding-chunk-with-ai"},{"title":"Search RAG content for user using a specified query string","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/searchRag","href":"/api-reference/rag/search-rag-content-for-user-using-a-specified-query-string"}]},{"group":"User Profile","pages":[{"title":"Estimate cost of processing personal-vault files through KAG extraction","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/kag/personal/backfill-quote","href":"/api-reference/user-profile/estimate-cost-of-processing-personal-vault-files-through-kag-extraction"},{"title":"Start (or resume) KAG backfill for the caller's personal vault","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/kag/personal/backfill","href":"/api-reference/user-profile/start-or-resume-kag-backfill-for-the-callers-personal-vault"},{"title":"Aggregate status of the caller's personal-vault KAG jobs","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/kag/personal/backfill/status","href":"/api-reference/user-profile/aggregate-status-of-the-callers-personal-vault-kag-jobs"},{"title":"Cancel the caller's in-progress personal KAG backfill","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/kag/personal/backfill/active","href":"/api-reference/user-profile/cancel-the-callers-in-progress-personal-kag-backfill"},{"title":"Estimate cost of processing a Digital Twin's files through KAG extraction","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/institution/{id}/kag/backfill-quote","href":"/api-reference/user-profile/estimate-cost-of-processing-a-digital-twins-files-through-kag-extraction"},{"title":"Read-only funnel diagnostic for a Digital Twin's KAG backfill quote","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/institution/{id}/kag/backfill-diagnose","href":"/api-reference/user-profile/read-only-funnel-diagnostic-for-a-digital-twins-kag-backfill-quote"},{"title":"Start (or resume) KAG backfill for a Digital Twin's vault","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/institution/{id}/kag/backfill","href":"/api-reference/user-profile/start-or-resume-kag-backfill-for-a-digital-twins-vault"},{"title":"Aggregate status of a Digital Twin's KAG jobs","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/institution/{id}/kag/backfill/status","href":"/api-reference/user-profile/aggregate-status-of-a-digital-twins-kag-jobs"},{"title":"Cancel a Digital Twin's in-progress KAG backfill","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/institution/{id}/kag/backfill/active","href":"/api-reference/user-profile/cancel-a-digital-twins-in-progress-kag-backfill"},{"title":"Send a verification code to prove email ownership (post-enable enrollment)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/mfa-enroll","href":"/api-reference/user-profile/send-a-verification-code-to-prove-email-ownership-post-enable-enrollment"},{"title":"Dismiss the enable-MFA nudge for 7 days","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/mfa-prompt-dismiss","href":"/api-reference/user-profile/dismiss-the-enable-mfa-nudge-for-7-days"},{"title":"List the current user's active MFA-trusted devices","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/me/trusted-devices","href":"/api-reference/user-profile/list-the-current-users-active-mfa-trusted-devices"},{"title":"Revoke ALL trusted devices for the current user","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/me/trusted-devices","href":"/api-reference/user-profile/revoke-all-trusted-devices-for-the-current-user"},{"title":"Revoke a specific trusted device","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/me/trusted-devices/{deviceId}","href":"/api-reference/user-profile/revoke-a-specific-trusted-device"},{"title":"Toggle the email verification factor on or off","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/mfa/email","href":"/api-reference/user-profile/toggle-the-email-verification-factor-on-or-off"},{"title":"Begin authenticator-app (TOTP) enrollment","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/totp/setup","href":"/api-reference/user-profile/begin-authenticator-app-totp-enrollment"},{"title":"Confirm and activate the authenticator-app factor","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/totp/confirm","href":"/api-reference/user-profile/confirm-and-activate-the-authenticator-app-factor"},{"title":"Turn off the authenticator-app factor","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/totp/disable","href":"/api-reference/user-profile/turn-off-the-authenticator-app-factor"},{"title":"Regenerate single-use backup codes","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/me/totp/backup-codes/regenerate","href":"/api-reference/user-profile/regenerate-single-use-backup-codes"},{"title":"Confirm it's you — ask for the code that gives a course-page session its full rights","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/launch-scope/challenge","href":"/api-reference/user-profile/confirm-its-you-—-ask-for-the-code-that-gives-a-course-page-session-its-full-rights"},{"title":"What powers a Digital Twin — its chat and voice models, files and knowledge graph","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/institution/{id}/models-knowledge","href":"/api-reference/user-profile/what-powers-a-digital-twin-—-its-chat-and-voice-models-files-and-knowledge-graph"},{"title":"The spending limits a Digital Twin may set","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/institution/{id}/turn-limits","href":"/api-reference/user-profile/the-spending-limits-a-digital-twin-may-set"},{"title":"List devices that have used the caller's personal API key","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/api-key-usage","href":"/api-reference/user-profile/list-devices-that-have-used-the-callers-personal-api-key"},{"title":"Forget a device row from the caller's list (cosmetic only)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/api-key-usage/{id}","href":"/api-reference/user-profile/forget-a-device-row-from-the-callers-list-cosmetic-only"}]},{"group":"AI","pages":[{"title":"Refresh tasks belonging to an owned plan","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/plan/{sessionId}/task-children","href":"/api-reference/ai/refresh-tasks-belonging-to-an-owned-plan"},{"title":"Explicitly Collect or request a retry for an owned plan task","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/plan/{sessionId}/task-children/{stepId}","href":"/api-reference/ai/explicitly-collect-or-request-a-retry-for-an-owned-plan-task"},{"title":"Stop a plan and retain a resumable checkpoint","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/personal/plan/{sessionId}/stop","href":"/api-reference/ai/stop-a-plan-and-retain-a-resumable-checkpoint"},{"title":"Read the owner's private build screenshots","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/ai/personal/plan/{sessionId}/artifact","href":"/api-reference/ai/read-the-owners-private-build-screenshots"},{"title":"Verify an exact persisted untracked chat completion","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}","href":"/api-reference/ai/verify-an-exact-persisted-untracked-chat-completion"},{"title":"Look up the durable execution receipt for a chat turn","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/ai/personal/turns/by-turn/{clientTurnId}","href":"/api-reference/ai/look-up-the-durable-execution-receipt-for-a-chat-turn"},{"title":"Stop a running chat reply by its turn id","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/personal/turns/cancel","href":"/api-reference/ai/stop-a-running-chat-reply-by-its-turn-id"},{"title":"Read the durable execution receipt by execution id","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/ai/personal/turns/{executionId}","href":"/api-reference/ai/read-the-durable-execution-receipt-by-execution-id"},{"title":"Request a durable Stop for an execution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/personal/turns/{executionId}/stop","href":"/api-reference/ai/request-a-durable-stop-for-an-execution"},{"title":"OpenAI-compatible Chat Completions endpoint (inbound integration)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/chat/completions","href":"/api-reference/ai/openai-compatible-chat-completions-endpoint-inbound-integration"}]},{"group":"Audio Notes","pages":[{"title":"Upload one or more audio segments for transcription and vault ingestion","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/audio-notes","href":"/api-reference/audio-notes/upload-one-or-more-audio-segments-for-transcription-and-vault-ingestion"}]},{"group":"Collections","pages":[{"title":"List collections for a vault","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/collections","href":"/api-reference/collections/list-collections-for-a-vault"},{"title":"Create a new collection","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/collection","href":"/api-reference/collections/create-a-new-collection"},{"title":"Update collection (rename, move vault)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/collection/{id}","href":"/api-reference/collections/update-collection-rename-move-vault"},{"title":"Delete a collection; its files move to the Trash","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/collection/{id}","href":"/api-reference/collections/delete-a-collection;-its-files-move-to-the-trash"},{"title":"Count what deleting a collection would do (changes nothing)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/collection/{id}/delete-preview","href":"/api-reference/collections/count-what-deleting-a-collection-would-do-changes-nothing"},{"title":"List files within a collection","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/collection/{id}/files","href":"/api-reference/collections/list-files-within-a-collection"},{"title":"Add files to a collection","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/collection/{id}/add","href":"/api-reference/collections/add-files-to-a-collection"},{"title":"Remove files from a collection","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/collection/{id}/remove","href":"/api-reference/collections/remove-files-from-a-collection"},{"title":"Download collection as ZIP","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/collection/{id}/download","href":"/api-reference/collections/download-collection-as-zip"},{"title":"Bulk action on files or collections","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/bulk/action","href":"/api-reference/collections/bulk-action-on-files-or-collections"},{"title":"Get all file and collection IDs for bulk select-all","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/collections/select-all-ids","href":"/api-reference/collections/get-all-file-and-collection-ids-for-bulk-select-all"},{"title":"Get recursive file counts for collections","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/collections/deep-count","href":"/api-reference/collections/get-recursive-file-counts-for-collections"},{"title":"Download selected files as ZIP","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/bulk/download","href":"/api-reference/collections/download-selected-files-as-zip"}]},{"group":"Feedback","pages":[{"title":"Submit feedback","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/feedback","href":"/api-reference/feedback/submit-feedback"},{"title":"Get user feedbacks","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/feedbacks","href":"/api-reference/feedback/get-user-feedbacks"}]},{"group":"IP Vault","pages":[{"title":"Upload content from URL","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/url","href":"/api-reference/ip-vault/upload-content-from-url"},{"title":"Upload files","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/files","href":"/api-reference/ip-vault/upload-files"},{"title":"Delete uploaded file","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/files/{fileId}","href":"/api-reference/ip-vault/delete-uploaded-file"},{"title":"Update file confidential status","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/files/{fileId}/confidential","href":"/api-reference/ip-vault/update-file-confidential-status"},{"title":"Reload file content","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/reload/{fileId}","href":"/api-reference/ip-vault/reload-file-content"},{"title":"Re-ingest file from source URL","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/reingest/{fileId}","href":"/api-reference/ip-vault/re-ingest-file-from-source-url"},{"title":"Re-queue an existing file for ingestion","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/files/{fileId}/reprocess","href":"/api-reference/ip-vault/re-queue-an-existing-file-for-ingestion"},{"title":"Edit a text file's content and reprocess it","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/files/{fileId}/content","href":"/api-reference/ip-vault/edit-a-text-files-content-and-reprocess-it"},{"title":"Get KAG (knowledge graph) summary for a file","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/files/{uploadId}/kag-summary","href":"/api-reference/ip-vault/get-kag-knowledge-graph-summary-for-a-file"},{"title":"Search and retrieve user uploaded files","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/uploads","href":"/api-reference/ip-vault/search-and-retrieve-user-uploaded-files"},{"title":"Scan vault uploads for content quality","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/uploads/vault-health","href":"/api-reference/ip-vault/scan-vault-uploads-for-content-quality"},{"title":"Aggregate vault-wide health stats","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/uploads/vault-health-summary","href":"/api-reference/ip-vault/aggregate-vault-wide-health-stats"},{"title":"Summarize the Trash for the notice above the composer","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/uploads/trash-summary","href":"/api-reference/ip-vault/summarize-the-trash-for-the-notice-above-the-composer"},{"title":"List every file with a vault-health issue","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/uploads/files-with-issues","href":"/api-reference/ip-vault/list-every-file-with-a-vault-health-issue"},{"title":"Update an existing upload file's metadata","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/upload/{id}","href":"/api-reference/ip-vault/update-an-existing-upload-files-metadata"}]},{"group":"User Files","pages":[{"title":"Swap (replace) the on-disk asset for an existing Upload","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/upload/{fileId}/swap-asset","href":"/api-reference/user-files/swap-replace-the-on-disk-asset-for-an-existing-upload"},{"title":"Download a workspace as ZIP","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/workspace/{slug}/export","href":"/api-reference/user-files/download-a-workspace-as-zip"},{"title":"Get a short-lived link to a file","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/upload-token","href":"/api-reference/user-files/get-a-short-lived-link-to-a-file"}]},{"group":"History","pages":[{"title":"Retrieve user conversation histories","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/histories","href":"/api-reference/history/retrieve-user-conversation-histories"},{"title":"Retrieve user's favorite dialogues","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/favorites","href":"/api-reference/history/retrieve-users-favorite-dialogues"},{"title":"Retrieve user conversations","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/courses","href":"/api-reference/history/retrieve-user-conversations"},{"title":"Update a history record","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/history/{id}","href":"/api-reference/history/update-a-history-record"},{"title":"Clear history records (soft delete)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/clearHistory","href":"/api-reference/history/clear-history-records-soft-delete"},{"title":"Rename a conversation or favorite","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/renameHistory","href":"/api-reference/history/rename-a-conversation-or-favorite"},{"title":"Generate an AI summary title for a history record or conversation","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/summarizeHistory","href":"/api-reference/history/generate-an-ai-summary-title-for-a-history-record-or-conversation"}]},{"group":"User Institutions","pages":[{"title":"Update user institution preferences","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/userInstitution/{id}","href":"/api-reference/user-institutions/update-user-institution-preferences"},{"title":"Unlink LTI context from user institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/unlinkContextId/{id}","href":"/api-reference/user-institutions/unlink-lti-context-from-user-institution"},{"title":"Credit user institution with tokens","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/userInstitutionCredit/{id}","href":"/api-reference/user-institutions/credit-user-institution-with-tokens"},{"title":"Switch user's active institution profile","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/userInstitutionSwitch/{id}","href":"/api-reference/user-institutions/switch-users-active-institution-profile"},{"title":"Accept the privacy policy of your digital twin's account","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/account-policy/accept","href":"/api-reference/user-institutions/accept-the-privacy-policy-of-your-digital-twins-account"}]},{"group":"Membership","pages":[{"title":"Remove user institution membership","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/userInstitution/{id}","href":"/api-reference/membership/remove-user-institution-membership"},{"title":"Create personal institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/userInstitutionCreatePersonal","href":"/api-reference/membership/create-personal-institution"},{"title":"Join an institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/institutionJoin","href":"/api-reference/membership/join-an-institution"},{"title":"Create or retrieve institution join code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/institutionCreateJoinId","href":"/api-reference/membership/create-or-retrieve-institution-join-code"},{"title":"Email an invite link to a recipient","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/institutionSendInvite","href":"/api-reference/membership/email-an-invite-link-to-a-recipient"},{"title":"Get institution by join code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/institutionByJoinId","href":"/api-reference/membership/get-institution-by-join-code"},{"title":"Get available institutions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/availableInstitutions","href":"/api-reference/membership/get-available-institutions"},{"title":"Approve a pending membership","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/approveUid","href":"/api-reference/membership/approve-a-pending-membership"}]},{"group":"Memberships","pages":[{"title":"Check the caller's membership on a public twin slug","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/twinMembership","href":"/api-reference/memberships/check-the-callers-membership-on-a-public-twin-slug"}]},{"group":"Memory","pages":[{"title":"List the user's memory parameters (personal + shared in their instances).","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/memory","href":"/api-reference/memory/list-the-users-memory-parameters-personal-+-shared-in-their-instances"},{"title":"Hard-delete a single memory parameter.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/memory/{id}","href":"/api-reference/memory/hard-delete-a-single-memory-parameter"},{"title":"Edit a memory parameter (whitelisted fields only).","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/memory/{id}","href":"/api-reference/memory/edit-a-memory-parameter-whitelisted-fields-only"},{"title":"Bulk hard-delete the user's own personal memory rows (filter-aware).","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/memory/personal","href":"/api-reference/memory/bulk-hard-delete-the-users-own-personal-memory-rows-filter-aware"},{"title":"Bulk hard-delete shared rows for an instance (requires institutions.edit).","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/memory/institution/{id}","href":"/api-reference/memory/bulk-hard-delete-shared-rows-for-an-instance-requires-institutionsedit"}]},{"group":"My Data","pages":[{"title":"Personal-scope data counts","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/data/stats","href":"/api-reference/my-data/personal-scope-data-counts"},{"title":"Request a ZIP-by-email export of personal data","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/data/export","href":"/api-reference/my-data/request-a-zip-by-email-export-of-personal-data"},{"title":"Scoped soft-delete of personal data","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/data","href":"/api-reference/my-data/scoped-soft-delete-of-personal-data"}]},{"group":"Presentations","pages":[{"title":"Whether this Digital Twin can make presentation videos","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/availability","href":"/api-reference/presentations/whether-this-digital-twin-can-make-presentation-videos"},{"title":"List your presentation videos","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations","href":"/api-reference/presentations/list-your-presentation-videos"},{"title":"Get one presentation video and its versions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/{id}","href":"/api-reference/presentations/get-one-presentation-video-and-its-versions"},{"title":"Delete one of your presentation videos","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/presentations/{id}","href":"/api-reference/presentations/delete-one-of-your-presentation-videos"},{"title":"Get one version of a presentation video, ready to play","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/{id}/revisions/{n}","href":"/api-reference/presentations/get-one-version-of-a-presentation-video-ready-to-play"},{"title":"Edit one scene's narration or on-screen text","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/presentations/{id}/scenes/{sceneId}","href":"/api-reference/presentations/edit-one-scenes-narration-or-on-screen-text"},{"title":"Rename a video","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/presentations/{id}/title","href":"/api-reference/presentations/rename-a-video"},{"title":"Upload your logo for this video","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/{id}/brand/logo","href":"/api-reference/presentations/upload-your-logo-for-this-video"},{"title":"Stop making a presentation video","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/{id}/cancel","href":"/api-reference/presentations/stop-making-a-presentation-video"},{"title":"The Brand panel of this video","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/{id}/brand","href":"/api-reference/presentations/the-brand-panel-of-this-video"},{"title":"Apply a brand to this video (a new version)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/presentations/{id}/brand","href":"/api-reference/presentations/apply-a-brand-to-this-video-a-new-version"},{"title":"Delete one of your saved brands","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/presentations/{id}/brand/saved/{slug}","href":"/api-reference/presentations/delete-one-of-your-saved-brands"},{"title":"Show (or stop showing) a logo from your Digital Twin's files on public links and MP4s","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/{id}/brand/logo/public","href":"/api-reference/presentations/show-or-stop-showing-a-logo-from-your-digital-twins-files-on-public-links-and-mp4s"},{"title":"Read brand colours and a logo from your website","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/{id}/brand/import","href":"/api-reference/presentations/read-brand-colours-and-a-logo-from-your-website"},{"title":"List the brand save offers of a chat reply","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/brand-proposals","href":"/api-reference/presentations/list-the-brand-save-offers-of-a-chat-reply"},{"title":"Save a brand offer for next time","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/brand-proposals/{proposalId}/accept","href":"/api-reference/presentations/save-a-brand-offer-for-next-time"},{"title":"Decline a brand offer","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/brand-proposals/{proposalId}/decline","href":"/api-reference/presentations/decline-a-brand-offer"},{"title":"Estimate the credits to export the current version to MP4","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/{id}/export/estimate","href":"/api-reference/presentations/estimate-the-credits-to-export-the-current-version-to-mp4"},{"title":"Start the MP4 export (after the user confirmed the estimate)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/{id}/export","href":"/api-reference/presentations/start-the-mp4-export-after-the-user-confirmed-the-estimate"},{"title":"Your recent exports of this presentation (newest first, up to 10)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/{id}/exports","href":"/api-reference/presentations/your-recent-exports-of-this-presentation-newest-first-up-to-10"},{"title":"Poll one export","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/{id}/export/{jobId}","href":"/api-reference/presentations/poll-one-export"},{"title":"Download the MP4 or the captions (WebVTT)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/{id}/export/{jobId}/download","href":"/api-reference/presentations/download-the-mp4-or-the-captions-webvtt"},{"title":"Your share links of this presentation","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/presentations/{id}/shares","href":"/api-reference/presentations/your-share-links-of-this-presentation"},{"title":"Create a share link (view-only) for a version","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/presentations/{id}/shares","href":"/api-reference/presentations/create-a-share-link-view-only-for-a-version"},{"title":"Delete a share link now","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/presentations/{id}/shares/{shareId}","href":"/api-reference/presentations/delete-a-share-link-now"},{"title":"Change a share link — audience, version, expiry, label — or turn it off","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/presentations/{id}/shares/{shareId}","href":"/api-reference/presentations/change-a-share-link-—-audience-version-expiry-label-—-or-turn-it-off"}]},{"group":"Questions","pages":[{"title":"List active onboarding questions for the Persona Builder bank.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/questions","href":"/api-reference/questions/list-active-onboarding-questions-for-the-persona-builder-bank"}]},{"group":"Setting","pages":[{"title":"Retrieve settings by key","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/settingByKey","href":"/api-reference/setting/retrieve-settings-by-key"},{"title":"Retrieve settings for the current institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/settings","href":"/api-reference/setting/retrieve-settings-for-the-current-institution"},{"title":"Create a new instance variable","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/setting","href":"/api-reference/setting/create-a-new-instance-variable"},{"title":"Update an instance variable","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/setting/{settingId}","href":"/api-reference/setting/update-an-instance-variable"},{"title":"Delete an instance variable","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/setting/{settingId}","href":"/api-reference/setting/delete-an-instance-variable"}]},{"group":"Billing","pages":[{"title":"Get current subscription plan","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/stripe/plan","href":"/api-reference/billing/get-current-subscription-plan"},{"title":"Create subscription checkout session","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/stripe/subscribe","href":"/api-reference/billing/create-subscription-checkout-session"},{"title":"Get checkout session result","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/stripe/checkout-result","href":"/api-reference/billing/get-checkout-session-result"}]},{"group":"User History","pages":[{"title":"Lazy-fetch the bulk thinking and reasoning array for a single History record","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/history/{id}/thinking","href":"/api-reference/user-history/lazy-fetch-the-bulk-thinking-and-reasoning-array-for-a-single-history-record"},{"title":"Lazy-fetch the structured RAG-KAG retrieval segments for a single History record","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/history/{id}/ragSearch","href":"/api-reference/user-history/lazy-fetch-the-structured-rag-kag-retrieval-segments-for-a-single-history-record"},{"title":"Read an assistant response aloud using the configured speech model","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/history/{id}/audio","href":"/api-reference/user-history/read-an-assistant-response-aloud-using-the-configured-speech-model"},{"title":"Hear a short sample of a read-aloud voice","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/tts/preview","href":"/api-reference/user-history/hear-a-short-sample-of-a-read-aloud-voice"}]},{"group":"Tools","pages":[{"title":"Get available tools for the authenticated user","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/tools","href":"/api-reference/tools/get-available-tools-for-the-authenticated-user"}]},{"group":"Transcription","pages":[{"title":"Transient speech-to-text","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/transcribe","href":"/api-reference/transcription/transient-speech-to-text"}]},{"group":"Agents","pages":[{"title":"Issue a short-lived ticket for the caller's KasmVNC desktop","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/workspace/ticket","href":"/api-reference/agents/issue-a-short-lived-ticket-for-the-callers-kasmvnc-desktop"},{"title":"Get current user's agent workspace status","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/workspace/me","href":"/api-reference/agents/get-current-users-agent-workspace-status"},{"title":"Status of the caller's daemon (Pria row + guest truth)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/daemon","href":"/api-reference/agents/status-of-the-callers-daemon-pria-row-+-guest-truth"},{"title":"Ensure the caller's persistent Synaps daemon is running (agentsv2)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/v2/daemon","href":"/api-reference/agents/ensure-the-callers-persistent-synaps-daemon-is-running-agentsv2"},{"title":"Stop the caller's daemon and close its session row","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/v2/daemon/stop","href":"/api-reference/agents/stop-the-callers-daemon-and-close-its-session-row"},{"title":"Single-use ticket for the daemon WebSocket","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/v2/ticket","href":"/api-reference/agents/single-use-ticket-for-the-daemon-websocket"},{"title":"Saved daemon sessions (headers only, most recent first)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/sessions","href":"/api-reference/agents/saved-daemon-sessions-headers-only-most-recent-first"},{"title":"Default + favorite models for the daemon's model picker","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/models","href":"/api-reference/agents/default-+-favorite-models-for-the-daemons-model-picker"},{"title":"Daemon + bridge versions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/info","href":"/api-reference/agents/daemon-+-bridge-versions"},{"title":"Read-only snapshot of the daemon's configuration (managed by Pria)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/config","href":"/api-reference/agents/read-only-snapshot-of-the-daemons-configuration-managed-by-pria"},{"title":"Always refused — the daemon configuration is managed by Pria","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/v2/config","href":"/api-reference/agents/always-refused-—-the-daemon-configuration-is-managed-by-pria"},{"title":"The models and reasoning levels a workflow can use on the current twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/workflow-models","href":"/api-reference/agents/the-models-and-reasoning-levels-a-workflow-can-use-on-the-current-twin"},{"title":"The caller's agentsv2 workflows on the current twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/workflows","href":"/api-reference/agents/the-callers-agentsv2-workflows-on-the-current-twin"},{"title":"Create a workflow (owner and twin come from the session, never the body)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/v2/workflows","href":"/api-reference/agents/create-a-workflow-owner-and-twin-come-from-the-session-never-the-body"},{"title":"One workflow","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/workflows/{id}","href":"/api-reference/agents/one-workflow"},{"title":"Delete a workflow (its run records stay; a run in progress finishes)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/user/agents/v2/workflows/{id}","href":"/api-reference/agents/delete-a-workflow-its-run-records-stay;-a-run-in-progress-finishes"},{"title":"Update a workflow (partial)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json patch /api/user/agents/v2/workflows/{id}","href":"/api-reference/agents/update-a-workflow-partial"},{"title":"Run now — a new session in the caller's daemon with the instruction as its first prompt","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/v2/workflows/{id}/run","href":"/api-reference/agents/run-now-—-a-new-session-in-the-callers-daemon-with-the-instruction-as-its-first-prompt"},{"title":"The workflow's latest 20 runs, newest first","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/v2/workflows/{id}/runs","href":"/api-reference/agents/the-workflows-latest-20-runs-newest-first"},{"title":"The caller's agent email allowlist on their current twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/email-allowlist","href":"/api-reference/agents/the-callers-agent-email-allowlist-on-their-current-twin"},{"title":"Replace the caller's agent email allowlist on their current twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/agents/email-allowlist","href":"/api-reference/agents/replace-the-callers-agent-email-allowlist-on-their-current-twin"},{"title":"The caller's VM-login seat setting on their current twin.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/vm-login","href":"/api-reference/agents/the-callers-vm-login-seat-setting-on-their-current-twin"},{"title":"Choose the providers whose seats run on the VM's own Synaps login.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/agents/vm-login","href":"/api-reference/agents/choose-the-providers-whose-seats-run-on-the-vms-own-synaps-login"},{"title":"Check whether a local Synaps login for one provider is present and usable on the caller's VM","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/vm-login/probe","href":"/api-reference/agents/check-whether-a-local-synaps-login-for-one-provider-is-present-and-usable-on-the-callers-vm"},{"title":"VM owner only — let other members of a shared agent VM use their own Synaps login on it.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/user/agents/vm-login/vm-policy","href":"/api-reference/agents/vm-owner-only-—-let-other-members-of-a-shared-agent-vm-use-their-own-synaps-login-on-it"}]},{"group":"Subscription connections","pages":[{"title":"Start connecting the twin's ChatGPT subscription","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/chatgpt/start","href":"/api-reference/subscription-connections/start-connecting-the-twins-chatgpt-subscription"},{"title":"Finish connecting the twin's ChatGPT subscription","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/chatgpt/poll","href":"/api-reference/subscription-connections/finish-connecting-the-twins-chatgpt-subscription"},{"title":"Is a ChatGPT subscription connected to the twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/connect/chatgpt/status","href":"/api-reference/subscription-connections/is-a-chatgpt-subscription-connected-to-the-twin"},{"title":"Disconnect the twin's ChatGPT subscription","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/chatgpt/disconnect","href":"/api-reference/subscription-connections/disconnect-the-twins-chatgpt-subscription"},{"title":"Start connecting the twin's Grok subscription","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/grok/start","href":"/api-reference/subscription-connections/start-connecting-the-twins-grok-subscription"},{"title":"Finish connecting the twin's Grok subscription","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/grok/poll","href":"/api-reference/subscription-connections/finish-connecting-the-twins-grok-subscription"},{"title":"Is a Grok subscription connected to the twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/connect/grok/status","href":"/api-reference/subscription-connections/is-a-grok-subscription-connected-to-the-twin"},{"title":"Disconnect the twin's Grok subscription","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/grok/disconnect","href":"/api-reference/subscription-connections/disconnect-the-twins-grok-subscription"}]},{"group":"Git connections","pages":[{"title":"Is GitHub connected for this person's agents","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/connect/github/status","href":"/api-reference/git-connections/is-github-connected-for-this-persons-agents"},{"title":"Start connecting GitHub (returns the GitHub sign-in address)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/github/start","href":"/api-reference/git-connections/start-connecting-github-returns-the-github-sign-in-address"},{"title":"Disconnect GitHub","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/github/disconnect","href":"/api-reference/git-connections/disconnect-github"},{"title":"The person's GitLab connections for their agents","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/connect/gitlab/status","href":"/api-reference/git-connections/the-persons-gitlab-connections-for-their-agents"},{"title":"Start connecting gitlab.com by sign-in","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/gitlab/start","href":"/api-reference/git-connections/start-connecting-gitlabcom-by-sign-in"},{"title":"Connect any GitLab with a personal access token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/gitlab/token","href":"/api-reference/git-connections/connect-any-gitlab-with-a-personal-access-token"},{"title":"Disconnect one GitLab host","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/gitlab/disconnect","href":"/api-reference/git-connections/disconnect-one-gitlab-host"},{"title":"GitHub / GitLab sign-in return (browser redirect)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/auth/agent-git/{provider}/callback","href":"/api-reference/git-connections/github-gitlab-sign-in-return-browser-redirect"}]},{"group":"Google connection","pages":[{"title":"Can this user's agents read Gmail on the current Digital Twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/connect/google/status","href":"/api-reference/google-connection/can-this-users-agents-read-gmail-on-the-current-digital-twin"}]},{"group":"Power BI connection","pages":[{"title":"Power BI connection status of this Digital Twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/connect/powerbi/status","href":"/api-reference/power-bi-connection/power-bi-connection-status-of-this-digital-twin"},{"title":"Connect this Digital Twin to Power BI (read-only)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/powerbi/key","href":"/api-reference/power-bi-connection/connect-this-digital-twin-to-power-bi-read-only"},{"title":"Disconnect this Digital Twin from Power BI","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/powerbi/disconnect","href":"/api-reference/power-bi-connection/disconnect-this-digital-twin-from-power-bi"}]},{"group":"Procore connection","pages":[{"title":"Procore connection status of this Digital Twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/user/agents/connect/procore/status","href":"/api-reference/procore-connection/procore-connection-status-of-this-digital-twin"},{"title":"Connect this Digital Twin to Procore (read-only)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/procore/key","href":"/api-reference/procore-connection/connect-this-digital-twin-to-procore-read-only"},{"title":"Disconnect this Digital Twin from Procore","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/user/agents/connect/procore/disconnect","href":"/api-reference/procore-connection/disconnect-this-digital-twin-from-procore"}]},{"group":"Admin","pages":[{"title":"Twin admin — read whether members may use their VM's own Synaps login","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/admin/institution/{id}/agent-vm-local-login","href":"/api-reference/admin/twin-admin-—-read-whether-members-may-use-their-vms-own-synaps-login"},{"title":"Twin admin — allow or disallow members to run seats on their VM's own Synaps login.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json put /api/admin/institution/{id}/agent-vm-local-login","href":"/api-reference/admin/twin-admin-—-allow-or-disallow-members-to-run-seats-on-their-vms-own-synaps-login"}]},{"group":"Realtime","pages":[{"title":"Create realtime AI session","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtProxy/rtSession","href":"/api-reference/realtime/create-realtime-ai-session"},{"title":"Background tool jobs of a realtime session","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtTools/jobs","href":"/api-reference/realtime/background-tool-jobs-of-a-realtime-session"},{"title":"Execute realtime tool","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtTools/exec","href":"/api-reference/realtime/execute-realtime-tool"},{"title":"Stream a provider-neutral avatar voice turn (Anam + future providers)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtProxy/voiceTurn","href":"/api-reference/realtime/stream-a-provider-neutral-avatar-voice-turn-anam-+-future-providers"},{"title":"Mint a Deepgram streaming STT session","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtProxy/deepgram/sttSession","href":"/api-reference/realtime/mint-a-deepgram-streaming-stt-session"},{"title":"Save realtime conversation","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtSave/conversation","href":"/api-reference/realtime/save-realtime-conversation"},{"title":"Voice turn prediction check (is the speaker done, is it the same request, is it an interruption)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtProxy/turnPredict","href":"/api-reference/realtime/voice-turn-prediction-check-is-the-speaker-done-is-it-the-same-request-is-it-an-interruption"},{"title":"Report one voice turn-prediction outcome","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/rtProxy/voiceTurn/spec","href":"/api-reference/realtime/report-one-voice-turn-prediction-outcome"}]},{"group":"Conversation","pages":[{"title":"Send a message to the AI assistant","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/personal/qanda","href":"/api-reference/conversation/send-a-message-to-the-ai-assistant"},{"title":"Send a message with HTTP SSE streaming response","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/personal-stream/qanda-stream","href":"/api-reference/conversation/send-a-message-with-http-sse-streaming-response"},{"title":"Send a message to the AI assistant (experimental — Soul Document prompt)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/experimental/personal/qanda","href":"/api-reference/conversation/send-a-message-to-the-ai-assistant-experimental-—-soul-document-prompt"},{"title":"Send a message to the AI assistant (experimental — Soul Document V2 prompt)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/ai/experimental/personal/qanda-v2","href":"/api-reference/conversation/send-a-message-to-the-ai-assistant-experimental-—-soul-document-v2-prompt"}]},{"group":"Presentation share links","pages":[{"title":"Open a shared presentation video","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/public/presentation-share/resolve","href":"/api-reference/presentation-share-links/open-a-shared-presentation-video"},{"title":"Count a view of a shared video","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/public/presentation-share/view","href":"/api-reference/presentation-share-links/count-a-view-of-a-shared-video"},{"title":"Download a shared video or its captions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/public/presentation-share/download","href":"/api-reference/presentation-share-links/download-a-shared-video-or-its-captions"}]},{"group":"Boards","pages":[{"title":"The caller's Projects boards access","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/boards/access","href":"/api-reference/boards/the-callers-projects-boards-access"},{"title":"Who can see a Projects scope — the people a card there may be assigned to","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/boards/boards/members","href":"/api-reference/boards/who-can-see-a-projects-scope-—-the-people-a-card-there-may-be-assigned-to"},{"title":"A card's timeline — comments and activity in one thread, oldest first","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/boards/tasks/{taskId}/timeline","href":"/api-reference/boards/a-cards-timeline-—-comments-and-activity-in-one-thread-oldest-first"},{"title":"Comment on a card (plain text, ≤ 2000 chars; mentions resolved within the board's members)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/boards/tasks/{taskId}/comments","href":"/api-reference/boards/comment-on-a-card-plain-text-≤-2000-chars;-mentions-resolved-within-the-boards-members"},{"title":"Remove a comment (author or board owner); the row stays, reading Comment removed","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json delete /api/boards/tasks/{taskId}/comments/{eventId}","href":"/api-reference/boards/remove-a-comment-author-or-board-owner;-the-row-stays-reading-comment-removed"},{"title":"Add the standard workflow lanes to a board","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json post /api/boards/boards/{boardId}/lanes","href":"/api-reference/boards/add-the-standard-workflow-lanes-to-a-board"},{"title":"A cross-board view of your open cards","deprecated":null,"version":null,"openapi":"/mdx/api-reference/runtime/runtime-api.json get /api/boards/views/{name}","href":"/api-reference/boards/a-cross-board-view-of-your-open-cards"}]}]},{"group":"Administrator API","pages":[{"group":"Testing","pages":[{"title":"Check status of the middleware application","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/test/health","href":"/api-reference/testing/check-status-of-the-middleware-application"},{"title":"Retrieves an institution and validates user access for a specific context","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/test/url","href":"/api-reference/testing/retrieves-an-institution-and-validates-user-access-for-a-specific-context"}]},{"group":"Authentication","pages":[{"title":"Register a new user","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/signup","href":"/api-reference/authentication/register-a-new-user"},{"title":"Generate password reset code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/generateResetCode","href":"/api-reference/authentication/generate-password-reset-code"},{"title":"Validate password reset code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/checkResetCode","href":"/api-reference/authentication/validate-password-reset-code"},{"title":"Change user password","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/changePassword","href":"/api-reference/authentication/change-user-password"},{"title":"Validate account activation code","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/checkActivateCode","href":"/api-reference/authentication/validate-account-activation-code"},{"title":"User authentication and sign-in","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/signin","href":"/api-reference/authentication/user-authentication-and-sign-in"},{"title":"Automatic user signup and authentication","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/autosignup","href":"/api-reference/authentication/automatic-user-signup-and-authentication"},{"title":"Sign in with Apple (native)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/apple","href":"/api-reference/authentication/sign-in-with-apple-native"},{"title":"Generate Digital Twin instructions from Q\u0026A","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/generate-prompt-preview","href":"/api-reference/authentication/generate-digital-twin-instructions-from-q\u0026a"},{"title":"Exchange a Pria API key for a JWT","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/api-key-signin","href":"/api-reference/authentication/exchange-a-pria-api-key-for-a-jwt"},{"title":"Submit a 6-digit MFA code to complete login","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/mfa-verify","href":"/api-reference/authentication/submit-a-6-digit-mfa-code-to-complete-login"},{"title":"Request a new MFA code for the current challenge","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/mfa-resend","href":"/api-reference/authentication/request-a-new-mfa-code-for-the-current-challenge"},{"title":"Abandon the current MFA challenge (user clicked Cancel)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/mfa-cancel","href":"/api-reference/authentication/abandon-the-current-mfa-challenge-user-clicked-cancel"}]},{"group":"OAuth","pages":[{"title":"Initiate SSO login","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/sso/{id}","href":"/api-reference/oauth/initiate-sso-login"},{"title":"SSO callback","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sso_callback","href":"/api-reference/oauth/sso-callback"},{"title":"GitHub Marketplace webhook receiver","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/github/webhook","href":"/api-reference/oauth/github-marketplace-webhook-receiver"},{"title":"Start the Google Services (per-user) OAuth consent flow","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/services/authorize","href":"/api-reference/oauth/start-the-google-services-per-user-oauth-consent-flow"},{"title":"Google Services OAuth callback","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/services/callback","href":"/api-reference/oauth/google-services-oauth-callback"},{"title":"Validate the caller's stored Google Services token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/services/validate","href":"/api-reference/oauth/validate-the-callers-stored-google-services-token"},{"title":"Revoke the caller's stored Google Services token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/auth/google/services/revoke","href":"/api-reference/oauth/revoke-the-callers-stored-google-services-token"},{"title":"Start the Google OAuth flow for an institution-level token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/institution/authorize","href":"/api-reference/oauth/start-the-google-oauth-flow-for-an-institution-level-token"},{"title":"Validate an institution's stored Google token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/google/institution/{institutionId}/validate","href":"/api-reference/oauth/validate-an-institutions-stored-google-token"},{"title":"Revoke an institution's stored Google token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/auth/google/institution/{institutionId}/revoke","href":"/api-reference/oauth/revoke-an-institutions-stored-google-token"},{"title":"Complete the Canvas LMS API authorization handoff","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/auth/token_complete","href":"/api-reference/oauth/complete-the-canvas-lms-api-authorization-handoff"}]},{"group":"Institutions","pages":[{"title":"Get institutions for LTI context","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/getInstitutionsForContextid","href":"/api-reference/institutions/get-institutions-for-lti-context"},{"title":"Create a Digital Twin for a Canvas course","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/createInstitutionForContextid","href":"/api-reference/institutions/create-a-digital-twin-for-a-canvas-course"}]},{"group":"SDK Launch","pages":[{"title":"Sign SDK launch parameters","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-sign","href":"/api-reference/sdk-launch/sign-sdk-launch-parameters"},{"title":"Verify SDK launch token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-verify","href":"/api-reference/sdk-launch/verify-sdk-launch-token"},{"title":"Course-wide Hide Pria for everyone toggle","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-hide","href":"/api-reference/sdk-launch/course-wide-hide-pria-for-everyone-toggle"},{"title":"A teacher disconnects a disabled Digital Twin from its Canvas course","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/auth/sdk-unlink-course","href":"/api-reference/sdk-launch/a-teacher-disconnects-a-disabled-digital-twin-from-its-canvas-course"}]},{"group":"Admin Accounts","pages":[{"title":"Get account by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/account/{id}","href":"/api-reference/admin-accounts/get-account-by-id"},{"title":"Update account","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/account/{id}","href":"/api-reference/admin-accounts/update-account"},{"title":"Transfer credits between account and institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/accountInstitution/{id}","href":"/api-reference/admin-accounts/transfer-credits-between-account-and-institution"},{"title":"Get list of account transfers","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/accountTransfers","href":"/api-reference/admin-accounts/get-list-of-account-transfers"},{"title":"Search and retrieve accounts","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/accounts","href":"/api-reference/admin-accounts/search-and-retrieve-accounts"}]},{"group":"Admin AI Models","pages":[{"title":"Create a new AI model","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/aimodel","href":"/api-reference/admin-ai-models/create-a-new-ai-model"},{"title":"Get AI model by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/aimodel/{id}","href":"/api-reference/admin-ai-models/get-ai-model-by-id"},{"title":"Update AI model","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/aimodel/{id}","href":"/api-reference/admin-ai-models/update-ai-model"},{"title":"Delete AI model","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/aimodel/{id}","href":"/api-reference/admin-ai-models/delete-ai-model"},{"title":"Get list of AI models","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/aimodels","href":"/api-reference/admin-ai-models/get-list-of-ai-models"},{"title":"Bulk soft-delete multiple aimodels","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/aimodels/bulk-delete","href":"/api-reference/admin-ai-models/bulk-soft-delete-multiple-aimodels"}]},{"group":"Admin Boards","pages":[{"title":"Grant or revoke Projects boards access on one membership","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/boards/access","href":"/api-reference/admin-boards/grant-or-revoke-projects-boards-access-on-one-membership"},{"title":"Who, in one account, has Projects boards access","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/boards/access/account/{accountId}","href":"/api-reference/admin-boards/who-in-one-account-has-projects-boards-access"}]},{"group":"Admin Feedbacks","pages":[{"title":"Get feedback by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/feedback/{id}","href":"/api-reference/admin-feedbacks/get-feedback-by-id"},{"title":"Update feedback","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/feedback/{id}","href":"/api-reference/admin-feedbacks/update-feedback"},{"title":"Delete feedback","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/feedback/{id}","href":"/api-reference/admin-feedbacks/delete-feedback"},{"title":"Bulk soft-delete multiple feedbacks","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/feedbacks/bulk-delete","href":"/api-reference/admin-feedbacks/bulk-soft-delete-multiple-feedbacks"},{"title":"Search and retrieve feedbacks","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/feedbacks","href":"/api-reference/admin-feedbacks/search-and-retrieve-feedbacks"}]},{"group":"Admin Institutions","pages":[{"title":"Create a new institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/institution","href":"/api-reference/admin-institutions/create-a-new-institution"},{"title":"Get a Digital Twin's settings","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/institution/{id}","href":"/api-reference/admin-institutions/get-a-digital-twins-settings"},{"title":"Update an institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/institution/{id}","href":"/api-reference/admin-institutions/update-an-institution"},{"title":"Delete an institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/institution/{id}","href":"/api-reference/admin-institutions/delete-an-institution"},{"title":"Generate about text for institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/generateAbout","href":"/api-reference/admin-institutions/generate-about-text-for-institution"},{"title":"Release a Digital Twin's credits to its account","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/freeInstitutionCreditsById/{id}","href":"/api-reference/admin-institutions/release-a-digital-twins-credits-to-its-account"},{"title":"Clone an institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/cloneInstitution/{id}","href":"/api-reference/admin-institutions/clone-an-institution"},{"title":"Reassign an institution to a different account","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json patch /api/admin/institution/{id}/account","href":"/api-reference/admin-institutions/reassign-an-institution-to-a-different-account"},{"title":"Get agent workspace state for an instance","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/institution/{id}/agent","href":"/api-reference/admin-institutions/get-agent-workspace-state-for-an-instance"},{"title":"Make an instance an agent","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/institution/{id}/agent/activate","href":"/api-reference/admin-institutions/make-an-instance-an-agent"},{"title":"Retry failed agent workspace provisioning","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/institution/{id}/agent/retry","href":"/api-reference/admin-institutions/retry-failed-agent-workspace-provisioning"},{"title":"Disable agent workspace desired state","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/institution/{id}/agent/disable","href":"/api-reference/admin-institutions/disable-agent-workspace-desired-state"},{"title":"Bulk soft-delete multiple institutions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/institutions/bulk-delete","href":"/api-reference/admin-institutions/bulk-soft-delete-multiple-institutions"},{"title":"Retrieve list of institutions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/institutions","href":"/api-reference/admin-institutions/retrieve-list-of-institutions"},{"title":"Get institution details by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/institution/{institutionId}","href":"/api-reference/admin-institutions/get-institution-details-by-id"},{"title":"Update an institution configuration","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/institution/{institutionId}","href":"/api-reference/admin-institutions/update-an-institution-configuration"}]},{"group":"Admin Questions","pages":[{"title":"Generate institution system prompt","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/generateInstitutionPrompt","href":"/api-reference/admin-questions/generate-institution-system-prompt"},{"title":"Analyze a prompt","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/analyzePrompt","href":"/api-reference/admin-questions/analyze-a-prompt"},{"title":"Retrieve institution questions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/institutionQuestions","href":"/api-reference/admin-questions/retrieve-institution-questions"},{"title":"Retrieve institutional assessment questions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/questions","href":"/api-reference/admin-questions/retrieve-institutional-assessment-questions"}]},{"group":"Admin Histories","pages":[{"title":"Delete multiple histories","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/deleteHistories","href":"/api-reference/admin-histories/delete-multiple-histories"},{"title":"Bulk soft-delete multiple history records","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/bulk-delete","href":"/api-reference/admin-histories/bulk-soft-delete-multiple-history-records"},{"title":"Retrieve conversation histories for admin users","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories","href":"/api-reference/admin-histories/retrieve-conversation-histories-for-admin-users"},{"title":"Retrieve detailed history record by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/history/{historyId}","href":"/api-reference/admin-histories/retrieve-detailed-history-record-by-id"},{"title":"Delete a specific history record","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/history/{historyId}","href":"/api-reference/admin-histories/delete-a-specific-history-record"},{"title":"Get weekly chart data for admin histories","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/weekly","href":"/api-reference/admin-histories/get-weekly-chart-data-for-admin-histories"},{"title":"Get time-series chart data for histories","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/timeline","href":"/api-reference/admin-histories/get-time-series-chart-data-for-histories"},{"title":"Get totals chart data for histories","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/totals","href":"/api-reference/admin-histories/get-totals-chart-data-for-histories"},{"title":"Get unique user count chart data","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/users","href":"/api-reference/admin-histories/get-unique-user-count-chart-data"},{"title":"Long-format per-user-per-period usage extract","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/user-stats","href":"/api-reference/admin-histories/long-format-per-user-per-period-usage-extract"},{"title":"Subagent efficiency over the turn trace (last 31 days)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/subagent-efficiency","href":"/api-reference/admin-histories/subagent-efficiency-over-the-turn-trace-last-31-days"},{"title":"Compare specific institutions side-by-side","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/cross-institution","href":"/api-reference/admin-histories/compare-specific-institutions-side-by-side"},{"title":"Get conversation model usage distribution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/model-distribution","href":"/api-reference/admin-histories/get-conversation-model-usage-distribution"},{"title":"Get tool usage and prompt cache census","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/tools","href":"/api-reference/admin-histories/get-tool-usage-and-prompt-cache-census"},{"title":"Get peak usage heatmap for conversations","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/histories/charts/heatmap","href":"/api-reference/admin-histories/get-peak-usage-heatmap-for-conversations"},{"title":"Lazy-fetch the bulk thinking and reasoning array for a single History record (admin)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/history/{id}/thinking","href":"/api-reference/admin-histories/lazy-fetch-the-bulk-thinking-and-reasoning-array-for-a-single-history-record-admin"},{"title":"Lazy-fetch the structured RAG-KAG retrieval segments for a single History record (admin)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/history/{id}/ragSearch","href":"/api-reference/admin-histories/lazy-fetch-the-structured-rag-kag-retrieval-segments-for-a-single-history-record-admin"}]},{"group":"Admin Charts","pages":[{"title":"Get chart by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/chart/{id}","href":"/api-reference/admin-charts/get-chart-by-id"},{"title":"Delete chart","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/chart/{id}","href":"/api-reference/admin-charts/delete-chart"},{"title":"Get list of charts","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/charts","href":"/api-reference/admin-charts/get-list-of-charts"}]},{"group":"Admin MCP Servers","pages":[{"title":"Create a new MCP server","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/mcpserver","href":"/api-reference/admin-mcp-servers/create-a-new-mcp-server"},{"title":"Get MCP server by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/mcpserver/{id}","href":"/api-reference/admin-mcp-servers/get-mcp-server-by-id"},{"title":"Update MCP server","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/mcpserver/{id}","href":"/api-reference/admin-mcp-servers/update-mcp-server"},{"title":"Delete MCP server","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/mcpserver/{id}","href":"/api-reference/admin-mcp-servers/delete-mcp-server"},{"title":"Get list of MCP servers","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/mcpservers","href":"/api-reference/admin-mcp-servers/get-list-of-mcp-servers"},{"title":"Test a connector and list its tools","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/mcpserver/test","href":"/api-reference/admin-mcp-servers/test-a-connector-and-list-its-tools"}]},{"group":"Admin Memory","pages":[{"title":"List memory parameters for a user, grouped by institution.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/memory/user/{userId}","href":"/api-reference/admin-memory/list-memory-parameters-for-a-user-grouped-by-institution"},{"title":"Bulk hard-delete memory parameters for a user (filter-aware).","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/memory/user/{userId}","href":"/api-reference/admin-memory/bulk-hard-delete-memory-parameters-for-a-user-filter-aware"},{"title":"List shared memory parameters for an instance.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/memory/institution/{instId}","href":"/api-reference/admin-memory/list-shared-memory-parameters-for-an-instance"},{"title":"Bulk hard-delete shared memory parameters for an instance (filter-aware).","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/memory/institution/{instId}","href":"/api-reference/admin-memory/bulk-hard-delete-shared-memory-parameters-for-an-instance-filter-aware"},{"title":"Hard-delete a single memory parameter.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/memory/{id}","href":"/api-reference/admin-memory/hard-delete-a-single-memory-parameter"},{"title":"Edit a single memory parameter (whitelisted fields only).","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json patch /api/admin/memory/{id}","href":"/api-reference/admin-memory/edit-a-single-memory-parameter-whitelisted-fields-only"}]},{"group":"Admin Sessions","pages":[{"title":"Get session by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/session/{id}","href":"/api-reference/admin-sessions/get-session-by-id"},{"title":"Soft-delete a session","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/session/{id}","href":"/api-reference/admin-sessions/soft-delete-a-session"},{"title":"Bulk soft-delete multiple sessions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/sessions/bulk-delete","href":"/api-reference/admin-sessions/bulk-soft-delete-multiple-sessions"},{"title":"Get session analytics charts","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/sessions/charts","href":"/api-reference/admin-sessions/get-session-analytics-charts"},{"title":"Search and retrieve active sessions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/sessions","href":"/api-reference/admin-sessions/search-and-retrieve-active-sessions"}]},{"group":"Admin - SSO Providers","pages":[{"title":"List SSO providers","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/ssoProviders","href":"/api-reference/admin--sso-providers/list-sso-providers"},{"title":"Create SSO provider","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/ssoProvider","href":"/api-reference/admin--sso-providers/create-sso-provider"},{"title":"Get SSO provider by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/ssoProvider/{id}","href":"/api-reference/admin--sso-providers/get-sso-provider-by-id"},{"title":"Update SSO provider","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/ssoProvider/{id}","href":"/api-reference/admin--sso-providers/update-sso-provider"},{"title":"Delete SSO provider","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/ssoProvider/{id}","href":"/api-reference/admin--sso-providers/delete-sso-provider"},{"title":"Bulk delete SSO providers","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/ssoProviders/bulk-delete","href":"/api-reference/admin--sso-providers/bulk-delete-sso-providers"},{"title":"Test SSO provider connectivity","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/ssoProvider/test/{id}","href":"/api-reference/admin--sso-providers/test-sso-provider-connectivity"}]},{"group":"Admin Assistants","pages":[{"title":"Bulk soft-delete multiple assistants","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/assistants/bulk-delete","href":"/api-reference/admin-assistants/bulk-soft-delete-multiple-assistants"},{"title":"Retrieve filtered list of assistants","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/assistants","href":"/api-reference/admin-assistants/retrieve-filtered-list-of-assistants"}]},{"group":"Admin Users","pages":[{"title":"Search and retrieve users for admin management","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/users","href":"/api-reference/admin-users/search-and-retrieve-users-for-admin-management"},{"title":"Bulk-set the status of multiple users","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/users/bulk-status","href":"/api-reference/admin-users/bulk-set-the-status-of-multiple-users"},{"title":"Bulk soft-delete multiple users","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/users/bulk-delete","href":"/api-reference/admin-users/bulk-soft-delete-multiple-users"},{"title":"Live 24h cap-effectiveness analytics","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/users/cap-effectiveness","href":"/api-reference/admin-users/live-24h-cap-effectiveness-analytics"},{"title":"Get user details by ID (Admin only)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/user/{userId}","href":"/api-reference/admin-users/get-user-details-by-id-admin-only"},{"title":"Edit a user (Admin only)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/user/{userId}","href":"/api-reference/admin-users/edit-a-user-admin-only"},{"title":"Delete a user by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/user/{userId}","href":"/api-reference/admin-users/delete-a-user-by-id"},{"title":"Create a user, or add an existing account to a digital twin","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/user","href":"/api-reference/admin-users/create-a-user-or-add-an-existing-account-to-a-digital-twin"},{"title":"Merge a source user into a target user","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/users/merge","href":"/api-reference/admin-users/merge-a-source-user-into-a-target-user"}]},{"group":"Admin Entitlements","pages":[{"title":"Get user institutions by user ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/userInstitutionsByUserId/{userId}","href":"/api-reference/admin-entitlements/get-user-institutions-by-user-id"},{"title":"Bulk hard-delete multiple entitlement memberships","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/userInstitutions/bulk-delete","href":"/api-reference/admin-entitlements/bulk-hard-delete-multiple-entitlement-memberships"},{"title":"Get users associated with institutions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/userInstitutions","href":"/api-reference/admin-entitlements/get-users-associated-with-institutions"},{"title":"Update user institution attributes such as account type, status, etc.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json put /api/admin/userInstitution/{userId}","href":"/api-reference/admin-entitlements/update-user-institution-attributes-such-as-account-type-status-etc"},{"title":"Revoke a member's Canvas API token","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/userInstitution/{id}/canvasToken","href":"/api-reference/admin-entitlements/revoke-a-members-canvas-api-token"},{"title":"Delete a user institution by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/userInstitution/{id}","href":"/api-reference/admin-entitlements/delete-a-user-institution-by-id"},{"title":"Get users eligible to enroll in an institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/userInstitutions/eligible","href":"/api-reference/admin-entitlements/get-users-eligible-to-enroll-in-an-institution"},{"title":"Enroll users into an institution","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/userInstitutions/enroll","href":"/api-reference/admin-entitlements/enroll-users-into-an-institution"}]},{"group":"Admin Payments","pages":[{"title":"List payments","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/stripePayments","href":"/api-reference/admin-payments/list-payments"}]},{"group":"Admin Tools","pages":[{"title":"List tools","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/tools","href":"/api-reference/admin-tools/list-tools"}]},{"group":"Admin Uploads","pages":[{"title":"Get upload by ID","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/upload/{id}","href":"/api-reference/admin-uploads/get-upload-by-id"}]},{"group":"Admin Usage Limits","pages":[{"title":"Usage-vs-cap reporting (per-user) or account-wide at-limit counts.","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/usage-limits","href":"/api-reference/admin-usage-limits/usage-vs-cap-reporting-per-user-or-account-wide-at-limit-counts"}]},{"group":"Exports","pages":[{"title":"Queue an async full-dataset CSV export","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/exports","href":"/api-reference/exports/queue-an-async-full-dataset-csv-export"}]},{"group":"Admin","pages":[{"title":"List a target user's active MFA-trusted devices (admin)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/users/{userId}/trusted-devices","href":"/api-reference/admin/list-a-target-users-active-mfa-trusted-devices-admin"},{"title":"Revoke ALL trusted devices for a target user (admin)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json delete /api/admin/users/{userId}/trusted-devices","href":"/api-reference/admin/revoke-all-trusted-devices-for-a-target-user-admin"},{"title":"List Praxis Shield threat incidents for the caller's managed institutions","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/security/threats","href":"/api-reference/admin/list-praxis-shield-threat-incidents-for-the-callers-managed-institutions"},{"title":"Get a full Praxis Shield incident (with evidence + LLM assessments)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/security/threats/{incidentId}","href":"/api-reference/admin/get-a-full-praxis-shield-incident-with-evidence-+-llm-assessments"},{"title":"Update a Praxis Shield incident (status / severity / categories)","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json patch /api/admin/security/threats/{incidentId}","href":"/api-reference/admin/update-a-praxis-shield-incident-status-severity-categories"},{"title":"Get the live flagged history records cited by a Praxis Shield incident","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json get /api/admin/security/threats/{incidentId}/history","href":"/api-reference/admin/get-the-live-flagged-history-records-cited-by-a-praxis-shield-incident"},{"title":"Add a reviewer note to a Praxis Shield incident","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/security/threats/{incidentId}/notes","href":"/api-reference/admin/add-a-reviewer-note-to-a-praxis-shield-incident"},{"title":"Record a reviewer action intent on a Praxis Shield incident","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/security/threats/{incidentId}/actions","href":"/api-reference/admin/record-a-reviewer-action-intent-on-a-praxis-shield-incident"},{"title":"Suspend the user flagged by a Praxis Shield incident","deprecated":null,"version":null,"openapi":"/mdx/api-reference/admin/admin-api.json post /api/admin/security/threats/{incidentId}/suspend-user","href":"/api-reference/admin/suspend-the-user-flagged-by-a-praxis-shield-incident"}]}]}]},{"tab":"LXP","pages":[{"title":"LXP","href":"/mdx/lxp/introduction"}]},{"tab":"What's New?","pages":[{"title":"What's New?","href":"/mdx/changelog"}]}]},"title":"Digital Twin Loading Sequence - praxis-ai","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["10e4515597"],"chunks":["BannerMarkdown-BVNUlwBc.js","dist-aeztFa9U.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-rL8ZCCw4.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}