Files
langflow/configuration-api-keys.html
2024-07-30 17:53:18 +00:00

63 lines
53 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-Configuration/configuration-api-keys" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.4.0">
<title data-rh="true">API Keys | Langflow Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://langflow-ai.github.io/configuration-api-keys"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API Keys | Langflow Documentation"><meta data-rh="true" name="description" content="This page may contain outdated information. It will be updated as soon as possible."><meta data-rh="true" property="og:description" content="This page may contain outdated information. It will be updated as soon as possible."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://langflow-ai.github.io/configuration-api-keys"><link data-rh="true" rel="alternate" href="https://langflow-ai.github.io/configuration-api-keys" hreflang="en"><link data-rh="true" rel="alternate" href="https://langflow-ai.github.io/configuration-api-keys" hreflang="x-default"><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XHC7G628ZP"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-XHC7G628ZP",{anonymize_ip:!0})</script><link rel="stylesheet" href="/assets/css/styles.0752b4d1.css">
<script src="/assets/js/runtime~main.8a5ccb9e.js" defer="defer"></script>
<script src="/assets/js/main.56305d44.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();null!==e?t(e):window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,t("light"))}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/chain.png" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/chain.png" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Langflow</b></a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/langflow" target="_blank" class="navbar__item navbar__link header-github-link"></a><a href="https://twitter.com/langflow_ai" target="_blank" class="navbar__item navbar__link header-twitter-link"></a><a href="https://discord.gg/EqksyE2EX9" target="_blank" class="navbar__item navbar__link header-discord-link"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd sidebarWithHideableNavbar_wUlq"><a tabindex="-1" class="sidebarLogo_isFc" href="/"><img src="/img/chain.png" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/chain.png" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"><b>Langflow</b></a><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/whats-new-a-new-chapter-langflow">Whats New?</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/whats-new-a-new-chapter-langflow">1.0 - A new chapter for Langflow</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/">👋 Welcome to Langflow</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/getting-started-installation">📦 Installation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/getting-started-quickstart">⚡️ Quickstart</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/getting-started-common-installation-issues">❗️ Common Installation Issues</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/starter-projects-basic-prompting">Starter Projects</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/starter-projects-basic-prompting">Basic Prompting</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/starter-projects-blog-writer">Blog Writer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/starter-projects-document-qa">Document QA</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/starter-projects-memory-chatbot">Memory Chatbot</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/starter-projects-vector-store-rag">Vector Store RAG</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/guides-new-to-llms">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/guides-new-to-llms">📚 New to LLMs?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/guides-chat-memory">Chat Memory</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/guides-data-message">Data &amp; Message</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/workspace">Workspace</a><button aria-label="Collapse sidebar category &#x27;Workspace&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/workspace-playground">Playground</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/workspace-api">API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/workspace-logs">Logs</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/components">Components</a><button aria-label="Collapse sidebar category &#x27;Components&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-io">Inputs &amp; Outputs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-prompts">Prompts</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-data">Data</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-helpers">Helpers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-models">Models</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-embedding-models">Embedding Models</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-vector-stores">Vector Stores</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-custom-components">Custom Components</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/components-rag">RAG</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/deployment-hugging-face-spaces">Deployment</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/deployment-hugging-face-spaces">🤗 Spaces</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/deployment-kubernetes">Kubernetes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/deployment-docker">Docker</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/deployment-gcp">GCP</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/deployment-render">Render</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/deployment-railway">Railway</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/settings-global-variables">Settings</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/settings-global-variables">Global Variables</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/settings-project-general-settings">Project &amp; General Settings</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/configuration-authentication">Configuration</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-authentication">Authentication</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/configuration-api-keys">API Keys</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-cli">Command Line Interface (CLI)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/365085a8-a90a-43f9-a779-f8769ec7eca1">My Collection</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-backend-only">Backend-Only</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/integrations-langsmith">Integrations</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/integrations-langsmith">LangSmith</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/integrations-langwatch">LangWatch</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/contributing-telemetry">Contributing</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/contributing-telemetry">Telemetry</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/contributing-how-to-contribute">How to contribute?</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/contributing-github-issues">GitHub Issues</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/contributing-community">Community</a></li></ul></li></ul></nav><button type="button" title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_PEFL"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_kv0_"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Configuration</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">API Keys</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>API Keys</h1></header><style>[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }</style>
<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>This page may contain outdated information. It will be updated as soon as possible.</p></div></div>
<p>Langflow provides an API key functionality that allows users to access their individual components and flows without traditional login authentication. The API key is a user-specific token that can be included in the request header or query parameter to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.</p>
<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>The default user and password are set using the LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD environment variables. The default values are langflow and langflow, respectively.</p></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="c29986a69cad4cdbbe7537e383ea7207">Generate an API key<a class="hash-link" aria-label="Direct link to Generate an API key" title="Direct link to Generate an API key" href="/configuration-api-keys#c29986a69cad4cdbbe7537e383ea7207"></a></h2>
<p>Generate a user-specific token to use with Langflow.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3d90098ddd7c44b6836c0273acf57123">Generate an API key with the Langflow UI<a class="hash-link" aria-label="Direct link to Generate an API key with the Langflow UI" title="Direct link to Generate an API key with the Langflow UI" href="/configuration-api-keys#3d90098ddd7c44b6836c0273acf57123"></a></h3>
<ol>
<li>
<p>Click on the &quot;API Key&quot; icon.</p>
<p><img decoding="async" loading="lazy" src="data:image/png;base64,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" width="278" height="76" class="img_ev3q"></p>
</li>
<li>
<p>Click on &quot;Create new secret key&quot;.</p>
</li>
<li>
<p>Give it an optional name.</p>
</li>
<li>
<p>Click on &quot;Create secret key&quot;.</p>
</li>
<li>
<p>Copy the API key and store it in a secure location.</p>
</li>
</ol>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="2368f62fc4b8477e8080c9c2d3659d76">Generate an API key with the Langflow CLI<a class="hash-link" aria-label="Direct link to Generate an API key with the Langflow CLI" title="Direct link to Generate an API key with the Langflow CLI" href="/configuration-api-keys#2368f62fc4b8477e8080c9c2d3659d76"></a></h3>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>langflow api-key</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span># or</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>python -m langflow api-key</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>╭─────────────────────────────────────────────────────────────────────╮</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ API Key Created Successfully: │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ sk-O0elzoWID1izAH8RUKrnnvyyMwIzHi2Wk-uXWoNJ2Ro │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ This is the only time the API key will be displayed. │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ Make sure to store it in a secure location. │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>│ The API key has been copied to your clipboard. Cmd + V to paste it. │</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>╰──────────────────────────────</span></div></div><br></code></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="ae787e4b0d3846aa9094fac75e0ac04f">Use the Langflow API key<a class="hash-link" aria-label="Direct link to Use the Langflow API key" title="Direct link to Use the Langflow API key" href="/configuration-api-keys#ae787e4b0d3846aa9094fac75e0ac04f"></a></h2>
<p>Include your API key in API requests to authenticate requests to Langflow.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="70965b3ad24d467ca4f90e7c13a1f394">Use the <code>x-api-key</code> header<a class="hash-link" aria-label="Direct link to 70965b3ad24d467ca4f90e7c13a1f394" title="Direct link to 70965b3ad24d467ca4f90e7c13a1f394" href="/configuration-api-keys#70965b3ad24d467ca4f90e7c13a1f394"></a></h3>
<p>Include the <code>x-api-key</code> in the HTTP header when making API requests:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>curl -X POST \\</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &lt;http://localhost:3000/api/v1/run/&gt;&lt;your_flow_id&gt; \\</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H &#x27;Content-Type: application/json&#x27;\\</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H &#x27;x-api-key: &lt;your api key&gt;&#x27;\\</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -d &#x27;{&quot;inputs&quot;: {&quot;text&quot;:&quot;&quot;}, &quot;tweaks&quot;: {}}&#x27;</span></div></div><br></code></div></div>
<p>With Python using <code>requests</code>:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>import requests</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>from typing import Optional</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>BASE_API_URL = &quot;&lt;http://localhost:3001/api/v1/process&gt;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>FLOW_ID = &quot;4441b773-0724-434e-9cee-19d995d8f2df&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span># You can tweak the flow by adding a tweaks dictionary</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span># e.g {&quot;OpenAI-XXXXX&quot;: {&quot;model_name&quot;: &quot;gpt-4&quot;}}</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>TWEAKS = {}</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>def run_flow(inputs: dict,</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> flow_id: str,</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> tweaks: Optional[dict] = None,</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> apiKey: Optional[str] = None) -&gt; dict:</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> &quot;&quot;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> Run a flow with a given message and optional tweaks.</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> :param message: The message to send to the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> :param flow_id: The ID of the flow to run</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> :param tweaks: Optional tweaks to customize the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> :return: The JSON response from the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> &quot;&quot;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> api_url = f&quot;{BASE_API_URL}/{flow_id}&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> payload = {&quot;inputs&quot;: inputs}</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> headers = {}</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> if tweaks:</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> payload[&quot;tweaks&quot;] = tweaks</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> if apiKey:</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> headers = {&quot;x-api-key&quot;: apiKey}</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> response = requests.post(api_url, json=payload, headers=headers)</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span> return response.json()</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span># Setup any tweaks you want to apply to the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>inputs = {&quot;text&quot;:&quot;&quot;}</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>api_key = &quot;&lt;your api key&gt;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->38</span><div style="display:inline-block;margin-left:16px"><span>print(run_flow(inputs, flow_id=FLOW_ID, tweaks=TWEAKS, apiKey=api_key))</span></div></div><br></code></div></div>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="febb797f3bb5403b9f070afc0fa4f453">Use the query parameter<a class="hash-link" aria-label="Direct link to Use the query parameter" title="Direct link to Use the query parameter" href="/configuration-api-keys#febb797f3bb5403b9f070afc0fa4f453"></a></h3>
<p>Include the API key as a query parameter in the URL:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>curl -X POST \\</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &lt;http://localhost:3000/api/v1/process/&gt;&lt;your_flow_id&gt;?x-api-key=&lt;your_api_key&gt; \\</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H &#x27;Content-Type: application/json&#x27;\\</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -d &#x27;{&quot;inputs&quot;: {&quot;text&quot;:&quot;&quot;}, &quot;tweaks&quot;: {}}&#x27;</span></div></div><br></code></div></div>
<p>With Python using <code>requests</code>:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>import requests</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>BASE_API_URL = &quot;&lt;http://localhost:3001/api/v1/process&gt;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>FLOW_ID = &quot;4441b773-0724-434e-9cee-19d995d8f2df&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span># You can tweak the flow by adding a tweaks dictionary</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span># e.g {&quot;OpenAI-XXXXX&quot;: {&quot;model_name&quot;: &quot;gpt-4&quot;}}</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>TWEAKS = {}</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>def run_flow(inputs: dict,</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> flow_id: str,</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> tweaks: Optional[dict] = None,</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> apiKey: Optional[str] = None) -&gt; dict:</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> &quot;&quot;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> Run a flow with a given message and optional tweaks.</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> :param message: The message to send to the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> :param flow_id: The ID of the flow to run</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> :param tweaks: Optional tweaks to customize the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> :return: The JSON response from the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> &quot;&quot;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> api_url = f&quot;{BASE_API_URL}/{flow_id}&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> payload = {&quot;inputs&quot;: inputs}</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> headers = {}</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> if tweaks:</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> payload[&quot;tweaks&quot;] = tweaks</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> if apiKey:</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> api_url += f&quot;?x-api-key={apiKey}&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> response = requests.post(api_url, json=payload, headers=headers)</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span> return response.json()</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span># Setup any tweaks you want to apply to the flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>inputs = {&quot;text&quot;:&quot;&quot;}</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>api_key = &quot;&lt;your api key&gt;&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->37</span><div style="display:inline-block;margin-left:16px"><span>print(run_flow(inputs, flow_id=FLOW_ID, tweaks=TWEAKS, apiKey=api_key))</span></div></div><br></code></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="1273eb69a61344d19827b30dba46dfd5">Security Considerations<a class="hash-link" aria-label="Direct link to Security Considerations" title="Direct link to Security Considerations" href="/configuration-api-keys#1273eb69a61344d19827b30dba46dfd5"></a></h2>
<ul>
<li><strong>Visibility</strong>: For security reasons, the API key cannot be retrieved again through the UI.</li>
<li><strong>Scope</strong>: The key allows access only to the flows and components of the specific user to whom it was issued.</li>
</ul>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="da933a86690a4fdeac24024472caf8a9">Custom API endpoint<a class="hash-link" aria-label="Direct link to Custom API endpoint" title="Direct link to Custom API endpoint" href="/configuration-api-keys#da933a86690a4fdeac24024472caf8a9"></a></h2>
<p>Under <strong>Project Settings</strong> &gt; <strong>Endpoint Name</strong>, you can pick a custom name for the endpoint used to call your flow from the API.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="f0ea41ea167845cea91bb5e8f90d9df0">Revoke an API Key<a class="hash-link" aria-label="Direct link to Revoke an API Key" title="Direct link to Revoke an API Key" href="/configuration-api-keys#f0ea41ea167845cea91bb5e8f90d9df0"></a></h2>
<p>To revoke an API key, delete it from the UI. This action immediately invalidates the key and prevents it from being used again.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/configuration-authentication"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Authentication</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/configuration-cli"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Command Line Interface (CLI)</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#c29986a69cad4cdbbe7537e383ea7207">Generate an API key</a><ul><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#3d90098ddd7c44b6836c0273acf57123">Generate an API key with the Langflow UI</a></li><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#2368f62fc4b8477e8080c9c2d3659d76">Generate an API key with the Langflow CLI</a></li></ul></li><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#ae787e4b0d3846aa9094fac75e0ac04f">Use the Langflow API key</a><ul><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#70965b3ad24d467ca4f90e7c13a1f394">Use the <code>x-api-key</code> header</a></li><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#febb797f3bb5403b9f070afc0fa4f453">Use the query parameter</a></li></ul></li><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#1273eb69a61344d19827b30dba46dfd5">Security Considerations</a></li><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#da933a86690a4fdeac24024472caf8a9">Custom API endpoint</a></li><li><a class="table-of-contents__link toc-highlight" href="/configuration-api-keys#f0ea41ea167845cea91bb5e8f90d9df0">Revoke an API Key</a></li></ul></div></div></div></div></main></div></div></div><div id="ms-floating-button" class="ms-fixed ms-bottom-4 ms-right-8 ms-z-[100] ms-flex ms-flex-col ms-items-end hover:ms-cursor-pointer"><div class="ms-relative ms-mb-4"><div style="background-color:#f6f6f6" class="ms-absolute -ms-bottom-1 ms-right-6 -ms-z-10 ms-h-4 ms-w-4 ms-rotate-45"></div><div style="background-color:#f6f6f6" class="ms-z-10 ms-flex ms-items-center ms-justify-center ms-rounded-lg ms-px-3 ms-py-2"><p style="color:#000000;margin:0" class="ms-text-sm">Hi, how can I help you?</p></div></div><div style="background-color:#f6f6f6" class="ms-flex ms-h-16 ms-w-16 ms-flex-col ms-items-center ms-justify-center ms-self-end ms-rounded-full ms-p-2 ms-transition"><div class="ms-rotate-0 ms-flex ms-h-full ms-w-full ms-transform ms-cursor-pointer ms-items-center ms-justify-center ms-rounded-full ms-transition-all ms-delay-75 ms-duration-100 ms-ease-in-out"><div style="color:#000000;font-size:22px;width:48px;height:48px;margin:0px;padding:0px;display:flex;align-items:center;justify-content:center;text-align:center"><img src="/img/chain.png" style="width:40px"></div></div></div><div></div></div></div>
</body>
</html>