Tight integrates directly with Snowflake to periodically upload raw accounting data to your own Snowflake data warehouse. By pushing data into your Snowflake infrastructure, Tight eliminates the need for your data team to build direct connections to the Tight API, allowing your team to work in the data stack they’re already using.Data is exported in Parquet file format on daily, weekly, or monthly intervals, including bank linkage data, invoices, lifecycle events, and transactions. Learn more about available data types and use cases in the Data Lakes guide.
If you haven’t done so already, create a Snowflake account and create a Snowflake Managed Stage where Tight will upload your data. You can name this stage anything you’d like; “TIGHT_DATALAKE_UPLOADS” is used for the examples shown below.Make note of the database name and stage name, as you’ll need to share these with Tight.
Next, generate key pair authentication keys for secure authentication to your Snowflake account.From the command prompt, execute the following commands:
Grant the necessary permissions to the TIGHT_UPLOADER_ROLE:Grant USAGE to Database:Grant USAGE to the PUBLIC Schema:Grant READ/WRITE to the Stage:Grant read and write permissions to the stage you created (e.g., TIGHT_DATALAKE_UPLOADS):
Create a service user using Snowflake SQL. Service users with RSA authentication cannot be created through the Snowflake UI, so you’ll need to execute SQL commands.Using the public key from rsa_key.pub that you generated earlier, execute the following SQL statement:
CREATE OR REPLACE USER TIGHT_UPLOADER_USERTYPE = SERVICERSA_PUBLIC_KEY = '-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0chQEeQSKX3I+Y5VD3M+kyPEbFDTgmEqxgerz3hIihUGV+iWWoHdeUYFCORfK1p/Sa3e3u79h1+hI4e9lsWU8xLUCUlcfImbu7EbZ5oNYlhRi5nFhkqN4YlylbUghlsmJv7GK4L68i9M/WUoG9RRyvHghltIMpwbQfRZ4wYG5Dc2sl7ZbCe8qn7VGrSzWWcex3WK9K8kbBJkK86H8X7uL1QgY+a//s32HuBmbfV8+x4kC3oSrFhPDFJX5kJI33UPqRNyuhSZOuJMMNhXX8bhPAKY4ExZVotEKX+p8hZ0La5N7TT+Ma08Zp9WR5YGuG2XPK+9dE2Yg9Luauc+R4hjwwIDAQAB-----END PUBLIC KEY-----'DEFAULT_ROLE = 'TIGHT_UPLOADER_ROLE'DEFAULT_WAREHOUSE = 'COMPUTE_WH'COMMENT = 'Tight service account for uploading to stage';
Replace the example RSA public key with your actual public key.
Replace the example RSA public key with the contents of your rsa_key.pub file, including the BEGIN and END markers.
Contact Tight directly at api@tight.com for instructions on how to securely share:
Snowflake account identifier (e.g., GSX***-****)
Database name
Schema name (typically PUBLIC)
Stage name (e.g., TIGHT_DATALAKE_UPLOADS)
Service user name (e.g., TIGHT_UPLOADER_USER)
RSA private key file (rsa_key.p8)
Once configured, Tight will automatically begin uploading data files to your Snowflake stage based on your preferred schedule (daily, weekly, or monthly). Files are organized in a consistent directory structure within your stage, making it easy to integrate with your existing data pipelines and analytics tools.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Tight API","colors":{"primary":"#2ab2d1","light":"#2ad17b","dark":"#009c75"},"logo":{"light":"https://mintcdn.com/tight-7c882d74/g3bHUuD81P-TYOyV/logo/light.svg?fit=max\u0026auto=format\u0026n=g3bHUuD81P-TYOyV\u0026q=85\u0026s=7efc18a7fc4dff02d17ed0eb2de01e0c","dark":"https://mintcdn.com/tight-7c882d74/g3bHUuD81P-TYOyV/logo/dark.svg?fit=max\u0026auto=format\u0026n=g3bHUuD81P-TYOyV\u0026q=85\u0026s=59da536242351519afec1ab104b7d80c"},"favicon":"https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/favicon.svg?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=1871b49a7fbf78ef4003d250529f1140","navbar":{"primary":{"type":"button","label":"Request Access","href":"https://www.tight.com/#get-started"}},"seo":{"metatags":{"canonical":"https://docs.tight.com"}},"integrations":{"ga4":{"measurementId":"G-64X67ZWYYY"}},"contextual":{"options":["claude","assistant","cursor","vscode","mcp","copy","chatgpt","perplexity","view"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tight-7c882d74","hasAudioNarration":false,"actualSubdomain":"tight-7c882d74","customDomains":["docs.tight.com"],"gitSource":{"type":"github","owner":"tight-embedded","repo":"traxdocs","deployBranch":"dev","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb30dfd61fde81da2f4fc3","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":484},{"language":"default","tag":"Reference","count":481},{"language":"default","tag":"Company Management","count":177},{"language":"default","tag":"Guides","count":88},{"language":"default","tag":"Embedded UI","count":78},{"language":"default","tag":"Integrations","count":69},{"language":"default","tag":"Products","count":62},{"language":"default","tag":"Invoicing","count":45},{"language":"default","tag":"Banks","count":44},{"language":"default","tag":"Transactions","count":40}]},"assistantConfig":{},"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":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#sidebar:has(~#content-container [data-page-title=\"Playground\"]){display:none}#content-container:has([data-page-title=\"Playground\"]){margin-left:0}#content-area:has([data-page-title=\"Playground\"]) div:has(.chat-assistant-floating-input){display:none}#sidebar-content a{width:auto}#navigation-items{width:100%}"}],"page":{"pagePath":"integrations/analytics/snowflake","slug":"/integrations/analytics/snowflake","pageMetadata":{"title":"Snowflake","description":"Push accounting data directly to your Snowflake data warehouse","href":"/integrations/analytics/snowflake"},"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: \"Push accounting data directly to your Snowflake data warehouse\"\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`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Tight integrates directly with Snowflake to periodically upload raw accounting data to your own Snowflake data warehouse. By pushing data into your Snowflake infrastructure, Tight eliminates the need for your data team to build direct connections to the Tight API, allowing your team to work in the data stack they’re already using.`}),`\n`,_jsxs(_components.p,{children:[`Data is exported in `,_jsx(_components.a,{href:`https://parquet.apache.org/`,children:`Parquet file`}),` format on daily, weekly, or monthly intervals, including bank linkage data, invoices, lifecycle events, and transactions. Learn more about available data types and use cases in the `,_jsx(_components.a,{href:`/guides/business-owners/data-lakes`,children:`Data Lakes guide`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-snowflake-managed-stage`,children:`Create a Snowflake Managed Stage`}),`\n`,_jsxs(_components.p,{children:[`If you haven’t done so already, create a `,_jsx(_components.a,{href:`https://www.snowflake.com/`,children:`Snowflake account`}),` and `,_jsx(_components.a,{href:`https://docs.snowflake.com/en/developer-guide/snowflake-cli/stages/manage-stages`,children:`create a Snowflake Managed Stage`}),` where Tight will upload your data. You can name this stage anything you’d like; “TIGHT_DATALAKE_UPLOADS” is used for the examples shown below.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/1.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=81e67f3eccfab24cf03d0b5480b3ac73`,alt:`Snowflake Stages`,\"data-og-width\":`842`,width:`842`,\"data-og-height\":`670`,height:`670`,\"data-path\":`integrations/analytics/snowflakeFiles/1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/1.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=12e3ae7040942952b66196b492aa16bf 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/1.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=a7cfe9664aeec09daea947d7a6005cfd 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/1.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=cf0be3cc6648559411bab4542748d912 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=ebf2b6447d0276163c478f6f8e23c50a 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=24b2b1d08496ebe3fe01cc4d1035c3d4 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=23abc67c472ea013c057c138813cca9a 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/2.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=2512810103ff3cfa36a52f3d923742d9`,alt:`Create Snowflake Stage`,\"data-og-width\":`569`,width:`569`,\"data-og-height\":`782`,height:`782`,\"data-path\":`integrations/analytics/snowflakeFiles/2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/2.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=a8452024b2f2f627b6c30fec0c7cb7fa 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/2.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=35fb24ac1d777b8f2045a8ee87a783e0 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/2.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=8b750e5b45d2dd8b291c97b7c7d522c1 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=04242b409317eb79c5e5385b0c608c4c 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=b23a886bcc9ceb3c2b9e5070e9cd4eb3 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=4fb0aa8653991fcd744b7e171d17180e 2500w`}),`\n`,_jsx(_components.p,{children:`Make note of the database name and stage name, as you’ll need to share these with Tight.`}),`\n`,_jsx(Heading,{level:`2`,id:`create-key-pair-authentication-keys`,children:`Create Key Pair Authentication Keys`}),`\n`,_jsxs(_components.p,{children:[`Next, `,_jsx(_components.a,{href:`https://docs.snowflake.com/en/user-guide/key-pair-auth`,children:`generate key pair authentication keys`}),` for secure authentication to your Snowflake account.`]}),`\n`,_jsx(_components.p,{children:`From the command prompt, execute the following commands:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` genrsa`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2048`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pkcs8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -topk8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -inform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PEM`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -out`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa_key.p8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -nocrypt`})]}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -in`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa_key.p8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -pubout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -out`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa_key.pub`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Save both `,_jsx(_components.code,{children:`rsa_key.p8`}),` and `,_jsx(_components.code,{children:`rsa_key.pub`}),` files securely for use in later steps.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Store the private key (`,_jsx(_components.code,{children:`rsa_key.p8`}),`) securely. You’ll need to share this with Tight to enable data uploads.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`create-an-upload-role`,children:`Create an Upload Role`}),`\n`,_jsxs(_components.p,{children:[`Create a dedicated role for Tight to use when uploading data to your Snowflake warehouse. For example, name it `,_jsx(_components.code,{children:`TIGHT_UPLOADER_ROLE`}),`:`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/3.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=324ba0b2b6761335c0efc4c4b20be0b0`,alt:`New Snowflake Role`,\"data-og-width\":`897`,width:`897`,\"data-og-height\":`614`,height:`614`,\"data-path\":`integrations/analytics/snowflakeFiles/3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/3.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=baa2efc6c5a468f93a649d4390c132c6 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/3.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=5be09344a911f9643dda0475429cb61b 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/3.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=3e22a1a975178fbb32645ae0c2c81427 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=45f65d417dbc870dd049fd30a4c835a7 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=b51c78697553f1007996d32cdd259c08 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=ebd3727c2da5156133567054aa57f9dd 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`grant-role-permissions`,children:`Grant Role Permissions`}),`\n`,_jsxs(_components.p,{children:[`Grant the necessary permissions to the `,_jsx(_components.code,{children:`TIGHT_UPLOADER_ROLE`}),`:`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Grant USAGE to Database:`})}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/4.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=3cd20db818c1ec818f6db9df386c30ab`,alt:`Grant Data Lake Privileges`,\"data-og-width\":`1027`,width:`1027`,\"data-og-height\":`470`,height:`470`,\"data-path\":`integrations/analytics/snowflakeFiles/4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/4.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=2aed002dea94ef14207b378d37624fc2 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/4.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=2cf6b4ff8aea92fe9cf4f2fe274a676e 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/4.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=bf72d6b98e582d8781087f7312007f72 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=bc6c74044f5e86ddd2bf396f06c3867f 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=f666cac803770890e7f22e423b2df5cd 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=af82f9f92cac5dca90d2b0dba412c424 2500w`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Grant USAGE to the PUBLIC Schema:`})}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/5.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=a269758ad0f3b6b1a7ca588ad7954028`,alt:`Grant Public Privileges`,\"data-og-width\":`1116`,width:`1116`,\"data-og-height\":`453`,height:`453`,\"data-path\":`integrations/analytics/snowflakeFiles/5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/5.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=68c3f5099631713d986511ddc08e8a2d 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/5.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=bcbb3486eb778d53bfad2c185ad8a6a0 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/5.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=b0aefda7e5b41e247dfe18e42cdf1db9 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=0dbe2aab01ba2d5d30e5c45141af98f9 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=4f266238946ea5ece7a5d08edcfd96c6 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=6aa06fd9acb06f0969d95c53a37d24cd 2500w`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Grant READ/WRITE to the Stage:`})}),`\n`,_jsxs(_components.p,{children:[`Grant read and write permissions to the stage you created (e.g., `,_jsx(_components.code,{children:`TIGHT_DATALAKE_UPLOADS`}),`):`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/6.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=bc6ea08f8f67a6e36ae7264ff155ccca`,alt:`Grant Read/Write Access`,\"data-og-width\":`1080`,width:`1080`,\"data-og-height\":`543`,height:`543`,\"data-path\":`integrations/analytics/snowflakeFiles/6.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/6.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=29ae38899950a7e79ccb8de849850e4d 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/6.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=34a5ed67931ab42e86790df7b253b2d4 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/6.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=45738d947ca23ffae40a87165fa29ade 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/6.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=53949a8e2858b27085b97ac7d9dcce4c 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/6.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=63f55587b7713cbd53f18d2c785c9a3a 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/6.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=5addc14b09b1224fa26b7cf831fae553 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-service-user`,children:`Create a Service User`}),`\n`,_jsx(_components.p,{children:`Create a service user using Snowflake SQL. Service users with RSA authentication cannot be created through the Snowflake UI, so you’ll need to execute SQL commands.`}),`\n`,_jsxs(_components.p,{children:[`Using the public key from `,_jsx(_components.code,{children:`rsa_key.pub`}),` that you generated earlier, execute the following SQL statement:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`sql`,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:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE OR REPLACE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` USER`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` TIGHT_UPLOADER_USER`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`TYPE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SERVICE`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`RSA_PUBLIC_KEY `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '-----BEGIN PUBLIC KEY-----`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0chQEeQSKX3I+Y5VD3M+`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`kyPEbFDTgmEqxgerz3hIihUGV+iWWoHdeUYFCORfK1p/Sa3e3u79h1+hI4e9lsWU`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`8xLUCUlcfImbu7EbZ5oNYlhRi5nFhkqN4YlylbUghlsmJv7GK4L68i9M/WUoG9RR`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`yvHghltIMpwbQfRZ4wYG5Dc2sl7ZbCe8qn7VGrSzWWcex3WK9K8kbBJkK86H8X7u`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`L1QgY+a//s32HuBmbfV8+x4kC3oSrFhPDFJX5kJI33UPqRNyuhSZOuJMMNhXX8bh`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`PAKY4ExZVotEKX+p8hZ0La5N7TT+Ma08Zp9WR5YGuG2XPK+9dE2Yg9Luauc+R4hj`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`wwIDAQAB`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`-----END PUBLIC KEY-----'`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DEFAULT_ROLE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'TIGHT_UPLOADER_ROLE'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DEFAULT_WAREHOUSE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'COMPUTE_WH'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`COMMENT `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Tight service account for uploading to stage'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),`\n`,_jsx(Tip,{children:`Replace the example RSA public key with your actual public key.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/7.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=112a246ab39e2514fc90eaaaf83bad95`,alt:`Tight Snowflake User`,\"data-og-width\":`1025`,width:`1025`,\"data-og-height\":`410`,height:`410`,\"data-path\":`integrations/analytics/snowflakeFiles/7.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/7.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=93dc0ceeaea34a4bb50994ab530a5ea1 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/7.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=96faa4f14ad46d917017cb2052db47df 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/7.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=934044689b0d37ad6e9e0ab1b1f34f5b 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/7.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=cb596c50b6b0a18b6126b29f5ce686c9 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/7.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=016043bc4fa02003b4bab47d249ec957 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/7.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=f580391a2555ee2e3fda5820730506dc 2500w`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Replace the example RSA public key with the contents of your `,_jsx(_components.code,{children:`rsa_key.pub`}),` file, including the BEGIN and END markers.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`grant-role-to-service-user`,children:`Grant Role to Service User`}),`\n`,_jsxs(_components.p,{children:[`Grant the `,_jsx(_components.code,{children:`TIGHT_UPLOADER_ROLE`}),` to your `,_jsx(_components.code,{children:`TIGHT_UPLOADER_USER`}),`:`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/8.png?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=a4099a87949e99c54dac5b83e85a5a0d`,alt:`Role Specification`,\"data-og-width\":`958`,width:`958`,\"data-og-height\":`473`,height:`473`,\"data-path\":`integrations/analytics/snowflakeFiles/8.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/8.png?w=280\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=9786fae417e37df886a6094f6079fb67 280w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/8.png?w=560\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=604fcdd0718f2a50f10e6b41300e0e48 560w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/8.png?w=840\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=0c928ebb7253d80b97b18a075751cd3b 840w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/8.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=dc8222e9641afd53611002e2565604fe 1100w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/8.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=6485f3236c302ea13e70fa3751df24b0 1650w, https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/integrations/analytics/snowflakeFiles/8.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=b01496b9feb426e52d84c8a0f001407c 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`securely-share-access-with-tight`,children:`Securely Share Access with Tight`}),`\n`,_jsxs(_components.p,{children:[`Contact Tight directly at `,_jsx(_components.a,{href:`mailto:api@tight.com`,children:`api@tight.com`}),` for instructions on how to securely share:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Snowflake account identifier (e.g., GSX***-****)`}),`\n`,_jsx(_components.li,{children:`Database name`}),`\n`,_jsx(_components.li,{children:`Schema name (typically PUBLIC)`}),`\n`,_jsx(_components.li,{children:`Stage name (e.g., TIGHT_DATALAKE_UPLOADS)`}),`\n`,_jsx(_components.li,{children:`Service user name (e.g., TIGHT_UPLOADER_USER)`}),`\n`,_jsxs(_components.li,{children:[`RSA private key file (`,_jsx(_components.code,{children:`rsa_key.p8`}),`)`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Once configured, Tight will automatically begin uploading data files to your Snowflake stage based on your preferred schedule (daily, weekly, or monthly). Files are organized in a consistent directory structure within your stage, making it easy to integrate with your existing data pipelines and analytics tools.`})]})}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":"Snowflake","description":"Push accounting data directly to your Snowflake data warehouse","href":"/integrations/analytics/snowflake"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Create a Snowflake Managed Stage","slug":"create-a-snowflake-managed-stage","depth":2,"children":[]},{"title":"Create Key Pair Authentication Keys","slug":"create-key-pair-authentication-keys","depth":2,"children":[]},{"title":"Create an Upload Role","slug":"create-an-upload-role","depth":2,"children":[]},{"title":"Grant Role Permissions","slug":"grant-role-permissions","depth":2,"children":[]},{"title":"Create a Service User","slug":"create-a-service-user","depth":2,"children":[]},{"title":"Grant Role to Service User","slug":"grant-role-to-service-user","depth":2,"children":[]},{"title":"Securely Share Access with Tight","slug":"securely-share-access-with-tight","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tight-7c882d74","siteName":"Tight API","title":"Snowflake - Tight API","navMaps":{"firstHrefInVersion":{"v6.0":{"href":"/integrations/analytics/snowflake","matchLevel":0},"v5.0":{"href":"/v5.0/getting-started/overview","matchLevel":4},"v4.0":{"href":"/v4.0/api-reference/authentication/create-a-tight-account","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-03-27T15:38:25.625Z","originalFileLocation":"integrations/analytics/snowflake.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=\"Push accounting data directly to your Snowflake data warehouse\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tight API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_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/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_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/tight-7c882d74/jFRG6eBf-CGG_9G0/_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/tight-7c882d74/jFRG6eBf-CGG_9G0/_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/tight-7c882d74/jFRG6eBf-CGG_9G0/_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/tight-7c882d74/jFRG6eBf-CGG_9G0/_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/tight-7c882d74/jFRG6eBf-CGG_9G0/_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/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Snowflake - Tight API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Push accounting data directly to your Snowflake data warehouse\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tight API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tight.com/integrations/analytics/snowflake\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tight-7c882d74.mintlify.site/_mintlify/api/og/v2?division=Data+%26+Analytics\u0026amp;title=Snowflake\u0026amp;description=Push+accounting+data+directly+to+your+Snowflake+data+warehouse\u0026amp;theme=ca0c5593681485dcdd2fa8b5\u0026amp;signature=cc8ad951d1e42a123207041d5f1e375822cbba9f2047da6d4b08eefd1b777cbc\">\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=\"Snowflake - Tight API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Push accounting data directly to your Snowflake data warehouse\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tight-7c882d74.mintlify.site/_mintlify/api/og/v2?division=Data+%26+Analytics\u0026amp;title=Snowflake\u0026amp;description=Push+accounting+data+directly+to+your+Snowflake+data+warehouse\u0026amp;theme=ca0c5593681485dcdd2fa8b5\u0026amp;signature=cc8ad951d1e42a123207041d5f1e375822cbba9f2047da6d4b08eefd1b777cbc\">\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/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tight API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2ab2d1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tight.com/integrations/analytics/snowflake\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/analytics/snowflake.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tight.com/#organization\",\"name\":\"Tight API\",\"url\":\"https://docs.tight.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tight-7c882d74/g3bHUuD81P-TYOyV/logo/light.svg?fit=max\u0026auto=format\u0026n=g3bHUuD81P-TYOyV\u0026q=85\u0026s=7efc18a7fc4dff02d17ed0eb2de01e0c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tight.com#website\",\"name\":\"Tight API\",\"url\":\"https://docs.tight.com\",\"publisher\":{\"@id\":\"https://docs.tight.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tight.com/integrations/analytics/snowflake#webpage\",\"url\":\"https://docs.tight.com/integrations/analytics/snowflake\",\"name\":\"Snowflake\",\"description\":\"Push accounting data directly to your Snowflake data warehouse\",\"dateModified\":\"2026-03-27T15:38:25.625Z\",\"isPartOf\":{\"@id\":\"https://docs.tight.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tight.com/integrations/analytics/snowflake#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tight.com/integrations/analytics/snowflake#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Native Integrations\",\"item\":\"https://docs.tight.com/integrations/banking/finicity\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data \u0026 Analytics\",\"item\":\"https://docs.tight.com/integrations/analytics/amazon-s3\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Snowflake\",\"item\":\"https://docs.tight.com/integrations/analytics/snowflake\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tight.com/integrations/analytics/snowflake#article\",\"headline\":\"Snowflake\",\"name\":\"Snowflake\",\"description\":\"Push accounting data directly to your Snowflake data warehouse\",\"url\":\"https://docs.tight.com/integrations/analytics/snowflake\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tight.com/integrations/analytics/snowflake#webpage\"},\"dateModified\":\"2026-03-27T15:38:25.625Z\",\"publisher\":{\"@id\":\"https://docs.tight.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tight.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tight API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tight API","nav":{"global":null,"versions":[{"version":"v6.0","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/get-started/introduction-to-tight-accounting-api"}]},{"tab":"AI","icon":"sparkles","pages":[{"title":"AI","href":"/ai/philosophy/ai-native-general-ledger"}]},{"tab":"Embedded UI","pages":[{"title":"Embedded UI","href":"/embeddable-ui/tight-embeddable-ui"}]},{"tab":"Integrations","pages":[{"group":"Integration Types","pages":[{"title":"Native Integrations","href":"/integrations/native-integrations"},{"title":"Custom Integrations","href":"/integrations/custom-integrations"}]},{"group":"Native Integrations","pages":[{"group":"Banking","expanded":true,"pages":[{"title":"Finicity","href":"/integrations/banking/finicity"},{"title":"MX","href":"/integrations/banking/mx"},{"title":"Plaid","href":"/integrations/banking/plaid"},{"title":"Unit","href":"/integrations/banking/unit"}]},{"group":"Capital (Lending)","expanded":false,"pages":[{"title":"Fundbox","href":"/integrations/capital/fundbox"},{"title":"Parafin","href":"/integrations/capital/parafin"},{"title":"Pipe","href":"/integrations/capital/pipe"},{"title":"Stripe Capital","href":"/integrations/capital/stripe-capital"}]},{"group":"Commerce","pages":[{"title":"Rutter","href":"/integrations/commerce/rutter"},{"title":"Shopify","href":"/integrations/commerce/shopify"},{"title":"Square","href":"/integrations/commerce/square"}]},{"group":"Customer Messaging","expanded":false,"pages":[{"title":"Front","href":"/integrations/customer-service/front"},{"title":"Intercom","href":"/integrations/customer-service/intercom"},{"title":"Twilio","href":"/integrations/customer-service/twilio"}]},{"group":"Data \u0026 Analytics","pages":[{"title":"Amazon S3","href":"/integrations/analytics/amazon-s3"},{"title":"Google Cloud Storage","href":"/integrations/analytics/google-cloud-storage"},{"title":"Mixpanel","description":"Analyze analytics data from Tight directly in Mixpanel","href":"/integrations/analytics/mixpanel"},{"title":"Snowflake","href":"/integrations/analytics/snowflake"}]},{"group":"Payment Processing","expanded":true,"pages":[{"title":"Adyen","description":"Automate the reconciliation between Adyen payouts and their itemized transactions with Tight","href":"/integrations/payment-processing/adyen"},{"title":"Moov","href":"/integrations/payment-processing/moov"},{"title":"Qualpay","href":"/integrations/payment-processing/qualpay"},{"title":"Stripe","href":"/integrations/payment-processing/stripe"}]},{"group":"Payroll","expanded":true,"pages":[{"title":"Check","href":"/integrations/payroll/check"},{"title":"Gusto","href":"/integrations/payroll/gusto"},{"title":"Salsa","href":"/integrations/payroll/salsa"}]},{"group":"Tax","pages":[{"title":"April","href":"/integrations/tax/april"},{"title":"Column Tax","href":"/integrations/tax/column-tax"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/authentication"}]},{"tab":"Playground","pages":[{"title":"Playground","href":"/playground"}]},{"tab":"Roadmap","pages":[{"title":"Roadmap","href":"/roadmap/roadmap"}]},{"tab":"Status","href":"https://status.tight.com/"},{"tab":"About","hidden":true,"pages":[{"title":"About","href":"/about-tight-developer-stack"}]}]},{"version":"v5.0","pages":[{"title":"v5.0","href":"/v5.0/getting-started/overview"}]},{"version":"v4.0","pages":[{"title":"v4.0","href":"/v4.0/api-reference/authentication/create-a-tight-account"}]}]},"basePath":"","title":"Snowflake - Tight API","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js"]}