Pass a value for the entry_point parameter at SDK initialization for analytics & funnel tracking
In case users use the Knot SDK for >30 minutes when the session will expire, handle the onEvent callback with event: REFRESH_SESSION_REQUEST and call Extend Session when you receive the event
If using the Web SDK, you can optionally enable domain allowlisting by reaching out to the Knot team, then allowlisting domains in the Knot Dashboard for additional security.
If you display merchants natively in your app, handle the MERCHANT_STATUS_UPDATE webhook event to gracefully handle changes in merchant availability by product type, platform, and min_sdk_version (more here)
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Knot","description":"Guides and API reference for integrating Knot products, such as CardSwitcher and Supernova","colors":{"primary":"#0F0E0E","light":"#D8D8D8","dark":"#0F0E0E"},"logo":{"light":"https://mintcdn.com/knot/VBuG2prLV3p6xOTo/logo/light.svg?fit=max\u0026auto=format\u0026n=VBuG2prLV3p6xOTo\u0026q=85\u0026s=fd06fd47577a90c8e224072b4be0e5dd","dark":"https://mintcdn.com/knot/VBuG2prLV3p6xOTo/logo/dark.svg?fit=max\u0026auto=format\u0026n=VBuG2prLV3p6xOTo\u0026q=85\u0026s=3ec182904f4fcae0296bd34329d1ffa0","href":"https://www.knotapi.com"},"favicon":"https://mintcdn.com/knot/VBuG2prLV3p6xOTo/favicon.svg?fit=max\u0026auto=format\u0026n=VBuG2prLV3p6xOTo\u0026q=85\u0026s=47782d8aa08991b4c5e03be1fb07dcd0","api":{"openapi":"api-reference/openapi.json"},"navbar":{"links":[{"href":"https://knotapi.com/careers","label":"We're hiring"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.knotapi.com"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/knotapi","x":"https://x.com/KnotAPIs"},"links":[{"header":"Products","items":[{"label":"CardSwitcher™","href":"https://www.knotapi.com/cardswitcher"},{"label":"TransactionLink™","href":"https://www.knotapi.com/txn-link"},{"label":"AgenticShopping™","href":"https://www.knotapi.com/agentic-shopping"},{"label":"AccountUpdater™","href":"https://www.knotapi.com/accountupdater"}]},{"header":"Use Cases","items":[{"label":"Personal Banking","href":"https://www.knotapi.com/personal-banking"},{"label":"Business Banking","href":"https://www.knotapi.com/business-banking"},{"label":"Merchants","href":"https://www.knotapi.com/merchants"},{"label":"BaaS","href":"https://www.knotapi.com/baas"}]},{"header":"Company","items":[{"label":"About Us","href":"https://www.knotapi.com/about-us"},{"label":"Trust Center","href":"https://trust.knotapi.com/"},{"label":"Contact","href":"https://www.knotapi.com/contact"},{"label":"Careers","href":"https://knotapi.com/careers"}]},{"header":"Legal","items":[{"label":"Terms \u0026 Conditions","href":"https://www.knotapi.com/terms"},{"label":"Privacy Policy","href":"https://www.knotapi.com/privacy"}]}]},"search":{"prompt":"Search or ask AI..."},"seo":{"organization":{"name":"Knot","url":"https://www.knotapi.com","sameAs":["https://www.linkedin.com/company/knotapi","https://x.com/KnotAPIs"]}},"fonts":{"heading":{"family":"Geist","weight":500},"body":{"family":"Geist","weight":400}},"styling":{"codeblocks":"system","latex":false},"integrations":{"segment":{"key":"2VQVWDiEQctuTfDIREdqA3l0KGlREyN5"}},"errors":{"404":{"redirect":false,"title":"Hello there...","description":"This page doesn’t exist, but your next opportunity might 👀. Check out [open roles at Knot](https://knotapi.com/careers). Looking for documentation? Start at the [introduction](/), browse the [documentation index (llms.txt)](/llms.txt) or [sitemap](/sitemap.xml), or [contact Knot](https://www.knotapi.com/contact/)."}},"contextual":{"options":["assistant","copy","add-mcp","chatgpt","claude","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"knot","hasAudioNarration":true,"actualSubdomain":"knot","customDomains":["docs.knotapi.com"],"gitSource":{"type":"github","owner":"millionscard","repo":"knot-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae5e9f23badfbce406c289d","collectionId":"38f901f9-21df-4d2e-a4e4-73c005aad25f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae5e9f23badfbce406c289d"},"feedback":{"edits":false,"thumbs":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae5e9f23badfbce406c289d","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Docs","count":76},{"language":"default","tag":"API Reference","count":48},{"language":"default","tag":"Webhook Events","count":28},{"language":"default","tag":"CardSwitcher","count":19},{"language":"default","tag":"TransactionLink","count":16},{"language":"default","tag":"Merchant Account Linking","count":13},{"language":"default","tag":"SubscriptionManager","count":12},{"language":"default","tag":"SDK","count":12},{"language":"default","tag":"Shopping","count":9},{"language":"default","tag":"Use Cases","count":8}],"searchSettings":{"showContentSnippets":true,"isFiltersEnabled":false}},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":false,"deflection":{"enabled":true,"email":"product@knotapi.com"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"6900107fa0d9fd2c40a2a17e","deploymentId":"67259f59f39b3bc1a898c425","questionText":"How do I get a list of available merchants?","status":"active","generatedBy":"manual","createdAt":"2025-10-28T00:38:23.158Z","updatedAt":"2025-10-28T00:38:23.158Z","__v":0},{"_id":"69001016a0d9fd2c40a27dce","deploymentId":"67259f59f39b3bc1a898c425","questionText":"How do I send card data to Knot?","status":"active","generatedBy":"manual","createdAt":"2025-10-28T00:36:38.949Z","updatedAt":"2025-10-28T00:36:38.949Z","__v":0},{"_id":"69000fe3a0d9fd2c40a26975","deploymentId":"67259f59f39b3bc1a898c425","questionText":"How do I create a session?","status":"active","generatedBy":"manual","createdAt":"2025-10-28T00:35:47.577Z","updatedAt":"2025-10-28T00:35:47.577Z","__v":0}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":"html[data-current-path=\"/api-reference/work-at-knot/apply\"] #sidebar{display:none}html[data-current-path=\"/api-reference/work-at-knot/apply\"] #content-area{margin-left:0;padding-left:0;max-width:100%}"}],"page":{"pagePath":"launch-checklist","slug":"/launch-checklist","pageMetadata":{"title":"Launch checklist","description":"Essential checklist of tasks to complete before launching your Knot integration in production.","href":"/launch-checklist"},"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: \"Essential checklist of tasks to complete before launching your Knot integration in production.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsx(_components.p,{children:`Ensure you complete all of the below tasks before launching your integration with Knot in production.`})}),`\n`,_jsx(Heading,{level:`2`,id:`basic-setup`,children:`Basic setup`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Contact the Knot team to request production access and align on your go-live timeline`}),`\n`,_jsxs(_components.li,{children:[`Retrieve your production `,_jsx(_components.code,{children:`client_id`}),` and generate a `,_jsx(_components.code,{children:`secret`}),` to create your API key for the production environment`]}),`\n`,_jsx(_components.li,{children:`Do not store your production credentials in source control or client-accessible code`}),`\n`,_jsxs(_components.li,{children:[`Configure a webhook for the production environment in the `,_jsx(_components.a,{href:`https://dashboard.knotapi.com/developers/webhooks`,children:`Knot Dashboard`}),` to receive critical server-side events webhooks`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`sdk`,children:`SDK`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Install and use the latest version of the Knot SDK, including bumping to any patch versions`}),`\n`,_jsxs(_components.li,{children:[`Call `,_jsx(_components.a,{href:`/api-reference/sessions/create-session`,children:`Create Session`}),` to generate a new session `,_jsx(_components.strong,{children:`every time`}),` you initialize the SDK`]}),`\n`,_jsx(_components.li,{children:`Do not log session IDs internally or in 3rd party tooling`}),`\n`,_jsx(_components.li,{children:`Only invoke the Knot SDK with sessions generated with your production API key in your production environment`}),`\n`,_jsxs(_components.li,{children:[`Pass your production `,_jsx(_components.code,{children:`client_id`}),` and `,_jsx(_components.code,{children:`environment: production`}),` when invoking the Knot SDK in your production environment`]}),`\n`,_jsxs(_components.li,{children:[`Handle client-side callbacks (`,_jsx(_components.code,{children:`onSuccess`}),`, `,_jsx(_components.code,{children:`onError`}),`, `,_jsx(_components.code,{children:`onExit`}),`, `,_jsx(_components.code,{children:`onEvent`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Pass a value for the `,_jsx(_components.a,{href:`/sdk/ios#configure-the-session`,children:_jsx(_components.code,{children:`entry_point`})}),` parameter at SDK initialization for analytics \u0026 funnel tracking`]}),`\n`,_jsxs(_components.li,{children:[`In case users use the Knot SDK for >30 minutes when the session will expire, handle the `,_jsx(_components.code,{children:`onEvent`}),` callback with `,_jsx(_components.code,{children:`event: REFRESH_SESSION_REQUEST`}),` and call `,_jsx(_components.a,{href:`/api-reference/sessions/extend-session`,children:`Extend Session`}),` when you receive the event`]}),`\n`,_jsxs(_components.li,{children:[`If using the Web SDK, you can optionally enable domain allowlisting by reaching out to the Knot team, then allowlisting domains in the `,_jsx(_components.a,{href:`https://dashboard.knotapi.com/developers/domains`,children:`Knot Dashboard`}),` for additional security.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`other`,children:`Other`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Remove any test/development/staging credentials (e.g., `,_jsx(_components.code,{children:`user_good`}),`) from client-side or server-side code for production`]}),`\n`,_jsx(_components.li,{children:`Contact Knot team to request production access and align go-live timeline`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`product-specific`,children:`Product-Specific`}),`\n`,_jsx(Heading,{level:`3`,id:`cardswitcher`,children:`CardSwitcher`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Always call `,_jsx(_components.a,{href:`/api-reference/products/card-switcher/switch-card-jwe`,children:`Switch Card (JWE)`}),` or `,_jsx(_components.a,{href:`/api-reference/products/card-switcher/switch-card`,children:`Switch Card`}),` within 15 seconds of receiving the `,_jsx(_components.code,{children:`AUTHENTICATED`}),` webhook`]}),`\n`,_jsxs(_components.li,{children:[`If you display merchants natively in your app, handle the `,_jsx(_components.a,{href:`/link/webhook-events/merchant-status-update`,children:_jsx(_components.code,{children:`MERCHANT_STATUS_UPDATE`})}),` webhook event to gracefully handle changes in merchant availability by product `,_jsx(_components.code,{children:`type`}),`, `,_jsx(_components.code,{children:`platform`}),`, and `,_jsx(_components.code,{children:`min_sdk_version`}),` (more `,_jsx(_components.a,{href:`/link/retrieving-and-listing-merchants#retrieving%2C-listing%2C-and-searching`,children:`here`}),`)`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Launch checklist","description":"Essential checklist of tasks to complete before launching your Knot integration in production.","href":"/launch-checklist"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Basic setup","slug":"basic-setup","depth":2,"children":[]},{"title":"SDK","slug":"sdk","depth":2,"children":[]},{"title":"Other","slug":"other","depth":2,"children":[]},{"title":"Product-Specific","slug":"product-specific","depth":2,"children":[{"title":"CardSwitcher","slug":"cardswitcher","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"narration":{"path":"launch-checklist","locale":"en","estimatedDurationSec":126},"subdomain":"knot","siteName":"Knot","title":"Launch checklist - Knot","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-01T14:09:18.910Z","originalFileLocation":"launch-checklist.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=\"Essential checklist of tasks to complete before launching your Knot integration in production.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Knot\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/knot/X2cfOEMCNQ4RTMjp/_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/knot/X2cfOEMCNQ4RTMjp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/knot/X2cfOEMCNQ4RTMjp/_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/knot/X2cfOEMCNQ4RTMjp/_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/knot/X2cfOEMCNQ4RTMjp/_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/knot/X2cfOEMCNQ4RTMjp/_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/knot/X2cfOEMCNQ4RTMjp/_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/knot/X2cfOEMCNQ4RTMjp/_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/knot/X2cfOEMCNQ4RTMjp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Launch checklist - Knot\">\u003cmeta data-mint-head property=\"og:description\" content=\"Essential checklist of tasks to complete before launching your Knot integration in production.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Knot\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.knotapi.com/launch-checklist\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://knot.mintlify.app/_mintlify/api/og/v2?division=CardSwitcher\u0026amp;title=Launch+checklist\u0026amp;description=Essential+checklist+of+tasks+to+complete+before+launching+your+Knot+integration+in+production.\u0026amp;theme=c2017d1867bb9f3af1e4a591\u0026amp;signature=ab9e5876b4d3673b278f4a5e0ecce01be3c6a9e7c907fd726276afcbd8ef5ad6\">\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=\"Launch checklist - Knot\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Essential checklist of tasks to complete before launching your Knot integration in production.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://knot.mintlify.app/_mintlify/api/og/v2?division=CardSwitcher\u0026amp;title=Launch+checklist\u0026amp;description=Essential+checklist+of+tasks+to+complete+before+launching+your+Knot+integration+in+production.\u0026amp;theme=c2017d1867bb9f3af1e4a591\u0026amp;signature=ab9e5876b4d3673b278f4a5e0ecce01be3c6a9e7c907fd726276afcbd8ef5ad6\">\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/knot/X2cfOEMCNQ4RTMjp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Knot\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F0E0E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.knotapi.com/launch-checklist\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/launch-checklist.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.knotapi.com/#organization\",\"name\":\"Knot\",\"url\":\"https://www.knotapi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/knot/VBuG2prLV3p6xOTo/logo/light.svg?fit=max\u0026auto=format\u0026n=VBuG2prLV3p6xOTo\u0026q=85\u0026s=fd06fd47577a90c8e224072b4be0e5dd\"},\"sameAs\":[\"https://www.linkedin.com/company/knotapi\",\"https://x.com/KnotAPIs\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.knotapi.com#website\",\"name\":\"Knot\",\"url\":\"https://docs.knotapi.com\",\"publisher\":{\"@id\":\"https://www.knotapi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.knotapi.com/launch-checklist#webpage\",\"url\":\"https://docs.knotapi.com/launch-checklist\",\"name\":\"Launch checklist\",\"description\":\"Essential checklist of tasks to complete before launching your Knot integration in production.\",\"dateModified\":\"2026-10-01T14:09:18.910Z\",\"isPartOf\":{\"@id\":\"https://docs.knotapi.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.knotapi.com/launch-checklist#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.knotapi.com/launch-checklist#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"CardSwitcher\",\"item\":\"https://docs.knotapi.com/card-switcher/quickstart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Launch checklist\",\"item\":\"https://docs.knotapi.com/launch-checklist\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.knotapi.com/launch-checklist#article\",\"headline\":\"Launch checklist\",\"name\":\"Launch checklist\",\"description\":\"Essential checklist of tasks to complete before launching your Knot integration in production.\",\"url\":\"https://docs.knotapi.com/launch-checklist\",\"mainEntityOfPage\":{\"@id\":\"https://docs.knotapi.com/launch-checklist#webpage\"},\"dateModified\":\"2026-10-01T14:09:18.910Z\",\"publisher\":{\"@id\":\"https://www.knotapi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.knotapi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Knot\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Knot","nav":{"global":null,"tabs":[{"tab":"Docs","groups":[{"group":"General","pages":[{"title":"Knot API Documentation","sidebarTitle":"Introduction","mode":"frame","href":""},{"group":"Build with AI","pages":[{"title":"Skills","href":"/ai/skills"},{"title":"Docs MCP server","href":"/ai/mcp-server"}]},{"group":"Dashboard","pages":[{"title":"Overview","href":"/dashboard/overview"},{"title":"Single sign-on","href":"/dashboard/single-sign-on"}]},{"title":"Webhooks","href":"/webhooks"}]},{"group":"Supernova","tag":"Early access","pages":[{"title":"Quickstart","href":"/supernova/quickstart"},{"title":"Tools","href":"/supernova/tools"}]},{"group":"SDK","pages":[{"title":"Introduction","href":"/sdk/introduction"},{"title":"Localization","href":"/localization"},{"title":"iOS SDK","href":"/sdk/ios"},{"title":"Android SDK","href":"/sdk/android"},{"title":"React Native SDK","href":"/sdk/react-native"},{"title":"Flutter SDK","href":"/sdk/flutter"},{"title":"Web SDK","href":"/sdk/web"},{"group":"Migration Guides","pages":[{"title":"iOS version 1.0+","href":"/sdk/migration-guides/ios/ios-1-0"},{"title":"Android version 2.0+","href":"/sdk/migration-guides/android/android-2-0"},{"title":"React Native version 1.0+","href":"/sdk/migration-guides/react-native/react-native-1-0"},{"title":"Flutter version 1.0+","href":"/sdk/migration-guides/flutter/flutter-1-0"},{"title":"Web version 1.0+","href":"/sdk/migration-guides/web/web-1-0"}]}]},{"group":"CardSwitcher","pages":[{"title":"Quickstart","href":"/card-switcher/quickstart"},{"group":"Webhook Events","pages":[{"title":"CARD_UPDATED","openapi":"api-reference/openapi.json webhook card_updated","href":"/card-switcher/webhook-events/card-updated"},{"title":"CARD_FAILED","openapi":"api-reference/openapi.json webhook card_failed","href":"/card-switcher/webhook-events/card-failed"},{"title":"AUTHENTICATED","openapi":"api-reference/openapi.json webhook authenticated","href":"/link/webhook-events/authenticated"},{"title":"MERCHANT_STATUS_UPDATE","openapi":"api-reference/openapi.json webhook merchant_status_update","href":"/link/webhook-events/merchant-status-update"}]},{"title":"Testing","description":"Use test credentials and best practices to test CardSwitcher functionality in development and production environments.","href":"/card-switcher/testing"},{"title":"Launch checklist","href":"/launch-checklist"},{"title":"Sending card \u0026 bank account data","description":"Learn how to securely send card \u0026 bank account data to Knot using JWE encryption, vault providers, or processor integrations.","href":"/card-switcher/sending-card-data"},{"title":"Knot Zero","href":"/card-switcher/knot-zero"},{"title":"Personalization","href":"/card-switcher/personalization"},{"title":"Server-side updates","href":"/card-switcher/card-updater"},{"group":"Processor \u0026 Digital Banking Integrations","pages":[{"title":"Unit","href":"/card-switcher/processor-digital-banking-integrations/unit"},{"title":"I2C","href":"/card-switcher/processor-digital-banking-integrations/i2c"},{"title":"Q2","href":"/card-switcher/processor-digital-banking-integrations/q2"}]},{"title":"Plaid integration","href":"/card-switcher/plaid-integration"}]},{"group":"SubscriptionManager","pages":[{"title":"Quickstart","href":"/subscription-manager/quickstart"},{"group":"Webhook Events","pages":[{"title":"CARD_UPDATED","openapi":"api-reference/openapi.json webhook card_updated","href":"/card-switcher/webhook-events/card-updated"},{"title":"NEW_SUBSCRIPTIONS_AVAILABLE","openapi":"api-reference/openapi.json webhook new_subscriptions_available","href":"/subscription-manager/webhook-events/new-subscriptions-available"},{"title":"UPDATED_SUBSCRIPTIONS_AVAILABLE","openapi":"api-reference/openapi.json webhook updated_subscriptions_available","href":"/subscription-manager/webhook-events/updated-subscriptions-available"},{"title":"CANCELLATION_SUCCEEDED","openapi":"api-reference/openapi.json webhook cancellation_succeeded","href":"/subscription-manager/webhook-events/cancellation-succeeded"},{"title":"CANCELLATION_FAILED","openapi":"api-reference/openapi.json webhook cancellation_failed","href":"/subscription-manager/webhook-events/cancellation-failed"}]}]},{"group":"TransactionLink","pages":[{"group":"Use Cases","root":{"title":"Knot use case gallery for banking and fintech apps","sidebarTitle":"Use cases","mode":"default","href":"/use-cases/gallery"},"pages":[{"title":"Upcoming subscription charge funding alerts","href":"/use-cases/upcoming-charge-funding-alert"},{"title":"Enrich transactions with SKU-level purchase details","href":"/use-cases/enrich-transaction-details"},{"title":"Dispute deflection","href":"/use-cases/dispute-deflection"},{"title":"Personalized dining deals","href":"/use-cases/personalized-dining-deals"},{"title":"Post-purchase price adjustment refunds with Knot","href":"/use-cases/post-purchase-price-adjustment"},{"title":"Store brand alternative savings","href":"/use-cases/store-brand-alternative-savings"},{"title":"Cross-merchant savings","href":"/use-cases/cross-merchant-savings"},{"title":"Shopping list","href":"/use-cases/shopping-list"}]},{"title":"Quickstart","href":"/transaction-link/quickstart"},{"group":"Webhook Events","pages":[{"title":"NEW_TRANSACTIONS_AVAILABLE","openapi":"api-reference/openapi.json webhook new_transactions_available","href":"/transaction-link/webhook-events/new-transactions-available"},{"title":"UPDATED_TRANSACTIONS_AVAILABLE","openapi":"api-reference/openapi.json webhook updated_transactions_available","href":"/transaction-link/webhook-events/updated-transactions-available"},{"title":"AUTHENTICATED","openapi":"api-reference/openapi.json webhook authenticated","href":"/link/webhook-events/authenticated"},{"title":"MERCHANT_STATUS_UPDATE","openapi":"api-reference/openapi.json webhook merchant_status_update","href":"/link/webhook-events/merchant-status-update"},{"title":"ACCOUNT_LOGIN_REQUIRED","openapi":"api-reference/openapi.json webhook account_login_required","href":"/link/webhook-events/account-login-required"}]},{"title":"Testing","href":"/transaction-link/testing"}]},{"group":"Detect","pages":[{"title":"Quickstart","href":"/detect/quickstart"},{"group":"Webhook Events","pages":[{"title":"NEW_DETECTED_ACCOUNTS_AVAILABLE","openapi":"api-reference/openapi.json webhook new_detected_accounts_available","href":"/detect/webhook-events/new-detected-accounts-available"},{"title":"AUTHENTICATED","openapi":"api-reference/openapi.json webhook authenticated","href":"/link/webhook-events/authenticated"}]}]},{"group":"Vaulting","pages":[{"title":"Quickstart","href":"/vaulting/quickstart"},{"group":"Webhook Events","pages":[{"title":"VAULTING_SUCCEEDED","openapi":"api-reference/openapi.json webhook vaulting_succeeded","href":"/vaulting/webhook-events/vaulting-succeeded"},{"title":"VAULTING_FAILED","openapi":"api-reference/openapi.json webhook vaulting_failed","href":"/vaulting/webhook-events/vaulting-failed"},{"title":"AUTHENTICATED","openapi":"api-reference/openapi.json webhook authenticated","href":"/link/webhook-events/authenticated"},{"title":"MERCHANT_STATUS_UPDATE","openapi":"api-reference/openapi.json webhook merchant_status_update","href":"/link/webhook-events/merchant-status-update"}]},{"title":"Testing","href":"/vaulting/testing"}]},{"group":"Shopping","pages":[{"title":"Quickstart","href":"/shopping/quickstart"},{"group":"Webhook Events","pages":[{"title":"SYNC_CART_SUCCEEDED","openapi":"api-reference/openapi.json webhook sync_cart_succeeded","href":"/shopping/webhook-events/sync-cart-succeeded"},{"title":"SYNC_CART_FAILED","openapi":"api-reference/openapi.json webhook sync_cart_failed","href":"/shopping/webhook-events/sync-cart-failed"},{"title":"CHECKOUT_SUCCEEDED","openapi":"api-reference/openapi.json webhook checkout_succeeded","href":"/shopping/webhook-events/checkout-succeeded"},{"title":"CHECKOUT_FAILED","openapi":"api-reference/openapi.json webhook checkout_failed","href":"/shopping/webhook-events/checkout-failed"},{"title":"AUTHENTICATED","openapi":"api-reference/openapi.json webhook authenticated","href":"/link/webhook-events/authenticated"},{"title":"MERCHANT_STATUS_UPDATE","openapi":"api-reference/openapi.json webhook merchant_status_update","href":"/link/webhook-events/merchant-status-update"},{"title":"ACCOUNT_LOGIN_REQUIRED","openapi":"api-reference/openapi.json webhook account_login_required","href":"/link/webhook-events/account-login-required"}]},{"title":"Testing","href":"/shopping/testing"}]},{"group":"Merchant Account Linking","pages":[{"group":"Webhook Events","pages":[{"title":"CREDENTIALS_FAILED","openapi":"api-reference/openapi.json webhook credentials_failed","href":"/link/webhook-events/credentials-failed"},{"title":"OTP_REQUIRED","openapi":"api-reference/openapi.json webhook otp_required","href":"/link/webhook-events/otp-required"},{"title":"OTP_FAILED","openapi":"api-reference/openapi.json webhook otp_failed","href":"/link/webhook-events/otp-failed"},{"title":"QUESTIONS_REQUIRED","openapi":"api-reference/openapi.json webhook questions_required","href":"/link/webhook-events/questions-required"},{"title":"QUESTIONS_FAILED","openapi":"api-reference/openapi.json webhook questions_failed","href":"/link/webhook-events/questions-failed"},{"title":"DOB_REQUIRED","openapi":"api-reference/openapi.json webhook dob_required","href":"/link/webhook-events/dob-required"},{"title":"DOB_FAILED","openapi":"api-reference/openapi.json webhook dob_failed","href":"/link/webhook-events/dob-failed"},{"title":"LICENSE_REQUIRED","openapi":"api-reference/openapi.json webhook license_required","href":"/link/webhook-events/license-required"},{"title":"LICENSE_FAILED","openapi":"api-reference/openapi.json webhook license_failed","href":"/link/webhook-events/license-failed"},{"title":"LOGIN_APPROVAL","openapi":"api-reference/openapi.json webhook login_approval","href":"/link/webhook-events/login-approval"},{"title":"AUTHENTICATED","openapi":"api-reference/openapi.json webhook authenticated","href":"/link/webhook-events/authenticated"},{"title":"MERCHANT_STATUS_UPDATE","openapi":"api-reference/openapi.json webhook merchant_status_update","href":"/link/webhook-events/merchant-status-update"}]},{"title":"Retrieving and listing merchants","href":"/link/retrieving-and-listing-merchants"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/authentication"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/product-updates"}]}]},"basePath":"","title":"Launch checklist - Knot","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["2bfc744e19"],"chunks":["NarrationPlayer-Cu2BQT2J.js","types-CiTgMxws.js","shallow-DV8xABTt.js"]}