diff --git a/365085a8-a90a-43f9-a779-f8769ec7eca1.html b/365085a8-a90a-43f9-a779-f8769ec7eca1.html index 0efe65685b..f07c2efada 100644 --- a/365085a8-a90a-43f9-a779-f8769ec7eca1.html +++ b/365085a8-a90a-43f9-a779-f8769ec7eca1.html @@ -10,7 +10,7 @@ - + diff --git a/404.html b/404.html index 8e92433ca1..898675a433 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + diff --git a/Components/components-agents.html b/Components/components-agents.html index 71863b93c7..09001095d5 100644 --- a/Components/components-agents.html +++ b/Components/components-agents.html @@ -10,7 +10,7 @@ - + diff --git a/Components/components-memories.html b/Components/components-memories.html index e707c4d868..cf3d233dec 100644 --- a/Components/components-memories.html +++ b/Components/components-memories.html @@ -10,7 +10,7 @@ - + diff --git a/Components/components-tools.html b/Components/components-tools.html index e7be2cd20a..70725f8041 100644 --- a/Components/components-tools.html +++ b/Components/components-tools.html @@ -10,7 +10,7 @@ - + diff --git a/Starter-Projects/starter-projects-dynamic-agent.html b/Starter-Projects/starter-projects-dynamic-agent.html index f19767f739..d19f282a89 100644 --- a/Starter-Projects/starter-projects-dynamic-agent.html +++ b/Starter-Projects/starter-projects-dynamic-agent.html @@ -10,7 +10,7 @@ - + diff --git a/Starter-Projects/starter-projects-simple-agent.html b/Starter-Projects/starter-projects-simple-agent.html index 8073e698c9..d776fb7f02 100644 --- a/Starter-Projects/starter-projects-simple-agent.html +++ b/Starter-Projects/starter-projects-simple-agent.html @@ -10,7 +10,7 @@ - + diff --git a/Starter-Projects/starter-projects-travel-planning-agent.html b/Starter-Projects/starter-projects-travel-planning-agent.html index c810a2aa94..6ef102bdfc 100644 --- a/Starter-Projects/starter-projects-travel-planning-agent.html +++ b/Starter-Projects/starter-projects-travel-planning-agent.html @@ -10,7 +10,7 @@ - + diff --git a/assets/js/22dd74f7.b01bf396.js b/assets/js/22dd74f7.3d53f9c1.js similarity index 53% rename from assets/js/22dd74f7.b01bf396.js rename to assets/js/22dd74f7.3d53f9c1.js index dedce08363..4f68380984 100644 --- a/assets/js/22dd74f7.b01bf396.js +++ b/assets/js/22dd74f7.3d53f9c1.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{5226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"category","label":"What\u2019s New?","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"1.0 - A new chapter for Langflow","href":"/whats-new-a-new-chapter-langflow","docId":"What\u2019s-New/whats-new-a-new-chapter-langflow","unlisted":false}]},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udc4b\xa0Welcome to Langflow","href":"/","docId":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","unlisted":false},{"type":"link","label":"\ud83d\udce6\xa0Installation","href":"/getting-started-installation","docId":"Getting-Started/getting-started-installation","unlisted":false},{"type":"link","label":"\u26a1\ufe0f Quickstart","href":"/getting-started-quickstart","docId":"Getting-Started/getting-started-quickstart","unlisted":false},{"type":"link","label":"\u2757\ufe0f Common Installation Issues","href":"/getting-started-common-installation-issues","docId":"Getting-Started/getting-started-common-installation-issues","unlisted":false}]},{"type":"category","label":"Starter Projects","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Basic Prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Blog Writer","href":"/starter-projects-blog-writer","docId":"Starter-Projects/starter-projects-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/starter-projects-document-qa","docId":"Starter-Projects/starter-projects-document-qa","unlisted":false},{"type":"link","label":"Memory Chatbot","href":"/starter-projects-memory-chatbot","docId":"Starter-Projects/starter-projects-memory-chatbot","unlisted":false},{"type":"link","label":"Vector Store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false},{"type":"link","label":"Dynamic Agent","href":"/Starter-Projects/starter-projects-dynamic-agent","docId":"Starter-Projects/starter-projects-dynamic-agent","unlisted":false},{"type":"link","label":"Simple Agent","href":"/Starter-Projects/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false},{"type":"link","label":"Travel Planning Agent","href":"/Starter-Projects/starter-projects-travel-planning-agent","docId":"Starter-Projects/starter-projects-travel-planning-agent","unlisted":false}]},{"type":"category","label":"Guides","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udcda New to LLMs?","href":"/guides-new-to-llms","docId":"Guides/guides-new-to-llms","unlisted":false},{"type":"link","label":"Chat Memory","href":"/guides-chat-memory","docId":"Guides/guides-chat-memory","unlisted":false},{"type":"link","label":"Data & Message","href":"/guides-data-message","docId":"Guides/guides-data-message","unlisted":false}]},{"type":"category","label":"Workspace","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Playground","href":"/workspace-playground","docId":"Workspace/workspace-playground","unlisted":false},{"type":"link","label":"API","href":"/workspace-api","docId":"Workspace/workspace-api","unlisted":false},{"type":"link","label":"Logs","href":"/workspace-logs","docId":"Workspace/workspace-logs","unlisted":false}],"href":"/workspace"},{"type":"category","label":"Components","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Inputs & Outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Embedding Models","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Vector Stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false},{"type":"link","label":"Custom Components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"RAG","href":"/components-rag","docId":"Components/components-rag","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Agents","href":"/Components/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Memories","href":"/Components/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Tools","href":"/Components/components-tools","docId":"Components/components-tools","unlisted":false}],"href":"/components"},{"type":"category","label":"Deployment","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83e\udd17\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Docker","href":"/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false}]},{"type":"category","label":"Settings","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Global Variables","href":"/settings-global-variables","docId":"Settings/settings-global-variables","unlisted":false},{"type":"link","label":"Project & General Settings","href":"/settings-project-general-settings","docId":"Settings/settings-project-general-settings","unlisted":false}]},{"type":"category","label":"Configuration","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"API Keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"My Collection","href":"/365085a8-a90a-43f9-a779-f8769ec7eca1","docId":"Configuration/My-Collection","unlisted":false},{"type":"link","label":"Backend-Only","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Environment Variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false}]},{"type":"category","label":"Integrations","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Notion","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false}]}]},{"type":"category","label":"Contributing","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false},{"type":"link","label":"How to contribute?","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"GitHub Issues","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false}]}]},"docs":{"Components/components":{"id":"Components/components","title":"Intro to Components","description":"Component","sidebar":"defaultSidebar"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components are used to define the behavior and capabilities of AI agents in your flow. Agents can interact with APIs, databases, and other services, but can also use LLMs as a reasoning engine to decide which course to take in your flow.","sidebar":"defaultSidebar"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Custom Components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, resusable Python code.","sidebar":"defaultSidebar"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"API Request","sidebar":"defaultSidebar"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Models","description":"Embeddings models are used to convert text into numerical vectors. These vectors can be used for various tasks such as similarity search, clustering, and classification.","sidebar":"defaultSidebar"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"defaultSidebar"},"Components/components-io":{"id":"Components/components-io","title":"Inputs & Outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"defaultSidebar"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"Loaders are components used to load documents from various sources, such as databases, websites, and local files. They can be used to fetch data from external sources and convert it into a format that can be processed by other components.","sidebar":"defaultSidebar"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Chat memory components store and retrieve chat messages by session_id.","sidebar":"defaultSidebar"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components are used to generate text using language models. These components can be used to generate text for various tasks such as chatbots, content generation, and more.","sidebar":"defaultSidebar"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt serves as the input to a language model, comprising multiple components that can be parameterized using prompt templates.","sidebar":"defaultSidebar"},"Components/components-rag":{"id":"Components/components-rag","title":"RAG","description":"RAG (Retrieval-Augmented Generation) components process a user query by retrieving relevant documents and generating a concise summary that addresses the user\'s question.","sidebar":"defaultSidebar"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tool components are used to interact with external services, APIs, and tools. They can be used to search the web, query databases, and perform other tasks.","sidebar":"defaultSidebar"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector Stores","description":"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations.","sidebar":"defaultSidebar"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API Keys","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow currently supports both manual and auto-saving functionality.","sidebar":"defaultSidebar"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Backend-Only","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","sidebar":"defaultSidebar"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment Variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"defaultSidebar"},"Configuration/My-Collection":{"id":"Configuration/My-Collection","title":"My Collection","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Community","description":"\ud83e\udd16 Join\xa0Langflow\xa0Discord server","sidebar":"defaultSidebar"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"GitHub Issues","description":"Our\xa0issues\xa0page is kept up to date with bugs, improvements, and feature requests. There is a taxonomy of labels to help with sorting and discovery of issues of interest.","sidebar":"defaultSidebar"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"How to contribute?","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"defaultSidebar"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"\ud83e\udd17\xa0Spaces","description":"HuggingFace Spaces","sidebar":"defaultSidebar"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"defaultSidebar"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"defaultSidebar"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"defaultSidebar"},"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow":{"id":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","title":"\ud83d\udc4b\xa0Welcome to Langflow","description":"Introduction","sidebar":"defaultSidebar"},"Getting-Started/getting-started-common-installation-issues":{"id":"Getting-Started/getting-started-common-installation-issues","title":"\u2757\ufe0f Common Installation Issues","description":"This is a list of possible issues that you may encounter when installing Langflow and how to solve them.","sidebar":"defaultSidebar"},"Getting-Started/getting-started-installation":{"id":"Getting-Started/getting-started-installation","title":"\ud83d\udce6\xa0Installation","description":"DataStax Langflow","sidebar":"defaultSidebar"},"Getting-Started/getting-started-quickstart":{"id":"Getting-Started/getting-started-quickstart","title":"\u26a1\ufe0f Quickstart","description":"Prerequisites","sidebar":"defaultSidebar"},"Guides/guides-chat-memory":{"id":"Guides/guides-chat-memory","title":"Chat Memory","description":"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.","sidebar":"defaultSidebar"},"Guides/guides-data-message":{"id":"Guides/guides-data-message","title":"Data & Message","description":"In Langflow, the\xa0Data\xa0and\xa0Message\xa0objects serve as structured, functional representations of data that enhance the capabilities and reliability of the platform.","sidebar":"defaultSidebar"},"Guides/guides-new-to-llms":{"id":"Guides/guides-new-to-llms","title":"\ud83d\udcda New to LLMs?","description":"Large Language Models, or LLMs, are part of an exciting new world in computing.","sidebar":"defaultSidebar"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"defaultSidebar"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"defaultSidebar"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"defaultSidebar"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"defaultSidebar"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases.","sidebar":"defaultSidebar"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"defaultSidebar"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"defaultSidebar"},"Settings/settings-global-variables":{"id":"Settings/settings-global-variables","title":"Global Variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"defaultSidebar"},"Settings/settings-project-general-settings":{"id":"Settings/settings-project-general-settings","title":"Project & General Settings","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic Prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-blog-writer":{"id":"Starter-Projects/starter-projects-blog-writer","title":"Blog Writer","description":"Build a blog writer with OpenAI that uses URLs for reference content.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-document-qa":{"id":"Starter-Projects/starter-projects-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-dynamic-agent":{"id":"Starter-Projects/starter-projects-dynamic-agent","title":"Dynamic Agent","description":"Build a Dynamic Agent flow for an agentic application using the CrewAI.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-memory-chatbot":{"id":"Starter-Projects/starter-projects-memory-chatbot","title":"Memory Chatbot","description":"This flow extends the\xa0Basic Prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple Agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-travel-planning-agent":{"id":"Starter-Projects/starter-projects-travel-planning-agent","title":"Travel Planning Agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector Store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"defaultSidebar"},"What\u2019s-New/whats-new-a-new-chapter-langflow":{"id":"What\u2019s-New/whats-new-a-new-chapter-langflow","title":"1.0 - A new chapter for Langflow","description":"First things first","sidebar":"defaultSidebar"},"Workspace/workspace":{"id":"Workspace/workspace","title":"Workspace Overview","description":"The Langflow Workspace","sidebar":"defaultSidebar"},"Workspace/workspace-api":{"id":"Workspace/workspace-api","title":"API","description":"The\xa0API\xa0section presents code templates for integrating your flow into external applications.","sidebar":"defaultSidebar"},"Workspace/workspace-logs":{"id":"Workspace/workspace-logs","title":"Logs","description":"The\xa0Logs\xa0page provides a detailed record of all component executions within a workspace. It is designed to help you track actions, debug issues, and understand the flow of data through various components.","sidebar":"defaultSidebar"},"Workspace/workspace-playground":{"id":"Workspace/workspace-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.","sidebar":"defaultSidebar"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{5226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"category","label":"What\u2019s New?","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"1.0 - A new chapter for Langflow","href":"/whats-new-a-new-chapter-langflow","docId":"What\u2019s-New/whats-new-a-new-chapter-langflow","unlisted":false}]},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udc4b\xa0Welcome to Langflow","href":"/","docId":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","unlisted":false},{"type":"link","label":"\ud83d\udce6\xa0Installation","href":"/getting-started-installation","docId":"Getting-Started/getting-started-installation","unlisted":false},{"type":"link","label":"\u26a1\ufe0f Quickstart","href":"/getting-started-quickstart","docId":"Getting-Started/getting-started-quickstart","unlisted":false},{"type":"link","label":"\u2757\ufe0f Common Installation Issues","href":"/getting-started-common-installation-issues","docId":"Getting-Started/getting-started-common-installation-issues","unlisted":false}]},{"type":"category","label":"Starter Projects","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Basic Prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Blog Writer","href":"/starter-projects-blog-writer","docId":"Starter-Projects/starter-projects-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/starter-projects-document-qa","docId":"Starter-Projects/starter-projects-document-qa","unlisted":false},{"type":"link","label":"Memory Chatbot","href":"/starter-projects-memory-chatbot","docId":"Starter-Projects/starter-projects-memory-chatbot","unlisted":false},{"type":"link","label":"Vector Store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false},{"type":"link","label":"Dynamic Agent","href":"/Starter-Projects/starter-projects-dynamic-agent","docId":"Starter-Projects/starter-projects-dynamic-agent","unlisted":false},{"type":"link","label":"Simple Agent","href":"/Starter-Projects/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false},{"type":"link","label":"Travel Planning Agent","href":"/Starter-Projects/starter-projects-travel-planning-agent","docId":"Starter-Projects/starter-projects-travel-planning-agent","unlisted":false}]},{"type":"category","label":"Guides","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udcda New to LLMs?","href":"/guides-new-to-llms","docId":"Guides/guides-new-to-llms","unlisted":false},{"type":"link","label":"Chat Memory","href":"/guides-chat-memory","docId":"Guides/guides-chat-memory","unlisted":false},{"type":"link","label":"Data & Message","href":"/guides-data-message","docId":"Guides/guides-data-message","unlisted":false}]},{"type":"category","label":"Workspace","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Playground","href":"/workspace-playground","docId":"Workspace/workspace-playground","unlisted":false},{"type":"link","label":"API","href":"/workspace-api","docId":"Workspace/workspace-api","unlisted":false},{"type":"link","label":"Logs","href":"/workspace-logs","docId":"Workspace/workspace-logs","unlisted":false}],"href":"/workspace"},{"type":"category","label":"Components","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Inputs & Outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Embedding Models","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Vector Stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false},{"type":"link","label":"Custom Components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"RAG","href":"/components-rag","docId":"Components/components-rag","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Agents","href":"/Components/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Memories","href":"/Components/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Tools","href":"/Components/components-tools","docId":"Components/components-tools","unlisted":false}],"href":"/components"},{"type":"category","label":"Deployment","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83e\udd17\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Docker","href":"/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false}]},{"type":"category","label":"Settings","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Global Variables","href":"/settings-global-variables","docId":"Settings/settings-global-variables","unlisted":false},{"type":"link","label":"Project & General Settings","href":"/settings-project-general-settings","docId":"Settings/settings-project-general-settings","unlisted":false}]},{"type":"category","label":"Configuration","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"API Keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"My Collection","href":"/365085a8-a90a-43f9-a779-f8769ec7eca1","docId":"Configuration/My-Collection","unlisted":false},{"type":"link","label":"Backend-Only","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Environment Variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false}]},{"type":"category","label":"Integrations","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Notion","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false}]}]},{"type":"category","label":"Contributing","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false},{"type":"link","label":"How to contribute?","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"GitHub Issues","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false}]}]},"docs":{"Components/components":{"id":"Components/components","title":"Intro to Components","description":"Component","sidebar":"defaultSidebar"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components are used to define the behavior and capabilities of AI agents in your flow. Agents can interact with APIs, databases, and other services, but can also use LLMs as a reasoning engine to decide which course to take in your flow.","sidebar":"defaultSidebar"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Custom Components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, resusable Python code.","sidebar":"defaultSidebar"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"API Request","sidebar":"defaultSidebar"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Models","description":"Embeddings models are used to convert text into numerical vectors. These vectors can be used for various tasks such as similarity search, clustering, and classification.","sidebar":"defaultSidebar"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"defaultSidebar"},"Components/components-io":{"id":"Components/components-io","title":"Inputs & Outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"defaultSidebar"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"Loaders are components used to load documents from various sources, such as databases, websites, and local files. They can be used to fetch data from external sources and convert it into a format that can be processed by other components.","sidebar":"defaultSidebar"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Chat memory components store and retrieve chat messages by session_id.","sidebar":"defaultSidebar"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components are used to generate text using language models. These components can be used to generate text for various tasks such as chatbots, content generation, and more.","sidebar":"defaultSidebar"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt serves as the input to a language model, comprising multiple components that can be parameterized using prompt templates.","sidebar":"defaultSidebar"},"Components/components-rag":{"id":"Components/components-rag","title":"RAG","description":"RAG (Retrieval-Augmented Generation) components process a user query by retrieving relevant documents and generating a concise summary that addresses the user\'s question.","sidebar":"defaultSidebar"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tool components are used to interact with external services, APIs, and tools. They can be used to search the web, query databases, and perform other tasks.","sidebar":"defaultSidebar"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector Stores","description":"Vector databases are used to store and search for vectors. They can be used to store embeddings, search for similar vectors, and perform other vector operations.","sidebar":"defaultSidebar"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API Keys","description":"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, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.","sidebar":"defaultSidebar"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow currently supports both manual and auto-saving functionality.","sidebar":"defaultSidebar"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Backend-Only","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","sidebar":"defaultSidebar"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment Variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"defaultSidebar"},"Configuration/My-Collection":{"id":"Configuration/My-Collection","title":"My Collection","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Community","description":"\ud83e\udd16 Join\xa0Langflow\xa0Discord server","sidebar":"defaultSidebar"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"GitHub Issues","description":"Our\xa0issues\xa0page is kept up to date with bugs, improvements, and feature requests. There is a taxonomy of labels to help with sorting and discovery of issues of interest.","sidebar":"defaultSidebar"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"How to contribute?","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"defaultSidebar"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"\ud83e\udd17\xa0Spaces","description":"HuggingFace Spaces","sidebar":"defaultSidebar"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"defaultSidebar"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"defaultSidebar"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"defaultSidebar"},"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow":{"id":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","title":"\ud83d\udc4b\xa0Welcome to Langflow","description":"Introduction","sidebar":"defaultSidebar"},"Getting-Started/getting-started-common-installation-issues":{"id":"Getting-Started/getting-started-common-installation-issues","title":"\u2757\ufe0f Common Installation Issues","description":"This is a list of possible issues that you may encounter when installing Langflow and how to solve them.","sidebar":"defaultSidebar"},"Getting-Started/getting-started-installation":{"id":"Getting-Started/getting-started-installation","title":"\ud83d\udce6\xa0Installation","description":"DataStax Langflow","sidebar":"defaultSidebar"},"Getting-Started/getting-started-quickstart":{"id":"Getting-Started/getting-started-quickstart","title":"\u26a1\ufe0f Quickstart","description":"Prerequisites","sidebar":"defaultSidebar"},"Guides/guides-chat-memory":{"id":"Guides/guides-chat-memory","title":"Chat Memory","description":"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.","sidebar":"defaultSidebar"},"Guides/guides-data-message":{"id":"Guides/guides-data-message","title":"Data & Message","description":"In Langflow, the\xa0Data\xa0and\xa0Message\xa0objects serve as structured, functional representations of data that enhance the capabilities and reliability of the platform.","sidebar":"defaultSidebar"},"Guides/guides-new-to-llms":{"id":"Guides/guides-new-to-llms","title":"\ud83d\udcda New to LLMs?","description":"Large Language Models, or LLMs, are part of an exciting new world in computing.","sidebar":"defaultSidebar"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"defaultSidebar"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"defaultSidebar"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"defaultSidebar"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"defaultSidebar"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases.","sidebar":"defaultSidebar"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"defaultSidebar"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"defaultSidebar"},"Settings/settings-global-variables":{"id":"Settings/settings-global-variables","title":"Global Variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"defaultSidebar"},"Settings/settings-project-general-settings":{"id":"Settings/settings-project-general-settings","title":"Project & General Settings","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic Prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-blog-writer":{"id":"Starter-Projects/starter-projects-blog-writer","title":"Blog Writer","description":"Build a blog writer with OpenAI that uses URLs for reference content.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-document-qa":{"id":"Starter-Projects/starter-projects-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-dynamic-agent":{"id":"Starter-Projects/starter-projects-dynamic-agent","title":"Dynamic Agent","description":"Build a Dynamic Agent flow for an agentic application using the CrewAI.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-memory-chatbot":{"id":"Starter-Projects/starter-projects-memory-chatbot","title":"Memory Chatbot","description":"This flow extends the\xa0Basic Prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple Agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-travel-planning-agent":{"id":"Starter-Projects/starter-projects-travel-planning-agent","title":"Travel Planning Agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector Store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"defaultSidebar"},"What\u2019s-New/whats-new-a-new-chapter-langflow":{"id":"What\u2019s-New/whats-new-a-new-chapter-langflow","title":"1.0 - A new chapter for Langflow","description":"First things first","sidebar":"defaultSidebar"},"Workspace/workspace":{"id":"Workspace/workspace","title":"Workspace Overview","description":"The Langflow Workspace","sidebar":"defaultSidebar"},"Workspace/workspace-api":{"id":"Workspace/workspace-api","title":"API","description":"The\xa0API\xa0section presents code templates for integrating your flow into external applications.","sidebar":"defaultSidebar"},"Workspace/workspace-logs":{"id":"Workspace/workspace-logs","title":"Logs","description":"The\xa0Logs\xa0page provides a detailed record of all component executions within a workspace. It is designed to help you track actions, debug issues, and understand the flow of data through various components.","sidebar":"defaultSidebar"},"Workspace/workspace-playground":{"id":"Workspace/workspace-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.","sidebar":"defaultSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/cacdc615.2a7b0286.js b/assets/js/cacdc615.2a7b0286.js new file mode 100644 index 0000000000..b94bd0115b --- /dev/null +++ b/assets/js/cacdc615.2a7b0286.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7211],{5100:(o,t,e)=>{e.r(t),e.d(t,{CH:()=>F,assets:()=>y,chCodeConfig:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>l,metadata:()=>p,toc:()=>i});var n=e(4848),s=e(8453),r=e(4754);const l={title:"API Keys",sidebar_position:1,slug:"/configuration-api-keys"},c=void 0,p={id:"Configuration/configuration-api-keys",title:"API Keys",description:"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, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.",source:"@site/docs/Configuration/configuration-api-keys.md",sourceDirName:"Configuration",slug:"/configuration-api-keys",permalink:"/configuration-api-keys",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"API Keys",sidebar_position:1,slug:"/configuration-api-keys"},sidebar:"defaultSidebar",previous:{title:"Authentication",permalink:"/configuration-authentication"},next:{title:"Langflow CLI",permalink:"/configuration-cli"}},y={},F={annotations:r.hk,Code:r.Cy},a={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},i=[{value:"Generate an API key",id:"generate-an-api-key",level:2},{value:"Generate an API key with the Langflow UI",id:"generate-an-api-key-with-the-langflow-ui",level:3},{value:"Generate an API key with the Langflow CLI",id:"generate-an-api-key-with-the-langflow-cli",level:3},{value:"Authenticate requests with the Langflow API key",id:"authenticate-requests-with-the-langflow-api-key",level:2},{value:"Include the API key in the HTTP header",id:"include-the-api-key-in-the-http-header",level:3},{value:"Security considerations",id:"security-considerations",level:2},{value:"Custom API endpoint",id:"custom-api-endpoint",level:2},{value:"Revoke an API key",id:"revoke-an-api-key",level:2}];function D(o){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...o.components};return F||h("CH",!1),F.Code||h("CH.Code",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:'[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; }'}}),"\n",(0,n.jsx)(t.p,{children:"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, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow."}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["The default user and password are set using the LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD environment variables. The default values are ",(0,n.jsx)(t.code,{children:"langflow"})," and ",(0,n.jsx)(t.code,{children:"langflow"}),", respectively."]})}),"\n",(0,n.jsx)(t.h2,{id:"generate-an-api-key",children:"Generate an API key"}),"\n",(0,n.jsx)(t.p,{children:"Generate a user-specific token to use with Langflow."}),"\n",(0,n.jsx)(t.h3,{id:"generate-an-api-key-with-the-langflow-ui",children:"Generate an API key with the Langflow UI"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Click your user icon and select ",(0,n.jsx)(t.strong,{children:"Settings"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Click ",(0,n.jsx)(t.strong,{children:"Langflow API"}),", and then click ",(0,n.jsx)(t.strong,{children:"Add New"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Name your key, and then click ",(0,n.jsx)(t.strong,{children:"Create Secret Key"}),"."]}),"\n",(0,n.jsx)(t.li,{children:"Copy the API key and store it in a secure location."}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"generate-an-api-key-with-the-langflow-cli",children:"Generate an API key with the Langflow CLI"}),"\n",(0,n.jsx)(F.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"api-key",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow api-key",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e",props:{style:{color:"#FFA657"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"API Key Created Successfully: \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"\u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"sk-O0elzoWID1izAH8RUKrnnvyyMwIzHi2Wk-uXWoNJ2Ro \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"\u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"This is the only time the API key will be displayed. \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"Make sure to store it in a secure location. \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"\u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"The API key has been copied to your clipboard. Cmd + V to paste it. \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",props:{style:{color:"#FFA657"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,n.jsx)(t.h2,{id:"authenticate-requests-with-the-langflow-api-key",children:"Authenticate requests with the Langflow API key"}),"\n",(0,n.jsx)(t.p,{children:"Include your API key in API requests to authenticate requests to Langflow."}),"\n",(0,n.jsx)(t.h3,{id:"include-the-api-key-in-the-http-header",children:"Include the API key in the HTTP header"}),"\n",(0,n.jsx)(t.p,{children:"To use the API key when making API requests with cURL, include the API key in the HTTP header."}),"\n",(0,n.jsx)(F.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "http://127.0.0.1:7860/api/v1/run/*`',props:{style:{color:"#A5D6FF"}}},{content:"YOUR_FLOW_ID",props:{style:{color:"#FFA657"}}},{content:'`*?stream=false" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'x-api-key: *`YOUR_API_KEY`*' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"inputs": {"text":""}, "tweaks": {}}\'',props:{style:{color:"#A5D6FF"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,n.jsx)(t.p,{children:"To instead pass the API key as a query parameter, do the following:"}),"\n",(0,n.jsx)(F.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "http://127.0.0.1:7860/api/v1/run/*`',props:{style:{color:"#A5D6FF"}}},{content:"YOUR_FLOW_ID",props:{style:{color:"#FFA657"}}},{content:"`*?x-api-key=*`",props:{style:{color:"#A5D6FF"}}},{content:"YOUR_API_KEY",props:{style:{color:"#FFA657"}}},{content:'`*?stream=false" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"inputs": {"text":""}, "tweaks": {}}\'',props:{style:{color:"#A5D6FF"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,n.jsxs)(t.p,{children:["To use the API key when making API requests with the Python ",(0,n.jsx)(t.code,{children:"requests"})," library, include the API key as a variable string."]}),"\n",(0,n.jsx)(F.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" argparse",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" json",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"from",props:{style:{color:"#FF7B72"}}},{content:" argparse ",props:{style:{color:"#C9D1D9"}}},{content:"import",props:{style:{color:"#FF7B72"}}},{content:" RawTextHelpFormatter",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" requests",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"from",props:{style:{color:"#FF7B72"}}},{content:" typing ",props:{style:{color:"#C9D1D9"}}},{content:"import",props:{style:{color:"#FF7B72"}}},{content:" Optional",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" warnings",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"try",props:{style:{color:"#FF7B72"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" from",props:{style:{color:"#FF7B72"}}},{content:" langflow.load ",props:{style:{color:"#C9D1D9"}}},{content:"import",props:{style:{color:"#FF7B72"}}},{content:" upload_file",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"except ",props:{style:{color:"#FF7B72"}}},{content:"ImportError",props:{style:{color:"#79C0FF"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" warnings.warn(",props:{style:{color:"#C9D1D9"}}},{content:'"Langflow provides a function to help you upload files to the flow. Please install langflow to use it."',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" upload_file ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"BASE_API_URL ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"http://127.0.0.1:7860"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"FLOW_ID ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"*`YOUR_FLOW_ID`*"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"ENDPOINT ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"" ',props:{style:{color:"#A5D6FF"}}},{content:"# You can set a specific endpoint name in the flow settings",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# You can tweak the flow by adding a tweaks dictionary",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:'# e.g {"OpenAI-XXXXX": {"model_name": "gpt-4"}}',props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"TWEAKS ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "ChatInput-8a86T"',props:{style:{color:"#A5D6FF"}}},{content:": {},",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "Prompt-pKfl9"',props:{style:{color:"#A5D6FF"}}},{content:": {},",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "ChatOutput-WcGpD"',props:{style:{color:"#A5D6FF"}}},{content:": {},",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "OpenAIModel-5UyvQ"',props:{style:{color:"#A5D6FF"}}},{content:": {}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"def ",props:{style:{color:"#FF7B72"}}},{content:"run_flow",props:{style:{color:"#D2A8FF"}}},{content:"(message: ",props:{style:{color:"#C9D1D9"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" endpoint: ",props:{style:{color:"#C9D1D9"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" output_type: ",props:{style:{color:"#C9D1D9"}}},{content:"str ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"chat"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" input_type: ",props:{style:{color:"#C9D1D9"}}},{content:"str ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"chat"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" tweaks: Optional[",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" api_key: Optional[",props:{style:{color:"#C9D1D9"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:") -> ",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' """',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" Run a flow with a given message and optional tweaks.",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param message: The message to send to the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param endpoint: The ID or the endpoint name of the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param tweaks: Optional tweaks to customize the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :return: The JSON response from the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' """',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" api_url ",props:{style:{color:"#C9D1D9"}}},{content:"= f",props:{style:{color:"#FF7B72"}}},{content:'"',props:{style:{color:"#A5D6FF"}}},{content:"{BASE_API_URL}",props:{style:{color:"#79C0FF"}}},{content:"/api/v1/run/",props:{style:{color:"#A5D6FF"}}},{content:"{",props:{style:{color:"#79C0FF"}}},{content:"endpoint",props:{style:{color:"#C9D1D9"}}},{content:"}",props:{style:{color:"#79C0FF"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" payload ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "input_value"',props:{style:{color:"#A5D6FF"}}},{content:": message,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "output_type"',props:{style:{color:"#A5D6FF"}}},{content:": output_type,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "input_type"',props:{style:{color:"#A5D6FF"}}},{content:": input_type,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" if",props:{style:{color:"#FF7B72"}}},{content:" tweaks:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" payload[",props:{style:{color:"#C9D1D9"}}},{content:'"tweaks"',props:{style:{color:"#A5D6FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" tweaks",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" if",props:{style:{color:"#FF7B72"}}},{content:" api_key:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}},{content:'"x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": api_key}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" requests.post(api_url, ",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"payload, ",props:{style:{color:"#C9D1D9"}}},{content:"headers",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"headers)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" return",props:{style:{color:"#FF7B72"}}},{content:" response.json()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"def ",props:{style:{color:"#FF7B72"}}},{content:"main",props:{style:{color:"#D2A8FF"}}},{content:"():",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" argparse.ArgumentParser(",props:{style:{color:"#C9D1D9"}}},{content:"description",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"""Run a flow with a given message and optional tweaks.',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:'Run it like: python .py "your message here" --endpoint "your_endpoint" --tweaks \'{"key": "value"}\'"""',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" formatter_class",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"RawTextHelpFormatter)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"message"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"The message to send to the flow"',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"--endpoint"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"default",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"ENDPOINT ",props:{style:{color:"#79C0FF"}}},{content:"or ",props:{style:{color:"#FF7B72"}}},{content:"FLOW_ID",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"The ID or the endpoint name of the flow"',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"--tweaks"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"JSON string representing the tweaks to customize the flow"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"default",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"json.dumps(",props:{style:{color:"#C9D1D9"}}},{content:"TWEAKS",props:{style:{color:"#79C0FF"}}},{content:"))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"--api_key"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"API key for authentication"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"default",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"--output_type"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"default",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"chat"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"The output type"',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"--input_type"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"default",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"chat"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"The input type"',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"--upload_file"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"Path to the file to upload"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"default",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" parser.add_argument(",props:{style:{color:"#C9D1D9"}}},{content:'"--components"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"help",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:'"Components to upload the file to"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"default",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" args ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" parser.parse_args()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" try",props:{style:{color:"#FF7B72"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" tweaks ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" json.loads(args.tweaks)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" except",props:{style:{color:"#FF7B72"}}},{content:" json.JSONDecodeError:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" raise ",props:{style:{color:"#FF7B72"}}},{content:"ValueError",props:{style:{color:"#79C0FF"}}},{content:"(",props:{style:{color:"#C9D1D9"}}},{content:'"Invalid tweaks JSON string"',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" if",props:{style:{color:"#FF7B72"}}},{content:" args.upload_file:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" if not",props:{style:{color:"#FF7B72"}}},{content:" upload_file:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" raise ",props:{style:{color:"#FF7B72"}}},{content:"ImportError",props:{style:{color:"#79C0FF"}}},{content:"(",props:{style:{color:"#C9D1D9"}}},{content:'"Langflow is not installed. Please install it to use the upload_file function."',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" elif not",props:{style:{color:"#FF7B72"}}},{content:" args.components:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" raise ",props:{style:{color:"#FF7B72"}}},{content:"ValueError",props:{style:{color:"#79C0FF"}}},{content:"(",props:{style:{color:"#C9D1D9"}}},{content:'"You need to provide the components to upload the file to."',props:{style:{color:"#A5D6FF"}}},{content:")",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" tweaks ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" upload_file(",props:{style:{color:"#C9D1D9"}}},{content:"file_path",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"args.upload_file, ",props:{style:{color:"#C9D1D9"}}},{content:"host",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"BASE_API_URL",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"flow_id",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"args.endpoint, ",props:{style:{color:"#C9D1D9"}}},{content:"components",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"[args.components], ",props:{style:{color:"#C9D1D9"}}},{content:"tweaks",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"tweaks)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" run_flow(",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" message",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"args.message,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" endpoint",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"args.endpoint,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" output_type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"args.output_type,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" input_type",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"args.input_type,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" tweaks",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"tweaks,",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" api_key",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"args.api_key",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" )",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" print",props:{style:{color:"#79C0FF"}}},{content:"(json.dumps(response, ",props:{style:{color:"#C9D1D9"}}},{content:"indent",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"2",props:{style:{color:"#79C0FF"}}},{content:"))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"if ",props:{style:{color:"#FF7B72"}}},{content:"__name__ ",props:{style:{color:"#79C0FF"}}},{content:"== ",props:{style:{color:"#FF7B72"}}},{content:'"__main__"',props:{style:{color:"#A5D6FF"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" main()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]}],lang:"python"},annotations:[]}]}),"\n",(0,n.jsx)(t.p,{children:"To pass the API key to your script with a command line argument, do the following:"}),"\n",(0,n.jsx)(F.Code,{codeConfig:a,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:'your_script.py "*`',props:{style:{color:"#A5D6FF"}}},{content:"YOUR_INPUT_MESSAGE",props:{style:{color:"#FFA657"}}},{content:'`*" ',props:{style:{color:"#A5D6FF"}}},{content:"--api_key ",props:{style:{color:"#79C0FF"}}},{content:'"*`',props:{style:{color:"#A5D6FF"}}},{content:"YOUR_API_KEY",props:{style:{color:"#FFA657"}}},{content:'`*"',props:{style:{color:"#A5D6FF"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,n.jsx)(t.h2,{id:"security-considerations",children:"Security considerations"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Visibility"}),": For security reasons, the API key cannot be retrieved again through the UI."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Scope"}),": The key allows access only to the flows and components of the specific user to whom it was issued."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"custom-api-endpoint",children:"Custom API endpoint"}),"\n",(0,n.jsxs)(t.p,{children:["To choose a custom name for your API endpoint, select ",(0,n.jsx)(t.strong,{children:"Project Settings"})," > ",(0,n.jsx)(t.strong,{children:"Endpoint Name"})," and name your endpoint."]}),"\n",(0,n.jsx)(t.h2,{id:"revoke-an-api-key",children:"Revoke an API key"}),"\n",(0,n.jsxs)(t.p,{children:["To revoke an API key, delete it from the the list of keys in the ",(0,n.jsx)(t.strong,{children:"Settings"})," menu."]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Click your user icon and select ",(0,n.jsx)(t.strong,{children:"Settings"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Click ",(0,n.jsx)(t.strong,{children:"Langflow API"}),"."]}),"\n",(0,n.jsx)(t.li,{children:"Select the keys you want to delete and click the trash can icon."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"This action immediately invalidates the key and prevents it from being used again."})]})}function d(o={}){const{wrapper:t}={...(0,s.R)(),...o.components};return t?(0,n.jsx)(t,{...o,children:(0,n.jsx)(D,{...o})}):D(o)}function h(o,t){throw new Error("Expected "+(t?"component":"object")+" `"+o+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]); \ No newline at end of file diff --git a/assets/js/cacdc615.d45c1000.js b/assets/js/cacdc615.d45c1000.js deleted file mode 100644 index 5ec5c852a8..0000000000 --- a/assets/js/cacdc615.d45c1000.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7211],{5100:(o,t,e)=>{e.r(t),e.d(t,{CH:()=>i,assets:()=>a,chCodeConfig:()=>y,contentTitle:()=>c,default:()=>A,frontMatter:()=>l,metadata:()=>p,toc:()=>F});var n=e(4848),s=e(8453),r=e(4754);const l={title:"API Keys",sidebar_position:1,slug:"/configuration-api-keys"},c=void 0,p={id:"Configuration/configuration-api-keys",title:"API Keys",description:"This page may contain outdated information. It will be updated as soon as possible.",source:"@site/docs/Configuration/configuration-api-keys.md",sourceDirName:"Configuration",slug:"/configuration-api-keys",permalink:"/configuration-api-keys",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"API Keys",sidebar_position:1,slug:"/configuration-api-keys"},sidebar:"defaultSidebar",previous:{title:"Authentication",permalink:"/configuration-authentication"},next:{title:"Langflow CLI",permalink:"/configuration-cli"}},a={},i={annotations:r.hk,Code:r.Cy},y={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},F=[{value:"Generate an API key",id:"c29986a69cad4cdbbe7537e383ea7207",level:2},{value:"Generate an API key with the Langflow UI",id:"3d90098ddd7c44b6836c0273acf57123",level:3},{value:"Generate an API key with the Langflow CLI",id:"2368f62fc4b8477e8080c9c2d3659d76",level:3},{value:"Use the Langflow API key",id:"ae787e4b0d3846aa9094fac75e0ac04f",level:2},{value:"Use the x-api-key header",id:"70965b3ad24d467ca4f90e7c13a1f394",level:3},{value:"Use the query parameter",id:"febb797f3bb5403b9f070afc0fa4f453",level:3},{value:"Security Considerations",id:"1273eb69a61344d19827b30dba46dfd5",level:2},{value:"Custom API endpoint",id:"da933a86690a4fdeac24024472caf8a9",level:2},{value:"Revoke an API Key",id:"f0ea41ea167845cea91bb5e8f90d9df0",level:2}];function d(o){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...o.components};return i||D("CH",!1),i.Code||D("CH.Code",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:'[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; }'}}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"This page may contain outdated information. It will be updated as soon as possible."})}),"\n",(0,n.jsx)(t.p,{children:"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."}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"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."})}),"\n",(0,n.jsx)(t.h2,{id:"c29986a69cad4cdbbe7537e383ea7207",children:"Generate an API key"}),"\n",(0,n.jsx)(t.p,{children:"Generate a user-specific token to use with Langflow."}),"\n",(0,n.jsx)(t.h3,{id:"3d90098ddd7c44b6836c0273acf57123",children:"Generate an API key with the Langflow UI"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:'Click on the "API Key" icon.'}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:e(9416).A+"",width:"278",height:"76"})}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:'Click on "Create new secret key".'}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Give it an optional name."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:'Click on "Create secret key".'}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Copy the API key and store it in a secure location."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"2368f62fc4b8477e8080c9c2d3659d76",children:"Generate an API key with the Langflow CLI"}),"\n",(0,n.jsx)(i.Code,{codeConfig:y,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"api-key",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow api-key",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e",props:{style:{color:"#FFA657"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"API Key Created Successfully: \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"\u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"sk-O0elzoWID1izAH8RUKrnnvyyMwIzHi2Wk-uXWoNJ2Ro \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"\u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"This is the only time the API key will be displayed. \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"Make sure to store it in a secure location. \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"\u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2502 ",props:{style:{color:"#FFA657"}}},{content:"The API key has been copied to your clipboard. Cmd + V to paste it. \u2502",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",props:{style:{color:"#FFA657"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,n.jsx)(t.h2,{id:"ae787e4b0d3846aa9094fac75e0ac04f",children:"Use the Langflow API key"}),"\n",(0,n.jsx)(t.p,{children:"Include your API key in API requests to authenticate requests to Langflow."}),"\n",(0,n.jsxs)(t.h3,{id:"70965b3ad24d467ca4f90e7c13a1f394",children:["Use the ",(0,n.jsx)(t.code,{children:"x-api-key"})," header"]}),"\n",(0,n.jsxs)(t.p,{children:["Include the ",(0,n.jsx)(t.code,{children:"x-api-key"})," in the HTTP header when making API requests:"]}),"\n",(0,n.jsx)(i.Code,{codeConfig:y,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" <",props:{style:{color:"#FF7B72"}}},{content:"http://localhost:3000/api/v1/run",props:{style:{color:"#A5D6FF"}}},{content:"/><",props:{style:{color:"#C9D1D9"}}},{content:"your_flow_i",props:{style:{color:"#A5D6FF"}}},{content:"d",props:{style:{color:"#C9D1D9"}}},{content:"> ",props:{style:{color:"#FF7B72"}}},{content:"\\\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json'",props:{style:{color:"#A5D6FF"}}},{content:"\\\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'x-api-key: '",props:{style:{color:"#A5D6FF"}}},{content:"\\\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"inputs": {"text":""}, "tweaks": {}}\'',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,n.jsxs)(t.p,{children:["With Python using ",(0,n.jsx)(t.code,{children:"requests"}),":"]}),"\n",(0,n.jsx)(i.Code,{codeConfig:y,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" requests",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"from",props:{style:{color:"#FF7B72"}}},{content:" typing ",props:{style:{color:"#C9D1D9"}}},{content:"import",props:{style:{color:"#FF7B72"}}},{content:" Optional",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"BASE_API_URL ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'""',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"FLOW_ID ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"4441b773-0724-434e-9cee-19d995d8f2df"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"# You can tweak the flow by adding a tweaks dictionary",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:'# e.g {"OpenAI-XXXXX": {"model_name": "gpt-4"}}',props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"TWEAKS ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"def ",props:{style:{color:"#FF7B72"}}},{content:"run_flow",props:{style:{color:"#D2A8FF"}}},{content:"(inputs: ",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" flow_id: ",props:{style:{color:"#C9D1D9"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" tweaks: Optional[",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" apiKey: Optional[",props:{style:{color:"#C9D1D9"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:") -> ",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' """',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" Run a flow with a given message and optional tweaks.",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param message: The message to send to the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param flow_id: The ID of the flow to run",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param tweaks: Optional tweaks to customize the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :return: The JSON response from the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' """',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" api_url ",props:{style:{color:"#C9D1D9"}}},{content:"= f",props:{style:{color:"#FF7B72"}}},{content:'"',props:{style:{color:"#A5D6FF"}}},{content:"{BASE_API_URL}",props:{style:{color:"#79C0FF"}}},{content:"/",props:{style:{color:"#A5D6FF"}}},{content:"{",props:{style:{color:"#79C0FF"}}},{content:"flow_id",props:{style:{color:"#C9D1D9"}}},{content:"}",props:{style:{color:"#79C0FF"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" payload ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}},{content:'"inputs"',props:{style:{color:"#A5D6FF"}}},{content:": inputs}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" if",props:{style:{color:"#FF7B72"}}},{content:" tweaks:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" payload[",props:{style:{color:"#C9D1D9"}}},{content:'"tweaks"',props:{style:{color:"#A5D6FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" tweaks",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" if",props:{style:{color:"#FF7B72"}}},{content:" apiKey:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}},{content:'"x-api-key"',props:{style:{color:"#A5D6FF"}}},{content:": apiKey}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" requests.post(api_url, ",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"payload, ",props:{style:{color:"#C9D1D9"}}},{content:"headers",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"headers)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" return",props:{style:{color:"#FF7B72"}}},{content:" response.json()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Setup any tweaks you want to apply to the flow",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"inputs ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}},{content:'"text"',props:{style:{color:"#A5D6FF"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'""',props:{style:{color:"#A5D6FF"}}},{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"api_key ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'""',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"print",props:{style:{color:"#79C0FF"}}},{content:"(run_flow(inputs, ",props:{style:{color:"#C9D1D9"}}},{content:"flow_id",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"FLOW_ID",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"tweaks",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"TWEAKS",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"apiKey",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"api_key))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]}],lang:"python"},annotations:[]}]}),"\n",(0,n.jsx)(t.h3,{id:"febb797f3bb5403b9f070afc0fa4f453",children:"Use the query parameter"}),"\n",(0,n.jsx)(t.p,{children:"Include the API key as a query parameter in the URL:"}),"\n",(0,n.jsx)(i.Code,{codeConfig:y,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"POST ",props:{style:{color:"#A5D6FF"}}},{content:"\\\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" <",props:{style:{color:"#FF7B72"}}},{content:"http://localhost:3000/api/v1/process",props:{style:{color:"#A5D6FF"}}},{content:"/><",props:{style:{color:"#C9D1D9"}}},{content:"your_flow_i",props:{style:{color:"#A5D6FF"}}},{content:"d",props:{style:{color:"#C9D1D9"}}},{content:">",props:{style:{color:"#FF7B72"}}},{content:"?x-api-key=",props:{style:{color:"#A5D6FF"}}},{content:"<",props:{style:{color:"#FF7B72"}}},{content:"your_api_ke",props:{style:{color:"#A5D6FF"}}},{content:"y",props:{style:{color:"#C9D1D9"}}},{content:"> ",props:{style:{color:"#FF7B72"}}},{content:"\\\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:"'Content-Type: application/json'",props:{style:{color:"#A5D6FF"}}},{content:"\\\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:'\'{"inputs": {"text":""}, "tweaks": {}}\'',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,n.jsxs)(t.p,{children:["With Python using ",(0,n.jsx)(t.code,{children:"requests"}),":"]}),"\n",(0,n.jsx)(i.Code,{codeConfig:y,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"import",props:{style:{color:"#FF7B72"}}},{content:" requests",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"BASE_API_URL ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'""',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"FLOW_ID ",props:{style:{color:"#79C0FF"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'"4441b773-0724-434e-9cee-19d995d8f2df"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"# You can tweak the flow by adding a tweaks dictionary",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:'# e.g {"OpenAI-XXXXX": {"model_name": "gpt-4"}}',props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"TWEAKS ",props:{style:{color:"#79C0FF"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"def ",props:{style:{color:"#FF7B72"}}},{content:"run_flow",props:{style:{color:"#D2A8FF"}}},{content:"(inputs: ",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" flow_id: ",props:{style:{color:"#C9D1D9"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" tweaks: Optional[",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" apiKey: Optional[",props:{style:{color:"#C9D1D9"}}},{content:"str",props:{style:{color:"#79C0FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:"None",props:{style:{color:"#79C0FF"}}},{content:") -> ",props:{style:{color:"#C9D1D9"}}},{content:"dict",props:{style:{color:"#79C0FF"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' """',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" Run a flow with a given message and optional tweaks.",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param message: The message to send to the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param flow_id: The ID of the flow to run",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :param tweaks: Optional tweaks to customize the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" :return: The JSON response from the flow",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' """',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" api_url ",props:{style:{color:"#C9D1D9"}}},{content:"= f",props:{style:{color:"#FF7B72"}}},{content:'"',props:{style:{color:"#A5D6FF"}}},{content:"{BASE_API_URL}",props:{style:{color:"#79C0FF"}}},{content:"/",props:{style:{color:"#A5D6FF"}}},{content:"{",props:{style:{color:"#79C0FF"}}},{content:"flow_id",props:{style:{color:"#C9D1D9"}}},{content:"}",props:{style:{color:"#79C0FF"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" payload ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}},{content:'"inputs"',props:{style:{color:"#A5D6FF"}}},{content:": inputs}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" headers ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" if",props:{style:{color:"#FF7B72"}}},{content:" tweaks:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" payload[",props:{style:{color:"#C9D1D9"}}},{content:'"tweaks"',props:{style:{color:"#A5D6FF"}}},{content:"] ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" tweaks",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" if",props:{style:{color:"#FF7B72"}}},{content:" apiKey:",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" api_url ",props:{style:{color:"#C9D1D9"}}},{content:"+= f",props:{style:{color:"#FF7B72"}}},{content:'"?x-api-key=',props:{style:{color:"#A5D6FF"}}},{content:"{",props:{style:{color:"#79C0FF"}}},{content:"apiKey",props:{style:{color:"#C9D1D9"}}},{content:"}",props:{style:{color:"#79C0FF"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" response ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" requests.post(api_url, ",props:{style:{color:"#C9D1D9"}}},{content:"json",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"payload, ",props:{style:{color:"#C9D1D9"}}},{content:"headers",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"headers)",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" return",props:{style:{color:"#FF7B72"}}},{content:" response.json()",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Setup any tweaks you want to apply to the flow",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"inputs ",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:" {",props:{style:{color:"#C9D1D9"}}},{content:'"text"',props:{style:{color:"#A5D6FF"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'""',props:{style:{color:"#A5D6FF"}}},{content:"}",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"api_key ",props:{style:{color:"#C9D1D9"}}},{content:"= ",props:{style:{color:"#FF7B72"}}},{content:'""',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"print",props:{style:{color:"#79C0FF"}}},{content:"(run_flow(inputs, ",props:{style:{color:"#C9D1D9"}}},{content:"flow_id",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"FLOW_ID",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"tweaks",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"TWEAKS",props:{style:{color:"#79C0FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:"apiKey",props:{style:{color:"#FFA657"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"api_key))",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]}],lang:"python"},annotations:[]}]}),"\n",(0,n.jsx)(t.h2,{id:"1273eb69a61344d19827b30dba46dfd5",children:"Security Considerations"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Visibility"}),": For security reasons, the API key cannot be retrieved again through the UI."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Scope"}),": The key allows access only to the flows and components of the specific user to whom it was issued."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"da933a86690a4fdeac24024472caf8a9",children:"Custom API endpoint"}),"\n",(0,n.jsxs)(t.p,{children:["Under ",(0,n.jsx)(t.strong,{children:"Project Settings"})," > ",(0,n.jsx)(t.strong,{children:"Endpoint Name"}),", you can pick a custom name for the endpoint used to call your flow from the API."]}),"\n",(0,n.jsx)(t.h2,{id:"f0ea41ea167845cea91bb5e8f90d9df0",children:"Revoke an API Key"}),"\n",(0,n.jsx)(t.p,{children:"To revoke an API key, delete it from the UI. This action immediately invalidates the key and prevents it from being used again."})]})}function A(o={}){const{wrapper:t}={...(0,s.R)(),...o.components};return t?(0,n.jsx)(t,{...o,children:(0,n.jsx)(d,{...o})}):d(o)}function D(o,t){throw new Error("Expected "+(t?"component":"object")+" `"+o+"` to be defined: you likely forgot to import, pass, or provide it.")}},9416:(o,t,e)=>{e.d(t,{A:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARYAAABMCAYAAACoL5hqAAAAAXNSR0IArs4c6QAAAGxlWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAKgAgAEAAAAAQAAARagAwAEAAAAAQAAAEwAAAAA6/q71wAAAAlwSFlzAAAWJQAAFiUBSVIk8AAACrBJREFUeAHtnXuIVUUcx3+6qfhKMw1tNXNt7WWZPd2g1CyyoohKCqo/ovwjiiQiiqgIgsIgeheURoFlUlFEaoRKGmRv2+ilm4/Sba3V0rItzbL7PdffdTx77t5z7plx75zzHVjPuefM/M7MZ2a+85s5D3v8vWv3HmEgARIgAYsEelq0RVMkQAIkEBCgsLAhkAAJWCdAYbGOlAZJgAQoLGwDJEAC1glQWKwjpUESIAEKC9sACZCAdQIUFutIaZAESIDCwjZAAiRgnQCFxTpSGiQBEqCwsA2QAAlYJ0BhsY6UBkmABCgsbAMkQALWCVBYrCOlQRIgAQoL2wAJkIB1AhQW60hpkARIgMLCNkACJGCdAIXFOlIaJAESoLCwDZAACVgnQGGxjpQGSYAEDiICEuiKQMu6TcHpxUs/LEUb21Af7I8bM0oaG0aWjnPHHYHHn3tNwP2iaU3uLmLRco88fUwbnYQdIV7rAavH5rwaK/IF0yZ50+BjFajGIkFU1qzfGORq1g0zvGjDmfVY0DF0lNVK0fby5AO36i63EQQWLl1ZYqen4Z0gYNRUrnpOf/symmq+fdiaogIB92VgzJzHooISFhOzEVFYTBr775sNGWe6GiGjBIhs9+eZ5tfsJ16SjW2/BCZ88wozIyzlBEVHWhUa3yooTcNMmtYUCnC7ZeYVsUxUmy6W8ZxGuu+hubJl2+9B6RvHjJRZM2d4RaLu7nvuvc+rHEdkFg173uvvyta9FYFOcc0V58u1hb8hhxwsi5atDFJRVCLg7T1kigM4gV3cMK5hlOB/vft+/aagDrCPYwzVEYDXuHFzeynxr4V27RtT7283mx0CNYFOgZFW56LqqeAc1wBAITroOgnOVsMJadQ7hC14kAzJCZhTUXgqGsAUbd2X4LWwhEUF6wHhTrF2XWtQF9rofamYA5lPs8FCmKsNZlpT0Ku1l7d0pqiAJaY/JlOfxMVbYdE1FW185RYZtYHrsxcan9t9BEzxDQvzvliV9+AlqoCrzcqpGAMEwqKi9YBtWFx88Aa9FRbzGQuA16mP2Ux9qAAzv92170J81WZ3lcmn695+/9Ol51TQllVUtAxR4qLnanXrpbCEXfdwRUTB1pE06hyP2SNgjq72rGbXEm4p//XXzqCAWFMp15ZND9AH79tLYUm70JjdZpq8ZKZXZ1t8TdvJc5b9FMHdn73PqaC0LYW7auagqQTKTZP0fC1uvRMWE3yl0dGcHtE1j25+5BLNxfXRsFioqIcXaMPxynk0rvOb1L7Xj/THgYwKQ+cJXMlpSfHkK74pxNWW3LQB7ubvam3WerrN7b/J2h9aZcuWbbJz1y7p07u3DB06WMaOrpfhww7plP1IsSi0TT2uHjnarAp/1NpLJ8M1dMA7YVHolbyVMGNUEFzzPDT0cNn52w2BVV+1yPIPVsn3G4qPNERd5agj62XymRNl4vjG4LSKB36ExQLPX+l5bedR8QJDNf6Pd1OhpDxNATIrK6mdrMdXV9xGOdWWueBow26t2Ni1e7e8sGCRzH357f1Epe6gOhnQv69gqwGig3iI/+izr1b0QCAuyg82wuKjdmt9653HkhQoPBRUDkQFXgvWaOJMoZJex9f4We38ruoDd3CeevEN2fBjW3CJvn37yJSmiTLh+EYZOWJo6bKb2rZI89ct8t7KVcFdn0+bV5fOVRILiIuuJfraVr0SFvMug6nqpRors4PK0fmqei1JKgyVrOmy+vauD7cwy1TvAT38woLFJVE5ZcLRMuPiqTKgX99OeYDI4G/ymSfJ3PmLpGXtj0GcYYcOjjWwJWmfnS5eAwcyPxVSxuEpkY4Iej5qCyHDnFdFBXFMcYtK49sxXRy0mW9lretaNm13p60l738mX69ZH2Sh6dTxct2VF0aKiplHiM6s6y+XkYcfFhxu37pNYCfrwSuPJc3CK9LisX+dEmGLP3g+OlqrF4QOoR5OuAGkyUPYVnf/NsXV1QgJlllg9u+//8m7Kz4Oqqx+xDC5+rLzElXfnTdfLQ8+MU9a29oDO1MLC7p1ddkd170SFrMmq2mwaOCNDcX5q3ohsIM/hMWy77uu5rWyuq8MVFBtlROcYRNcgzWcDNzm/7j5O+n48+8A0flTTq8KFdI9P39hYAf2mk4+rio7PiTyTjK1E6RZdMToDO8FLrvaC1cWjuNP44XP+/7bnNKpx2azTFmbDq1u2RDgGdC/n5x8wriqUCEd0iOovaoMeZDIa48lDd+i91L43sXe0dTsaGHXXV941M6S5rq1kla9NOTHxTTIZAjPCJ6iz6F189Yg+w1HjEhVDKT/8tu1ovZSGavhxN55LGbnNsUgLWMVGrNDwKa5DpH2GrWSHtx0GmTytJ0/9QYhYjbrynY+49jb8WdHEG3Qwf3jRC8bR9OrvbIRPT/hnbCg42uD1c7hsg7Ma7gY2V3mvZxts0zKslzcNMdN0TKvmcZmd6Xt2bPYVbCImyZoerWXxlYtp/VyKoQGu2ZOcdEVHoWrDm96K2YnqeUKrZQ3lMmcBuk0r1K6tOdxTdy6x8NfPoYhgwbK9t93CG4XpwmaHvayHLzzWFAZYa/FhZuNDmiOsq7E60A2LnMKdCCvq9cyBU2P+bIdPWp4kFV82qCjo3h3KGnekQ7pEdReUhu+xPfSYwFc9Vqwj1G33KcpcT5pCHdA2M5CgCB3p+flctrlun7GH9Mg7xVeOERY8VGzTJ96RuJLIp0G2Mty8Pr/FQp7Feg0aT0LiIo5PbBhM8sNKE9le/iZV2T9xjbp0bOH3HHTNfu9G1SJA94dmv3UPNnz3x4ZM2qE3HbjVZWSeH3ey6mQEoeImCMwpi7muojGi7tFWopKXFr5i6dtDeKAt5Xbt26PBQHxEB/pENROrMSeRvLaY1HmYc8Fx5N4Gjr1MdcAkqTXfHCbfQILlxTW3pYVn9DGw26XXzRZTjvpmLIF/+SL7+T1hctFby9fcE7Bqz63qWz8rJzIhLCgMsJTGK0gc3Qw5/gQkaj3gRAHacLPs6g9bosEwDuvjN58531ZsuLTUlPAu0MnHjs2eNGwX+EzCh2FTyts+umX4oNwhXeDNJx79qly6fSz9Gemt5kRFq2lKO9Fz3W1paBE09EvmpkenDIGM19vH0eXNv7RlZ9/I28VBOaPHcUH57pKOXBAP7mkIChZfjcoXP7MCYsWEI0fwbxlrOd0qx4MPRQl0nl7812PlA6CU9jLy+r3aUqF7mLnn392y/IPm2XVl6vlh9afO8UcXT9cJp44TiZPmiC9enl7A7ZTueIcyKywRBUe7jtCXl34KCaVjpWbYiKdzVv8lfJR6+fxZbn2X7fLzp2Fj2n36S3DhgwSfF0uryFXwpLXSk5bboiLrkmpLXp5SoLbKAIUligqPEYCJJCKgNfPsaQqOROTAAk4I0BhcYaWhkkgvwQoLPmte5acBJwRoLA4Q0vDJJBfAhSW/NY9S04CzghQWJyhpWESyC8BCkt+654lJwFnBCgsztDSMAnklwCFJb91z5KTgDMCFBZnaGmYBPJLgMKS37pnyUnAGQEKizO0NEwC+SVAYclv3bPkJOCMAIXFGVoaJoH8EqCw5LfuWXIScEaAwuIMLQ2TQH4JUFjyW/csOQk4I0BhcYaWhkkgvwQoLPmte5acBJwR+B9AhgpkQpVtwgAAAABJRU5ErkJggg=="}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.dea0ca9f.js b/assets/js/runtime~main.8b06b87f.js similarity index 74% rename from assets/js/runtime~main.dea0ca9f.js rename to assets/js/runtime~main.8b06b87f.js index 52839a38ee..00f3bd6f43 100644 --- a/assets/js/runtime~main.dea0ca9f.js +++ b/assets/js/runtime~main.8b06b87f.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,r,f,d={},t={};function b(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,b),c.loaded=!0,c.exports}b.m=d,b.c=t,e=[],b.O=(a,c,r,f)=>{if(!c){var d=1/0;for(n=0;n=f)&&Object.keys(b.O).every((e=>b.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[n-1][2]>f;n--)e[n]=e[n-1];e[n]=[c,r,f]},b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);b.r(f);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&r&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,b.d(f,d),f},b.d=(e,a)=>{for(var c in a)b.o(a,c)&&!b.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((a,c)=>(b.f[c](e,a),a)),[])),b.u=e=>"assets/js/"+({51:"b7251463",144:"e2a386ca",145:"0be1d5fe",784:"fe965b62",804:"7fcd30b6",868:"dc7b1ef3",1039:"16d61ab3",1227:"647965d5",1246:"1b523369",1258:"7da17ff3",1456:"ecd98ae0",1563:"3ef76b56",1567:"22dd74f7",1917:"c3616f7f",2005:"0575dfc8",2042:"reactPlayerTwitch",2431:"c0d3c6ab",2624:"8ff68e6f",2657:"a3ab51d1",2691:"2efb9d3a",2723:"reactPlayerMux",3110:"6a2beaac",3392:"reactPlayerVidyard",3659:"4618a71f",3917:"c8dad5f1",3964:"829ff4d2",4028:"c2ebd62a",4046:"9ac856ad",4133:"5cf11f26",4417:"f659caff",5475:"18f3809a",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5742:"aba21aa0",5772:"f66238ae",6008:"445668ec",6147:"ab17fe15",6173:"reactPlayerVimeo",6328:"reactPlayerDailyMotion",6353:"reactPlayerPreview",6463:"reactPlayerKaltura",6494:"b453f7b0",6677:"2f617b24",6887:"reactPlayerFacebook",6900:"3f8193f3",7098:"a7bd4aaa",7211:"cacdc615",7258:"11478de3",7338:"c39b795e",7408:"3ae94ad4",7453:"fdefa9a8",7458:"reactPlayerFilePlayer",7462:"921b5fc1",7570:"reactPlayerMixcloud",7627:"reactPlayerStreamable",8031:"25bf2d67",8054:"85112c90",8127:"53ed7db4",8183:"d59b5b70",8261:"474d53cd",8356:"c6a5eaec",8401:"17896441",8446:"reactPlayerYouTube",8598:"44dfcf75",8661:"8f774222",8927:"ae68aa8b",8929:"172b3cfb",8953:"adef6868",9048:"a94703ab",9126:"ea3c040a",9304:"c329cc2b",9340:"reactPlayerWistia",9455:"54175a6c",9461:"23d0e682",9580:"f81a91eb",9642:"eae80ce0",9647:"5e95c892",9979:"reactPlayerSoundCloud"}[e]||e)+"."+{51:"dcf61e98",144:"7e8e09aa",145:"6a62a03b",784:"bf3c3b32",804:"052d3ec1",868:"d7c01dec",900:"cec9b91d",1039:"6b5d9275",1227:"d5386d93",1246:"9ab26cae",1258:"ef663a05",1456:"e5056aaa",1563:"78890091",1567:"b01bf396",1917:"66691f62",2005:"a0ff8716",2042:"38dd7b7d",2237:"51dcacf5",2431:"0df77f03",2624:"2ae05354",2657:"092bb06b",2691:"c7804f19",2723:"8f6391ba",3110:"d384ce20",3392:"cb42cdfc",3554:"c7291073",3659:"65567128",3917:"3379b67c",3964:"dfadbbad",4028:"4c8ebf9d",4046:"266ce350",4133:"988b28fb",4417:"32268d0a",5475:"8de530d5",5562:"8d63ec91",5572:"d11012c8",5628:"d6312a92",5634:"c993c87c",5742:"7728a8b8",5772:"158b350c",6008:"5070ebd4",6147:"8e51af13",6173:"291c2909",6328:"f614ee4c",6353:"8cd2b61f",6463:"8e37235b",6494:"404054b3",6677:"2dff4678",6887:"a60ee927",6900:"ed789b0e",7098:"71beb8e2",7211:"d45c1000",7258:"a9a0ccb4",7338:"156cd17a",7408:"95af4b45",7453:"c2cad3b5",7458:"c0e08054",7462:"df5a557c",7570:"34c84b39",7627:"b6323134",8031:"9469dd38",8054:"2d20ecfb",8127:"7f91271f",8183:"7baaad08",8261:"4737b75e",8356:"41abdc0c",8401:"633b1eb0",8446:"a89f408c",8598:"44362993",8661:"33e0bbf2",8927:"12e6528a",8929:"e136d1f2",8953:"e30ec767",9048:"9efc6036",9126:"028733ec",9304:"db4c4794",9340:"7f514310",9455:"77251598",9461:"f73e4482",9580:"44ae62e0",9642:"b1d36097",9647:"803b6717",9979:"9ddea34f"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="langflow-docs:",b.l=(e,a,c,d)=>{if(r[e])r[e].push(a);else{var t,o;if(void 0!==c)for(var l=document.getElementsByTagName("script"),n=0;n{t.onerror=t.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/",b.gca=function(e){return e={17896441:"8401",b7251463:"51",e2a386ca:"144","0be1d5fe":"145",fe965b62:"784","7fcd30b6":"804",dc7b1ef3:"868","16d61ab3":"1039","647965d5":"1227","1b523369":"1246","7da17ff3":"1258",ecd98ae0:"1456","3ef76b56":"1563","22dd74f7":"1567",c3616f7f:"1917","0575dfc8":"2005",reactPlayerTwitch:"2042",c0d3c6ab:"2431","8ff68e6f":"2624",a3ab51d1:"2657","2efb9d3a":"2691",reactPlayerMux:"2723","6a2beaac":"3110",reactPlayerVidyard:"3392","4618a71f":"3659",c8dad5f1:"3917","829ff4d2":"3964",c2ebd62a:"4028","9ac856ad":"4046","5cf11f26":"4133",f659caff:"4417","18f3809a":"5475","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634",aba21aa0:"5742",f66238ae:"5772","445668ec":"6008",ab17fe15:"6147",reactPlayerVimeo:"6173",reactPlayerDailyMotion:"6328",reactPlayerPreview:"6353",reactPlayerKaltura:"6463",b453f7b0:"6494","2f617b24":"6677",reactPlayerFacebook:"6887","3f8193f3":"6900",a7bd4aaa:"7098",cacdc615:"7211","11478de3":"7258",c39b795e:"7338","3ae94ad4":"7408",fdefa9a8:"7453",reactPlayerFilePlayer:"7458","921b5fc1":"7462",reactPlayerMixcloud:"7570",reactPlayerStreamable:"7627","25bf2d67":"8031","85112c90":"8054","53ed7db4":"8127",d59b5b70:"8183","474d53cd":"8261",c6a5eaec:"8356",reactPlayerYouTube:"8446","44dfcf75":"8598","8f774222":"8661",ae68aa8b:"8927","172b3cfb":"8929",adef6868:"8953",a94703ab:"9048",ea3c040a:"9126",c329cc2b:"9304",reactPlayerWistia:"9340","54175a6c":"9455","23d0e682":"9461",f81a91eb:"9580",eae80ce0:"9642","5e95c892":"9647",reactPlayerSoundCloud:"9979"}[e]||e,b.p+b.u(e)},(()=>{var e={5354:0,1869:0};b.f.j=(a,c)=>{var r=b.o(e,a)?e[a]:void 0;if(0!==r)if(r)c.push(r[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>r=e[a]=[c,f]));c.push(r[2]=f);var d=b.p+b.u(a),t=new Error;b.l(d,(c=>{if(b.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",t.name="ChunkLoadError",t.type=f,t.request=d,r[1](t)}}),"chunk-"+a,a)}},b.O.j=a=>0===e[a];var a=(a,c)=>{var r,f,d=c[0],t=c[1],o=c[2],l=0;if(d.some((a=>0!==e[a]))){for(r in t)b.o(t,r)&&(b.m[r]=t[r]);if(o)var n=o(b)}for(a&&a(c);l{"use strict";var e,a,c,r,f,t={},d={};function b(e){var a=d[e];if(void 0!==a)return a.exports;var c=d[e]={id:e,loaded:!1,exports:{}};return t[e].call(c.exports,c,c.exports,b),c.loaded=!0,c.exports}b.m=t,b.c=d,e=[],b.O=(a,c,r,f)=>{if(!c){var t=1/0;for(n=0;n=f)&&Object.keys(b.O).every((e=>b.O[e](c[o])))?c.splice(o--,1):(d=!1,f0&&e[n-1][2]>f;n--)e[n]=e[n-1];e[n]=[c,r,f]},b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);b.r(f);var t={};a=a||[null,c({}),c([]),c(c)];for(var d=2&r&&e;"object"==typeof d&&!~a.indexOf(d);d=c(d))Object.getOwnPropertyNames(d).forEach((a=>t[a]=()=>e[a]));return t.default=()=>e,b.d(f,t),f},b.d=(e,a)=>{for(var c in a)b.o(a,c)&&!b.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((a,c)=>(b.f[c](e,a),a)),[])),b.u=e=>"assets/js/"+({51:"b7251463",144:"e2a386ca",145:"0be1d5fe",784:"fe965b62",804:"7fcd30b6",868:"dc7b1ef3",1039:"16d61ab3",1227:"647965d5",1246:"1b523369",1258:"7da17ff3",1456:"ecd98ae0",1563:"3ef76b56",1567:"22dd74f7",1917:"c3616f7f",2005:"0575dfc8",2042:"reactPlayerTwitch",2431:"c0d3c6ab",2624:"8ff68e6f",2657:"a3ab51d1",2691:"2efb9d3a",2723:"reactPlayerMux",3110:"6a2beaac",3392:"reactPlayerVidyard",3659:"4618a71f",3917:"c8dad5f1",3964:"829ff4d2",4028:"c2ebd62a",4046:"9ac856ad",4133:"5cf11f26",4417:"f659caff",5475:"18f3809a",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5742:"aba21aa0",5772:"f66238ae",6008:"445668ec",6147:"ab17fe15",6173:"reactPlayerVimeo",6328:"reactPlayerDailyMotion",6353:"reactPlayerPreview",6463:"reactPlayerKaltura",6494:"b453f7b0",6677:"2f617b24",6887:"reactPlayerFacebook",6900:"3f8193f3",7098:"a7bd4aaa",7211:"cacdc615",7258:"11478de3",7338:"c39b795e",7408:"3ae94ad4",7453:"fdefa9a8",7458:"reactPlayerFilePlayer",7462:"921b5fc1",7570:"reactPlayerMixcloud",7627:"reactPlayerStreamable",8031:"25bf2d67",8054:"85112c90",8127:"53ed7db4",8183:"d59b5b70",8261:"474d53cd",8356:"c6a5eaec",8401:"17896441",8446:"reactPlayerYouTube",8598:"44dfcf75",8661:"8f774222",8927:"ae68aa8b",8929:"172b3cfb",8953:"adef6868",9048:"a94703ab",9126:"ea3c040a",9304:"c329cc2b",9340:"reactPlayerWistia",9455:"54175a6c",9461:"23d0e682",9580:"f81a91eb",9642:"eae80ce0",9647:"5e95c892",9979:"reactPlayerSoundCloud"}[e]||e)+"."+{51:"dcf61e98",144:"7e8e09aa",145:"6a62a03b",784:"bf3c3b32",804:"052d3ec1",868:"d7c01dec",900:"cec9b91d",1039:"6b5d9275",1227:"d5386d93",1246:"9ab26cae",1258:"ef663a05",1456:"e5056aaa",1563:"78890091",1567:"3d53f9c1",1917:"66691f62",2005:"a0ff8716",2042:"38dd7b7d",2237:"51dcacf5",2431:"0df77f03",2624:"2ae05354",2657:"092bb06b",2691:"c7804f19",2723:"8f6391ba",3110:"d384ce20",3392:"cb42cdfc",3554:"c7291073",3659:"65567128",3917:"3379b67c",3964:"dfadbbad",4028:"4c8ebf9d",4046:"266ce350",4133:"988b28fb",4417:"32268d0a",5475:"8de530d5",5562:"8d63ec91",5572:"d11012c8",5628:"d6312a92",5634:"c993c87c",5742:"7728a8b8",5772:"158b350c",6008:"5070ebd4",6147:"8e51af13",6173:"291c2909",6328:"f614ee4c",6353:"8cd2b61f",6463:"8e37235b",6494:"404054b3",6677:"2dff4678",6887:"a60ee927",6900:"ed789b0e",7098:"71beb8e2",7211:"2a7b0286",7258:"a9a0ccb4",7338:"156cd17a",7408:"95af4b45",7453:"c2cad3b5",7458:"c0e08054",7462:"df5a557c",7570:"34c84b39",7627:"b6323134",8031:"9469dd38",8054:"2d20ecfb",8127:"7f91271f",8183:"7baaad08",8261:"4737b75e",8356:"41abdc0c",8401:"633b1eb0",8446:"a89f408c",8598:"44362993",8661:"33e0bbf2",8927:"12e6528a",8929:"e136d1f2",8953:"e30ec767",9048:"9efc6036",9126:"028733ec",9304:"db4c4794",9340:"7f514310",9455:"77251598",9461:"f73e4482",9580:"44ae62e0",9642:"b1d36097",9647:"803b6717",9979:"9ddea34f"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="langflow-docs:",b.l=(e,a,c,t)=>{if(r[e])r[e].push(a);else{var d,o;if(void 0!==c)for(var l=document.getElementsByTagName("script"),n=0;n{d.onerror=d.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),o&&document.head.appendChild(d)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/",b.gca=function(e){return e={17896441:"8401",b7251463:"51",e2a386ca:"144","0be1d5fe":"145",fe965b62:"784","7fcd30b6":"804",dc7b1ef3:"868","16d61ab3":"1039","647965d5":"1227","1b523369":"1246","7da17ff3":"1258",ecd98ae0:"1456","3ef76b56":"1563","22dd74f7":"1567",c3616f7f:"1917","0575dfc8":"2005",reactPlayerTwitch:"2042",c0d3c6ab:"2431","8ff68e6f":"2624",a3ab51d1:"2657","2efb9d3a":"2691",reactPlayerMux:"2723","6a2beaac":"3110",reactPlayerVidyard:"3392","4618a71f":"3659",c8dad5f1:"3917","829ff4d2":"3964",c2ebd62a:"4028","9ac856ad":"4046","5cf11f26":"4133",f659caff:"4417","18f3809a":"5475","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634",aba21aa0:"5742",f66238ae:"5772","445668ec":"6008",ab17fe15:"6147",reactPlayerVimeo:"6173",reactPlayerDailyMotion:"6328",reactPlayerPreview:"6353",reactPlayerKaltura:"6463",b453f7b0:"6494","2f617b24":"6677",reactPlayerFacebook:"6887","3f8193f3":"6900",a7bd4aaa:"7098",cacdc615:"7211","11478de3":"7258",c39b795e:"7338","3ae94ad4":"7408",fdefa9a8:"7453",reactPlayerFilePlayer:"7458","921b5fc1":"7462",reactPlayerMixcloud:"7570",reactPlayerStreamable:"7627","25bf2d67":"8031","85112c90":"8054","53ed7db4":"8127",d59b5b70:"8183","474d53cd":"8261",c6a5eaec:"8356",reactPlayerYouTube:"8446","44dfcf75":"8598","8f774222":"8661",ae68aa8b:"8927","172b3cfb":"8929",adef6868:"8953",a94703ab:"9048",ea3c040a:"9126",c329cc2b:"9304",reactPlayerWistia:"9340","54175a6c":"9455","23d0e682":"9461",f81a91eb:"9580",eae80ce0:"9642","5e95c892":"9647",reactPlayerSoundCloud:"9979"}[e]||e,b.p+b.u(e)},(()=>{var e={5354:0,1869:0};b.f.j=(a,c)=>{var r=b.o(e,a)?e[a]:void 0;if(0!==r)if(r)c.push(r[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>r=e[a]=[c,f]));c.push(r[2]=f);var t=b.p+b.u(a),d=new Error;b.l(t,(c=>{if(b.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=c&&("load"===c.type?"missing":c.type),t=c&&c.target&&c.target.src;d.message="Loading chunk "+a+" failed.\n("+f+": "+t+")",d.name="ChunkLoadError",d.type=f,d.request=t,r[1](d)}}),"chunk-"+a,a)}},b.O.j=a=>0===e[a];var a=(a,c)=>{var r,f,t=c[0],d=c[1],o=c[2],l=0;if(t.some((a=>0!==e[a]))){for(r in d)b.o(d,r)&&(b.m[r]=d[r]);if(o)var n=o(b)}for(a&&a(c);l - + diff --git a/components-data.html b/components-data.html index 71c43cd3f6..6303e1f0f6 100644 --- a/components-data.html +++ b/components-data.html @@ -10,7 +10,7 @@ - + diff --git a/components-embedding-models.html b/components-embedding-models.html index ff1931a0cd..da05d4c9b5 100644 --- a/components-embedding-models.html +++ b/components-embedding-models.html @@ -10,7 +10,7 @@ - + diff --git a/components-helpers.html b/components-helpers.html index 1b2de1167a..5b2294c128 100644 --- a/components-helpers.html +++ b/components-helpers.html @@ -10,7 +10,7 @@ - + diff --git a/components-io.html b/components-io.html index 1a8139d54c..f04eb94db9 100644 --- a/components-io.html +++ b/components-io.html @@ -10,7 +10,7 @@ - + diff --git a/components-loaders.html b/components-loaders.html index dc8f2bf128..3a9b2aaa75 100644 --- a/components-loaders.html +++ b/components-loaders.html @@ -10,7 +10,7 @@ - + diff --git a/components-models.html b/components-models.html index a1166f6241..c106aa8535 100644 --- a/components-models.html +++ b/components-models.html @@ -10,7 +10,7 @@ - + diff --git a/components-prompts.html b/components-prompts.html index a87edc1314..11e6f301a2 100644 --- a/components-prompts.html +++ b/components-prompts.html @@ -10,7 +10,7 @@ - + diff --git a/components-rag.html b/components-rag.html index 35d43c2ea4..a9b42a8395 100644 --- a/components-rag.html +++ b/components-rag.html @@ -10,7 +10,7 @@ - + diff --git a/components-vector-stores.html b/components-vector-stores.html index 4463d4bb90..ddf7e1f60d 100644 --- a/components-vector-stores.html +++ b/components-vector-stores.html @@ -10,7 +10,7 @@ - + diff --git a/components.html b/components.html index fc93b2faad..6caa2d1d48 100644 --- a/components.html +++ b/components.html @@ -10,7 +10,7 @@ - + diff --git a/configuration-api-keys.html b/configuration-api-keys.html index 00dd93e792..cccf30928a 100644 --- a/configuration-api-keys.html +++ b/configuration-api-keys.html @@ -3,66 +3,58 @@ -API Keys | Langflow Documentation +API Keys | Langflow Documentation - +

API Keys

-
info

This page may contain outdated information. It will be updated as soon as possible.

-

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.

-
info

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.

-

Generate an API key

+

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, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.

+
info

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.

+

Generate an API key

Generate a user-specific token to use with Langflow.

-

Generate an API key with the Langflow UI

+

Generate an API key with the Langflow UI

    -
  1. -

    Click on the "API Key" icon.

    -

    -
  2. -
  3. -

    Click on "Create new secret key".

    -
  4. -
  5. -

    Give it an optional name.

    -
  6. -
  7. -

    Click on "Create secret key".

    -
  8. -
  9. -

    Copy the API key and store it in a secure location.

    -
  10. +
  11. Click your user icon and select Settings.
  12. +
  13. Click Langflow API, and then click Add New.
  14. +
  15. Name your key, and then click Create Secret Key.
  16. +
  17. Copy the API key and store it in a secure location.
-

Generate an API key with the Langflow CLI

+

Generate an API key with the Langflow CLI


_13
langflow api-key
_13
# or
_13
python -m langflow api-key
_13
╭─────────────────────────────────────────────────────────────────────╮
_13
│ API Key Created Successfully: │
_13
│ │
_13
│ sk-O0elzoWID1izAH8RUKrnnvyyMwIzHi2Wk-uXWoNJ2Ro │
_13
│ │
_13
│ This is the only time the API key will be displayed. │
_13
│ Make sure to store it in a secure location. │
_13
│ │
_13
│ The API key has been copied to your clipboard. Cmd + V to paste it. │
_13
╰──────────────────────────────

-

Use the Langflow API key

+

Authenticate requests with the Langflow API key

Include your API key in API requests to authenticate requests to Langflow.

-

Use the x-api-key header

-

Include the x-api-key in the HTTP header when making API requests:

-

_10
curl -X POST \\
_10
<http://localhost:3000/api/v1/run/><your_flow_id> \\
_10
-H 'Content-Type: application/json'\\
_10
-H 'x-api-key: <your api key>'\\
_10
-d '{"inputs": {"text":""}, "tweaks": {}}'

-

With Python using requests:

-

_38
import requests
_38
from typing import Optional
_38
_38
BASE_API_URL = "<http://localhost:3001/api/v1/process>"
_38
FLOW_ID = "4441b773-0724-434e-9cee-19d995d8f2df"
_38
# You can tweak the flow by adding a tweaks dictionary
_38
# e.g {"OpenAI-XXXXX": {"model_name": "gpt-4"}}
_38
TWEAKS = {}
_38
_38
def run_flow(inputs: dict,
_38
flow_id: str,
_38
tweaks: Optional[dict] = None,
_38
apiKey: Optional[str] = None) -> dict:
_38
"""
_38
Run a flow with a given message and optional tweaks.
_38
_38
:param message: The message to send to the flow
_38
:param flow_id: The ID of the flow to run
_38
:param tweaks: Optional tweaks to customize the flow
_38
:return: The JSON response from the flow
_38
"""
_38
api_url = f"{BASE_API_URL}/{flow_id}"
_38
_38
payload = {"inputs": inputs}
_38
headers = {}
_38
_38
if tweaks:
_38
payload["tweaks"] = tweaks
_38
if apiKey:
_38
headers = {"x-api-key": apiKey}
_38
_38
response = requests.post(api_url, json=payload, headers=headers)
_38
return response.json()
_38
_38
# Setup any tweaks you want to apply to the flow
_38
inputs = {"text":""}
_38
api_key = "<your api key>"
_38
print(run_flow(inputs, flow_id=FLOW_ID, tweaks=TWEAKS, apiKey=api_key))

-

Use the query parameter

-

Include the API key as a query parameter in the URL:

-

_10
curl -X POST \\
_10
<http://localhost:3000/api/v1/process/><your_flow_id>?x-api-key=<your_api_key> \\
_10
-H 'Content-Type: application/json'\\
_10
-d '{"inputs": {"text":""}, "tweaks": {}}'

-

With Python using requests:

-

_37
import requests
_37
_37
BASE_API_URL = "<http://localhost:3001/api/v1/process>"
_37
FLOW_ID = "4441b773-0724-434e-9cee-19d995d8f2df"
_37
# You can tweak the flow by adding a tweaks dictionary
_37
# e.g {"OpenAI-XXXXX": {"model_name": "gpt-4"}}
_37
TWEAKS = {}
_37
_37
def run_flow(inputs: dict,
_37
flow_id: str,
_37
tweaks: Optional[dict] = None,
_37
apiKey: Optional[str] = None) -> dict:
_37
"""
_37
Run a flow with a given message and optional tweaks.
_37
_37
:param message: The message to send to the flow
_37
:param flow_id: The ID of the flow to run
_37
:param tweaks: Optional tweaks to customize the flow
_37
:return: The JSON response from the flow
_37
"""
_37
api_url = f"{BASE_API_URL}/{flow_id}"
_37
_37
payload = {"inputs": inputs}
_37
headers = {}
_37
_37
if tweaks:
_37
payload["tweaks"] = tweaks
_37
if apiKey:
_37
api_url += f"?x-api-key={apiKey}"
_37
_37
response = requests.post(api_url, json=payload, headers=headers)
_37
return response.json()
_37
_37
# Setup any tweaks you want to apply to the flow
_37
inputs = {"text":""}
_37
api_key = "<your api key>"
_37
print(run_flow(inputs, flow_id=FLOW_ID, tweaks=TWEAKS, apiKey=api_key))

-

Security Considerations

+

Include the API key in the HTTP header

+

To use the API key when making API requests with cURL, include the API key in the HTTP header.

+

_10
curl -X POST \
_10
"http://127.0.0.1:7860/api/v1/run/*`YOUR_FLOW_ID`*?stream=false" \
_10
-H 'Content-Type: application/json' \
_10
-H 'x-api-key: *`YOUR_API_KEY`*' \
_10
-d '{"inputs": {"text":""}, "tweaks": {}}'

+

To instead pass the API key as a query parameter, do the following:

+

_10
curl -X POST \
_10
"http://127.0.0.1:7860/api/v1/run/*`YOUR_FLOW_ID`*?x-api-key=*`YOUR_API_KEY`*?stream=false" \
_10
-H 'Content-Type: application/json' \
_10
-d '{"inputs": {"text":""}, "tweaks": {}}'

+

To use the API key when making API requests with the Python requests library, include the API key as a variable string.

+

_93
import argparse
_93
import json
_93
from argparse import RawTextHelpFormatter
_93
import requests
_93
from typing import Optional
_93
import warnings
_93
try:
_93
from langflow.load import upload_file
_93
except ImportError:
_93
warnings.warn("Langflow provides a function to help you upload files to the flow. Please install langflow to use it.")
_93
upload_file = None
_93
_93
BASE_API_URL = "http://127.0.0.1:7860"
_93
FLOW_ID = "*`YOUR_FLOW_ID`*"
_93
ENDPOINT = "" # You can set a specific endpoint name in the flow settings
_93
_93
# You can tweak the flow by adding a tweaks dictionary
_93
# e.g {"OpenAI-XXXXX": {"model_name": "gpt-4"}}
_93
TWEAKS = {
_93
"ChatInput-8a86T": {},
_93
"Prompt-pKfl9": {},
_93
"ChatOutput-WcGpD": {},
_93
"OpenAIModel-5UyvQ": {}
_93
}
_93
_93
def run_flow(message: str,
_93
endpoint: str,
_93
output_type: str = "chat",
_93
input_type: str = "chat",
_93
tweaks: Optional[dict] = None,
_93
api_key: Optional[str] = None) -> dict:
_93
"""
_93
Run a flow with a given message and optional tweaks.
_93
_93
:param message: The message to send to the flow
_93
:param endpoint: The ID or the endpoint name of the flow
_93
:param tweaks: Optional tweaks to customize the flow
_93
:return: The JSON response from the flow
_93
"""
_93
api_url = f"{BASE_API_URL}/api/v1/run/{endpoint}"
_93
_93
payload = {
_93
"input_value": message,
_93
"output_type": output_type,
_93
"input_type": input_type,
_93
}
_93
headers = None
_93
if tweaks:
_93
payload["tweaks"] = tweaks
_93
if api_key:
_93
headers = {"x-api-key": api_key}
_93
response = requests.post(api_url, json=payload, headers=headers)
_93
return response.json()
_93
_93
def main():
_93
parser = argparse.ArgumentParser(description="""Run a flow with a given message and optional tweaks.
_93
Run it like: python <your file>.py "your message here" --endpoint "your_endpoint" --tweaks '{"key": "value"}'""",
_93
formatter_class=RawTextHelpFormatter)
_93
parser.add_argument("message", type=str, help="The message to send to the flow")
_93
parser.add_argument("--endpoint", type=str, default=ENDPOINT or FLOW_ID, help="The ID or the endpoint name of the flow")
_93
parser.add_argument("--tweaks", type=str, help="JSON string representing the tweaks to customize the flow", default=json.dumps(TWEAKS))
_93
parser.add_argument("--api_key", type=str, help="API key for authentication", default=None)
_93
parser.add_argument("--output_type", type=str, default="chat", help="The output type")
_93
parser.add_argument("--input_type", type=str, default="chat", help="The input type")
_93
parser.add_argument("--upload_file", type=str, help="Path to the file to upload", default=None)
_93
parser.add_argument("--components", type=str, help="Components to upload the file to", default=None)
_93
_93
args = parser.parse_args()
_93
try:
_93
tweaks = json.loads(args.tweaks)
_93
except json.JSONDecodeError:
_93
raise ValueError("Invalid tweaks JSON string")
_93
_93
if args.upload_file:
_93
if not upload_file:
_93
raise ImportError("Langflow is not installed. Please install it to use the upload_file function.")
_93
elif not args.components:
_93
raise ValueError("You need to provide the components to upload the file to.")
_93
tweaks = upload_file(file_path=args.upload_file, host=BASE_API_URL, flow_id=args.endpoint, components=[args.components], tweaks=tweaks)
_93
_93
response = run_flow(
_93
message=args.message,
_93
endpoint=args.endpoint,
_93
output_type=args.output_type,
_93
input_type=args.input_type,
_93
tweaks=tweaks,
_93
api_key=args.api_key
_93
)
_93
_93
print(json.dumps(response, indent=2))
_93
_93
if __name__ == "__main__":
_93
main()

+

To pass the API key to your script with a command line argument, do the following:

+

_10
python your_script.py "*`YOUR_INPUT_MESSAGE`*" --api_key "*`YOUR_API_KEY`*"

+

Security considerations

  • Visibility: For security reasons, the API key cannot be retrieved again through the UI.
  • Scope: The key allows access only to the flows and components of the specific user to whom it was issued.
-

Custom API endpoint

-

Under Project Settings > Endpoint Name, you can pick a custom name for the endpoint used to call your flow from the API.

-

Revoke an API Key

-

To revoke an API key, delete it from the UI. This action immediately invalidates the key and prevents it from being used again.

Hi, how can I help you?

+

Custom API endpoint

+

To choose a custom name for your API endpoint, select Project Settings > Endpoint Name and name your endpoint.

+

Revoke an API key

+

To revoke an API key, delete it from the the list of keys in the Settings menu.

+
    +
  1. Click your user icon and select Settings.
  2. +
  3. Click Langflow API.
  4. +
  5. Select the keys you want to delete and click the trash can icon.
  6. +
+

This action immediately invalidates the key and prevents it from being used again.

Hi, how can I help you?

\ No newline at end of file diff --git a/configuration-authentication.html b/configuration-authentication.html index 0d807d906c..65857f5915 100644 --- a/configuration-authentication.html +++ b/configuration-authentication.html @@ -10,7 +10,7 @@ - + diff --git a/configuration-auto-save.html b/configuration-auto-save.html index d5c6a007d4..23b8ec5eb8 100644 --- a/configuration-auto-save.html +++ b/configuration-auto-save.html @@ -10,7 +10,7 @@ - + diff --git a/configuration-backend-only.html b/configuration-backend-only.html index 2dd74abd53..0ab9e4d7cb 100644 --- a/configuration-backend-only.html +++ b/configuration-backend-only.html @@ -10,7 +10,7 @@ - + diff --git a/configuration-cli.html b/configuration-cli.html index 8d8f5152d6..8c7cfc1516 100644 --- a/configuration-cli.html +++ b/configuration-cli.html @@ -10,7 +10,7 @@ - + diff --git a/contributing-community.html b/contributing-community.html index a8868014fe..b73ac3c3b8 100644 --- a/contributing-community.html +++ b/contributing-community.html @@ -10,7 +10,7 @@ - + diff --git a/contributing-github-issues.html b/contributing-github-issues.html index 43ddfc5b20..054ca4a647 100644 --- a/contributing-github-issues.html +++ b/contributing-github-issues.html @@ -10,7 +10,7 @@ - + diff --git a/contributing-how-to-contribute.html b/contributing-how-to-contribute.html index 2070602980..8a9fa22382 100644 --- a/contributing-how-to-contribute.html +++ b/contributing-how-to-contribute.html @@ -10,7 +10,7 @@ - + diff --git a/contributing-telemetry.html b/contributing-telemetry.html index a32127a6f5..0f328317c8 100644 --- a/contributing-telemetry.html +++ b/contributing-telemetry.html @@ -10,7 +10,7 @@ - + diff --git a/deployment-docker.html b/deployment-docker.html index ada5a513a7..ec2144437b 100644 --- a/deployment-docker.html +++ b/deployment-docker.html @@ -10,7 +10,7 @@ - + diff --git a/deployment-gcp.html b/deployment-gcp.html index 118184d278..c1f8587825 100644 --- a/deployment-gcp.html +++ b/deployment-gcp.html @@ -10,7 +10,7 @@ - + diff --git a/deployment-hugging-face-spaces.html b/deployment-hugging-face-spaces.html index ff8f67ba0b..4c4d3c9850 100644 --- a/deployment-hugging-face-spaces.html +++ b/deployment-hugging-face-spaces.html @@ -10,7 +10,7 @@ - + diff --git a/deployment-kubernetes.html b/deployment-kubernetes.html index 50a5bb9850..35dc466e29 100644 --- a/deployment-kubernetes.html +++ b/deployment-kubernetes.html @@ -10,7 +10,7 @@ - + diff --git a/deployment-railway.html b/deployment-railway.html index 55450c85f2..61867c24e4 100644 --- a/deployment-railway.html +++ b/deployment-railway.html @@ -10,7 +10,7 @@ - + diff --git a/deployment-render.html b/deployment-render.html index f003cdd396..04a29333b4 100644 --- a/deployment-render.html +++ b/deployment-render.html @@ -10,7 +10,7 @@ - + diff --git a/environment-variables.html b/environment-variables.html index fde3a6d018..aab480242f 100644 --- a/environment-variables.html +++ b/environment-variables.html @@ -10,7 +10,7 @@ - + diff --git a/getting-started-common-installation-issues.html b/getting-started-common-installation-issues.html index e2ca8d424b..be62c375ff 100644 --- a/getting-started-common-installation-issues.html +++ b/getting-started-common-installation-issues.html @@ -10,7 +10,7 @@ - + diff --git a/getting-started-installation.html b/getting-started-installation.html index 540002d554..8e8c91225e 100644 --- a/getting-started-installation.html +++ b/getting-started-installation.html @@ -10,7 +10,7 @@ - + diff --git a/getting-started-quickstart.html b/getting-started-quickstart.html index 29267ba327..af51234b4b 100644 --- a/getting-started-quickstart.html +++ b/getting-started-quickstart.html @@ -10,7 +10,7 @@ - + diff --git a/guides-chat-memory.html b/guides-chat-memory.html index d95d0aee4f..266c9d19a9 100644 --- a/guides-chat-memory.html +++ b/guides-chat-memory.html @@ -10,7 +10,7 @@ - + diff --git a/guides-data-message.html b/guides-data-message.html index cfdc0f954c..b11e408f86 100644 --- a/guides-data-message.html +++ b/guides-data-message.html @@ -10,7 +10,7 @@ - + diff --git a/guides-new-to-llms.html b/guides-new-to-llms.html index 9922802ca7..bb03a2a860 100644 --- a/guides-new-to-llms.html +++ b/guides-new-to-llms.html @@ -10,7 +10,7 @@ - + diff --git a/index.html b/index.html index e57c6366a9..3f1a4f6e3b 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ - + diff --git a/integrations-assemblyai.html b/integrations-assemblyai.html index 4dd3dc1fdb..bf94fb9f39 100644 --- a/integrations-assemblyai.html +++ b/integrations-assemblyai.html @@ -10,7 +10,7 @@ - + diff --git a/integrations-langfuse.html b/integrations-langfuse.html index c6e85d3ebe..aee831308c 100644 --- a/integrations-langfuse.html +++ b/integrations-langfuse.html @@ -10,7 +10,7 @@ - + diff --git a/integrations-langsmith.html b/integrations-langsmith.html index 76168725e4..d63a428e7e 100644 --- a/integrations-langsmith.html +++ b/integrations-langsmith.html @@ -10,7 +10,7 @@ - + diff --git a/integrations-langwatch.html b/integrations-langwatch.html index 112e6da6b1..61cc061b26 100644 --- a/integrations-langwatch.html +++ b/integrations-langwatch.html @@ -10,7 +10,7 @@ - + diff --git a/integrations/notion/notion-agent-conversational.html b/integrations/notion/notion-agent-conversational.html index 4de96d26ce..ab3c24b8af 100644 --- a/integrations/notion/notion-agent-conversational.html +++ b/integrations/notion/notion-agent-conversational.html @@ -10,7 +10,7 @@ - + diff --git a/integrations/notion/notion-agent-meeting-notes.html b/integrations/notion/notion-agent-meeting-notes.html index edb809acd9..b6777a5522 100644 --- a/integrations/notion/notion-agent-meeting-notes.html +++ b/integrations/notion/notion-agent-meeting-notes.html @@ -10,7 +10,7 @@ - + diff --git a/integrations/notion/setup.html b/integrations/notion/setup.html index 36e8775452..bf59539a0f 100644 --- a/integrations/notion/setup.html +++ b/integrations/notion/setup.html @@ -10,7 +10,7 @@ - + diff --git a/settings-global-variables.html b/settings-global-variables.html index 30dff12e7b..a40057a2d6 100644 --- a/settings-global-variables.html +++ b/settings-global-variables.html @@ -10,7 +10,7 @@ - + diff --git a/settings-project-general-settings.html b/settings-project-general-settings.html index ad9e8c095c..e7aa9359c0 100644 --- a/settings-project-general-settings.html +++ b/settings-project-general-settings.html @@ -10,7 +10,7 @@ - + diff --git a/sitemap.xml b/sitemap.xml index 9f4d94cabe..0af90c8deb 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://docs.langflow.org/365085a8-a90a-43f9-a779-f8769ec7eca12024-10-31T19:39:58.000Zhttps://docs.langflow.org/components2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-custom-components2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-data2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-embedding-models2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-helpers2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-io2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-loaders2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-models2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-prompts2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-rag2024-10-31T19:39:58.000Zhttps://docs.langflow.org/components-vector-stores2024-10-31T19:39:58.000Zhttps://docs.langflow.org/Components/components-agents2024-10-31T19:39:58.000Zhttps://docs.langflow.org/Components/components-memories2024-10-31T19:39:58.000Zhttps://docs.langflow.org/Components/components-tools2024-10-31T19:39:58.000Zhttps://docs.langflow.org/configuration-api-keys2024-10-31T19:39:58.000Zhttps://docs.langflow.org/configuration-authentication2024-10-31T19:39:58.000Zhttps://docs.langflow.org/configuration-auto-save2024-10-31T19:39:58.000Zhttps://docs.langflow.org/configuration-backend-only2024-10-31T19:39:58.000Zhttps://docs.langflow.org/configuration-cli2024-10-31T19:39:58.000Zhttps://docs.langflow.org/contributing-community2024-10-31T19:39:58.000Zhttps://docs.langflow.org/contributing-github-issues2024-10-31T19:39:58.000Zhttps://docs.langflow.org/contributing-how-to-contribute2024-10-31T19:39:58.000Zhttps://docs.langflow.org/contributing-telemetry2024-10-31T19:39:58.000Zhttps://docs.langflow.org/deployment-docker2024-10-31T19:39:58.000Zhttps://docs.langflow.org/deployment-gcp2024-10-31T19:39:58.000Zhttps://docs.langflow.org/deployment-hugging-face-spaces2024-10-31T19:39:58.000Zhttps://docs.langflow.org/deployment-kubernetes2024-10-31T19:39:58.000Zhttps://docs.langflow.org/deployment-railway2024-10-31T19:39:58.000Zhttps://docs.langflow.org/deployment-render2024-10-31T19:39:58.000Zhttps://docs.langflow.org/environment-variables2024-10-31T19:39:58.000Zhttps://docs.langflow.org/getting-started-common-installation-issues2024-10-31T19:39:58.000Zhttps://docs.langflow.org/getting-started-installation2024-10-31T19:39:58.000Zhttps://docs.langflow.org/getting-started-quickstart2024-10-31T19:39:58.000Zhttps://docs.langflow.org/guides-chat-memory2024-10-31T19:39:58.000Zhttps://docs.langflow.org/guides-data-message2024-10-31T19:39:58.000Zhttps://docs.langflow.org/guides-new-to-llms2024-10-31T19:39:58.000Zhttps://docs.langflow.org/integrations-assemblyai2024-10-31T19:39:58.000Zhttps://docs.langflow.org/integrations-langfuse2024-10-31T19:39:58.000Zhttps://docs.langflow.org/integrations-langsmith2024-10-31T19:39:58.000Zhttps://docs.langflow.org/integrations-langwatch2024-10-31T19:39:58.000Zhttps://docs.langflow.org/integrations/notion/notion-agent-conversational2024-10-31T19:39:58.000Zhttps://docs.langflow.org/integrations/notion/notion-agent-meeting-notes2024-10-31T19:39:58.000Zhttps://docs.langflow.org/integrations/notion/setup2024-10-31T19:39:58.000Zhttps://docs.langflow.org/settings-global-variables2024-10-31T19:39:58.000Zhttps://docs.langflow.org/settings-project-general-settings2024-10-31T19:39:58.000Zhttps://docs.langflow.org/starter-projects-basic-prompting2024-10-31T19:39:58.000Zhttps://docs.langflow.org/starter-projects-blog-writer2024-10-31T19:39:58.000Zhttps://docs.langflow.org/starter-projects-document-qa2024-10-31T19:39:58.000Zhttps://docs.langflow.org/starter-projects-memory-chatbot2024-10-31T19:39:58.000Zhttps://docs.langflow.org/starter-projects-vector-store-rag2024-10-31T19:39:58.000Zhttps://docs.langflow.org/Starter-Projects/starter-projects-dynamic-agent2024-10-31T19:39:58.000Zhttps://docs.langflow.org/Starter-Projects/starter-projects-simple-agent2024-10-31T19:39:58.000Zhttps://docs.langflow.org/Starter-Projects/starter-projects-travel-planning-agent2024-10-31T19:39:58.000Zhttps://docs.langflow.org/whats-new-a-new-chapter-langflow2024-10-31T19:39:58.000Zhttps://docs.langflow.org/workspace2024-10-31T19:39:58.000Zhttps://docs.langflow.org/workspace-api2024-10-31T19:39:58.000Zhttps://docs.langflow.org/workspace-logs2024-10-31T19:39:58.000Zhttps://docs.langflow.org/workspace-playground2024-10-31T19:39:58.000Zhttps://docs.langflow.org/2024-10-31T19:39:58.000Z \ No newline at end of file +https://docs.langflow.org/365085a8-a90a-43f9-a779-f8769ec7eca12024-11-02T13:18:52.000Zhttps://docs.langflow.org/components2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-custom-components2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-data2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-embedding-models2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-helpers2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-io2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-loaders2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-models2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-prompts2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-rag2024-11-02T13:18:52.000Zhttps://docs.langflow.org/components-vector-stores2024-11-02T13:18:52.000Zhttps://docs.langflow.org/Components/components-agents2024-11-02T13:18:52.000Zhttps://docs.langflow.org/Components/components-memories2024-11-02T13:18:52.000Zhttps://docs.langflow.org/Components/components-tools2024-11-02T13:18:52.000Zhttps://docs.langflow.org/configuration-api-keys2024-11-02T13:18:52.000Zhttps://docs.langflow.org/configuration-authentication2024-11-02T13:18:52.000Zhttps://docs.langflow.org/configuration-auto-save2024-11-02T13:18:52.000Zhttps://docs.langflow.org/configuration-backend-only2024-11-02T13:18:52.000Zhttps://docs.langflow.org/configuration-cli2024-11-02T13:18:52.000Zhttps://docs.langflow.org/contributing-community2024-11-02T13:18:52.000Zhttps://docs.langflow.org/contributing-github-issues2024-11-02T13:18:52.000Zhttps://docs.langflow.org/contributing-how-to-contribute2024-11-02T13:18:52.000Zhttps://docs.langflow.org/contributing-telemetry2024-11-02T13:18:52.000Zhttps://docs.langflow.org/deployment-docker2024-11-02T13:18:52.000Zhttps://docs.langflow.org/deployment-gcp2024-11-02T13:18:52.000Zhttps://docs.langflow.org/deployment-hugging-face-spaces2024-11-02T13:18:52.000Zhttps://docs.langflow.org/deployment-kubernetes2024-11-02T13:18:52.000Zhttps://docs.langflow.org/deployment-railway2024-11-02T13:18:52.000Zhttps://docs.langflow.org/deployment-render2024-11-02T13:18:52.000Zhttps://docs.langflow.org/environment-variables2024-11-02T13:18:52.000Zhttps://docs.langflow.org/getting-started-common-installation-issues2024-11-02T13:18:52.000Zhttps://docs.langflow.org/getting-started-installation2024-11-02T13:18:52.000Zhttps://docs.langflow.org/getting-started-quickstart2024-11-02T13:18:52.000Zhttps://docs.langflow.org/guides-chat-memory2024-11-02T13:18:52.000Zhttps://docs.langflow.org/guides-data-message2024-11-02T13:18:52.000Zhttps://docs.langflow.org/guides-new-to-llms2024-11-02T13:18:52.000Zhttps://docs.langflow.org/integrations-assemblyai2024-11-02T13:18:52.000Zhttps://docs.langflow.org/integrations-langfuse2024-11-02T13:18:52.000Zhttps://docs.langflow.org/integrations-langsmith2024-11-02T13:18:52.000Zhttps://docs.langflow.org/integrations-langwatch2024-11-02T13:18:52.000Zhttps://docs.langflow.org/integrations/notion/notion-agent-conversational2024-11-02T13:18:52.000Zhttps://docs.langflow.org/integrations/notion/notion-agent-meeting-notes2024-11-02T13:18:52.000Zhttps://docs.langflow.org/integrations/notion/setup2024-11-02T13:18:52.000Zhttps://docs.langflow.org/settings-global-variables2024-11-02T13:18:52.000Zhttps://docs.langflow.org/settings-project-general-settings2024-11-02T13:18:52.000Zhttps://docs.langflow.org/starter-projects-basic-prompting2024-11-02T13:18:52.000Zhttps://docs.langflow.org/starter-projects-blog-writer2024-11-02T13:18:52.000Zhttps://docs.langflow.org/starter-projects-document-qa2024-11-02T13:18:52.000Zhttps://docs.langflow.org/starter-projects-memory-chatbot2024-11-02T13:18:52.000Zhttps://docs.langflow.org/starter-projects-vector-store-rag2024-11-02T13:18:52.000Zhttps://docs.langflow.org/Starter-Projects/starter-projects-dynamic-agent2024-11-02T13:18:52.000Zhttps://docs.langflow.org/Starter-Projects/starter-projects-simple-agent2024-11-02T13:18:52.000Zhttps://docs.langflow.org/Starter-Projects/starter-projects-travel-planning-agent2024-11-02T13:18:52.000Zhttps://docs.langflow.org/whats-new-a-new-chapter-langflow2024-11-02T13:18:52.000Zhttps://docs.langflow.org/workspace2024-11-02T13:18:52.000Zhttps://docs.langflow.org/workspace-api2024-11-02T13:18:52.000Zhttps://docs.langflow.org/workspace-logs2024-11-02T13:18:52.000Zhttps://docs.langflow.org/workspace-playground2024-11-02T13:18:52.000Zhttps://docs.langflow.org/2024-11-02T13:18:52.000Z \ No newline at end of file diff --git a/starter-projects-basic-prompting.html b/starter-projects-basic-prompting.html index 2d52d500d5..dc781d144b 100644 --- a/starter-projects-basic-prompting.html +++ b/starter-projects-basic-prompting.html @@ -10,7 +10,7 @@ - + diff --git a/starter-projects-blog-writer.html b/starter-projects-blog-writer.html index 5b61bd0869..edce0b2037 100644 --- a/starter-projects-blog-writer.html +++ b/starter-projects-blog-writer.html @@ -10,7 +10,7 @@ - + diff --git a/starter-projects-document-qa.html b/starter-projects-document-qa.html index 344a60b943..46ae71199e 100644 --- a/starter-projects-document-qa.html +++ b/starter-projects-document-qa.html @@ -10,7 +10,7 @@ - + diff --git a/starter-projects-memory-chatbot.html b/starter-projects-memory-chatbot.html index 3c216dd0a4..c98a35ef05 100644 --- a/starter-projects-memory-chatbot.html +++ b/starter-projects-memory-chatbot.html @@ -10,7 +10,7 @@ - + diff --git a/starter-projects-vector-store-rag.html b/starter-projects-vector-store-rag.html index 7ccff23f87..1a56a8ec8c 100644 --- a/starter-projects-vector-store-rag.html +++ b/starter-projects-vector-store-rag.html @@ -10,7 +10,7 @@ - + diff --git a/whats-new-a-new-chapter-langflow.html b/whats-new-a-new-chapter-langflow.html index 6aeb5dc13d..457608124e 100644 --- a/whats-new-a-new-chapter-langflow.html +++ b/whats-new-a-new-chapter-langflow.html @@ -10,7 +10,7 @@ - + diff --git a/workspace-api.html b/workspace-api.html index 184b17d4a9..9a74190dee 100644 --- a/workspace-api.html +++ b/workspace-api.html @@ -10,7 +10,7 @@ - + diff --git a/workspace-logs.html b/workspace-logs.html index 80212a56bc..7efc955342 100644 --- a/workspace-logs.html +++ b/workspace-logs.html @@ -10,7 +10,7 @@ - + diff --git a/workspace-playground.html b/workspace-playground.html index 19985af727..a2504fa7f1 100644 --- a/workspace-playground.html +++ b/workspace-playground.html @@ -10,7 +10,7 @@ - + diff --git a/workspace.html b/workspace.html index e9ed75ed15..b9eac24842 100644 --- a/workspace.html +++ b/workspace.html @@ -10,7 +10,7 @@ - +