From 16fe85d0d162adbe233ebd21f2a5461af22da27d Mon Sep 17 00:00:00 2001
From: "github-merge-queue[bot]"
This endpoint is deprecated. Use the Result
Create upload file (Deprecated)
-/files endpoints instead.
Returns a dictionary of all Langflow components:
_10curl -X GET \_10 "$LANGFLOW_SERVER_URL/api/v1/all" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
Because you can run Langflow as either an IDE (frontend and backend) or a runtime (headless, backend-only), it serves endpoints that support frontend and backend operations. +Many endpoints are for orchestration between the frontend and backend, reading and writing to the Langflow database, or enabling frontend functionality, like the Playground. +Unless you are contributing to the Langflow codebase, you won't directly call most of the Langflow endpoints.
+For application development, the most commonly used endpoints are the /run and /webhook flow trigger endpoints.
+For some use cases, you might use some other endpoints, such as the /files endpoints to use files in flows.
To help you explore the available endpoints, the following lists are sorted by primary use case, although some endpoints might support multiple use cases.
+The following endpoints are useful for developing applications with Langflow and administering Langflow deployments with one or more users. +You will most often use the flow trigger endpoints. +Other endpoints are helpful for specific use cases, such as administration and flow management in runtime deployments that don't have a visual editor.
/v1/run/{flow_id_or_name}: Run a flow./v1/run/advanced/{flow_id}: Advanced run with explicit inputs, outputs, tweaks, and optional session_id./v1/webhook/{flow_id_or_name}: Trigger a flow via webhook payload.Deployment details:
+/v1/version: Return Langflow version. See Get version./v1/config: Return deployment configuration. See Get configuration./v1/projects/: Create a project./v1/projects/: List projects./v1/projects/{project_id}: Read a project (with paginated flows support)./v1/projects/{project_id}: Update project info and membership./v1/projects/{project_id}: Delete a project./v1/projects/download/{project_id}: Export all flows in a project as ZIP./v1/projects/upload/: Import a project ZIP (creates project and flows)./v1/starter-projects/: Return a list of templates./v1/files/upload/{flow_id}: Upload a file to a specific flow./v1/files/download/{flow_id}/{file_name}: Download a file from a flow./v1/files/images/{flow_id}/{file_name}: Stream an image from a flow./v1/files/profile_pictures/{folder_name}/{file_name}: Get a profile picture asset./v1/files/profile_pictures/list: List available profile picture assets./v1/files/list/{flow_id}: List files for a flow./v1/files/delete/{flow_id}/{file_name}: Delete a file from a flow./v2/files (alias /v2/files/): Upload a file owned by the current user./v2/files (alias /v2/files/): List files owned by the current user./v2/files/batch/: Delete multiple files by IDs./v2/files/batch/: Download multiple files as a ZIP by IDs./v2/files/{file_id}: Download a file by ID (or return raw content internally)./v2/files/{file_id}: Edit a file name by ID./v2/files/{file_id}: Delete a file by ID./v2/files (alias /v2/files/): Delete all files for the current user./v1/api_key/: List API keys for the current user./v1/api_key/: Create a new API key./v1/api_key/{api_key_id}: Delete an API key./v1/api_key/store: Save an encrypted Store API key (cookie set)./v1/flows/: Create a flow./v1/flows/: List flows (supports pagination and filters)./v1/flows/{flow_id}: Read a flow by ID./v1/flows/public_flow/{flow_id}: Read a public flow by ID./v1/flows/{flow_id}: Update a flow./v1/flows/{flow_id}: Delete a flow./v1/flows/batch/: Create multiple flows./v1/flows/upload/: Import flows from a JSON file./v1/flows/: Delete multiple flows by IDs./v1/flows/download/: Export flows to a ZIP file./v1/flows/basic_examples/: List basic example flows./v1/users/: Add a user (superuser required when auth enabled)./v1/users/whoami: Return the current authenticated user./v1/users/: List all users (superuser required)./v1/users/{user_id}: Update a user (with role checks)./v1/users/{user_id}/reset-password: Reset own password./v1/users/{user_id}: Delete a user (cannot delete yourself).You might use these endpoints when developing custom Langflow components for your own use or to share with the Langflow community:
Develop custom components:
+/v1/all: Return all available Langflow component types. See Get all components./v1/custom_component: Build a custom component from code and return its node./v1/custom_component/update: Update an existing custom component's build config and outputs./v1/validate/code: Validate a Python code snippet for a custom component.Langflow Store:
+/v1/store/check/: Return whether the Store feature is enabled./v1/store/check/api_key: Check if a Store API key exists and is valid./v1/store/components/: Share a component to the Store./v1/store/components/{component_id}: Update a shared component./v1/store/components/: List available Store components (filters supported)./v1/store/components/{component_id}: Download a component from the Store./v1/store/tags: List Store tags./v1/store/users/likes: List components liked by the current user./v1/store/users/likes/{component_id}: Like a component.The following endpoints are for managing Langflow MCP servers, both Langflow-hosted MCP servers and external MCP server connections:
MCP (global):
+/v1/mcp/sse: Health check for MCP SSE./v1/mcp/sse: Open SSE stream for MCP server events./v1/mcp/: Post messages to the MCP server.MCP (project-specific):
+/v1/mcp/project/{project_id}: List MCP-enabled tools and project auth settings./v1/mcp/project/{project_id}/sse: Health check for project SSE./v1/mcp/project/{project_id}/sse: Open project-scoped MCP SSE./v1/mcp/project/{project_id}: Post messages to project MCP server./v1/mcp/project/{project_id}/ (trailing slash): Same as above./v1/mcp/project/{project_id}: Update MCP settings for flows and project auth settings./v1/mcp/project/{project_id}/install: Install MCP client config for Cursor/Windsurf/Claude (local only)./v1/mcp/project/{project_id}/installed: Check which clients have MCP config installed.The following endpoints are most often used when contributing to the Langflow codebase, and you need to understand or call endpoints that support frontend-to-backend orchestration or other internal functionality.
Base (metadata):
+/v1/all: Return all available Langflow component types. See Get all components./v1/version: Return Langflow version. See Get version./v1/config: Return deployment configuration. See Get configuration./v1/starter-projects/: Return a list of templates.Build endpoints (internal editor support):
+/v1/build/{flow_id}/flow: Start a flow build and return a job ID./v1/build/{job_id}/events: Stream or fetch build events./v1/build/{job_id}/cancel: Cancel a build job./v1/build_public_tmp/{flow_id}/flow: Build a public flow without auth./v1/validate/prompt: Validate a prompt payload./v1/login: Login and set tokens as cookies./v1/auto_login: Auto-login (if enabled) and set tokens./v1/refresh: Refresh tokens using refresh cookie./v1/logout: Logout and clear cookies./v1/monitor/builds: Get vertex builds for a flow./v1/monitor/builds: Delete vertex builds for a flow./v1/monitor/messages/sessions: List message session IDs (auth required)./v1/monitor/messages: List messages with optional filters./v1/monitor/messages: Delete messages by IDs (auth required)./v1/monitor/messages/{message_id}: Update a message./v1/monitor/messages/session/{old_session_id}: Change a session ID for all messages in that session./v1/monitor/messages/session/{session_id}: Delete messages by session./v1/monitor/transactions: List transactions for a flow (paginated).Variables:
+/v1/variables/: Create a variable, such as an API key, for the user./v1/variables/: List variables for the user./v1/variables/{variable_id}: Update a variable./v1/variables/{variable_id}: Delete a variable./v1/voice/ws/flow_as_tool/{flow_id}: Bi-directional voice session exposing the flow as a tool./v1/voice/ws/flow_as_tool/{flow_id}/{session_id}: Same as above with explicit session ID./v1/voice/ws/flow_tts/{flow_id}: Voice-to-text session that runs a flow and returns TTS./v1/voice/ws/flow_tts/{flow_id}/{session_id}: Same as above with explicit session ID./v1/voice/elevenlabs/voice_ids: List available ElevenLabs voice IDs for the user.The following endpoints are deprecated:
/v1/predict/{flow_id}: Use /v1/run/{flow_id} instead./v1/process/{flow_id}: Use /v1/run/{flow_id} instead./v1/task/{task_id}: Deprecated functionality./v1/upload/{flow_id}: Use /files instead./v1/build/{flow_id}/vertices: Replaced by /monitor/builds./v1/build/{flow_id}/vertices/{vertex_id}: Replaced by /monitor/builds./v1/build/{flow_id}/{vertex_id}/stream: Replaced by /monitor/builds./v1/files and /v2/files",id:"differences-between-v1files-and-v2files",level:2},{value:"Files/V1 endpoints",id:"filesv1-endpoints",level:2},{value:"Upload file (v1)",id:"upload-file-v1",level:3},{value:"Upload image files (v1)",id:"upload-image-files-v1",level:3},{value:"List files (v1)",id:"list-files-v1",level:3},{value:"Download file (v1)",id:"download-file-v1",level:3},{value:"Delete file (v1)",id:"delete-file-v1",level:3},{value:"Files/V2 endpoints",id:"filesv2-endpoints",level:2},{value:"Upload file (v2)",id:"upload-file-v2",level:3},{value:"Send files to your flows (v2)",id:"send-files-to-your-flows-v2",level:3},{value:"List files (v2)",id:"list-files-v2",level:3},{value:"Download file (v2)",id:"download-file-v2",level:3},{value:"Edit file name (v2)",id:"edit-file-name-v2",level:3},{value:"Delete file (v2)",id:"delete-file-v2",level:3},{value:"Delete all files (v2)",id:"delete-all-files-v2",level:3},{value:"Create upload file (Deprecated)",id:"create-upload-file-deprecated",level:2},{value:"See also",id:"see-also",level:2}];function h(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components},{Details:t}=o;return a||f("CH",!1),a.Code||f("CH.Code",!0),t||f("Details",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.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","\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints to move files between your local machine and Langflow."]}),"\n",(0,s.jsxs)(o.h2,{id:"differences-between-v1files-and-v2files",children:["Differences between ",(0,s.jsx)(o.code,{children:"/v1/files"})," and ",(0,s.jsx)(o.code,{children:"/v2/files"})]}),"\n",(0,s.jsxs)(o.p,{children:["There are two versions of the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints."]}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.code,{children:"/v2/files"})," offers the following improvements over ",(0,s.jsx)(o.code,{children:"/v1/files"}),":"]}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," files are organized by ",(0,s.jsx)(o.code,{children:"user_id"})," instead of ",(0,s.jsx)(o.code,{children:"flow_id"}),".\nThis means files are owned by users, and they aren't attached to specific flows.\nYou can upload a file to Langflow one time, and use it with multiple flows."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," files are tracked in the Langflow database."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," supports bulk upload and delete."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," responses contain more descriptive metadata."]}),"\n"]}),"\n",(0,s.jsxs)(o.p,{children:["However, ",(0,s.jsx)(o.code,{children:"/v2/files"})," doesn't support image files.\nTo send image files to your flows through the API, use ",(0,s.jsx)(o.a,{href:"#upload-image-files-v1",children:"Upload image files (v1)"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"filesv1-endpoints",children:"Files/V1 endpoints"}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints to move files between your local machine and Langflow."]}),"\n",(0,s.jsx)(o.h3,{id:"upload-file-v1",children:"Upload file (v1)"}),"\n",(0,s.jsxs)(o.p,{children:["Upload a file to the ",(0,s.jsx)(o.code,{children:"v1/files/upload/$FLOW_ID"})," endpoint:\nReplace ",(0,s.jsx)(o.strong,{children:"FILE_NAME"})," with the uploaded file name."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/upload/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@FILE_NAME.txt"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["Replace ",(0,s.jsx)(o.code,{children:"FILE_NAME.txt"})," with the name and extension of the file you want to upload.\nNot all file types are supported."]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "flowId"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"92f9a4c5-cfc8-4656-ae63-1f0881163c28"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "file_path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"92f9a4c5-cfc8-4656-ae63-1f0881163c28/2024-12-30_15-19-43_your_file.txt"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"upload-image-files-v1",children:"Upload image files (v1)"}),"\n",(0,s.jsx)(o.p,{children:"Send image files to Langflow to use them in flows."}),"\n",(0,s.jsxs)(o.p,{children:["The default file limit is 100 MB.\nTo change this limit, set the ",(0,s.jsx)(o.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})," ",(0,s.jsx)(o.a,{href:"/environment-variables",children:"environment variable"}),"."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Attach the image to a ",(0,s.jsx)(o.code,{children:"POST /v1/files/upload/$FLOW_ID"})," request with ",(0,s.jsx)(o.code,{children:"--form"})," (",(0,s.jsx)(o.code,{children:"-F"}),") and the file path:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/upload/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@PATH/TO/FILE.png"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["A successful request returns the ",(0,s.jsx)(o.code,{children:"file_path"})," for the image in the Langflow file management system in the format ",(0,s.jsx)(o.code,{children:"FLOW_ID/TIMESTAMP_FILENAME.TYPE"}),".\nFor example:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "flowId"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"a430cc57-06bb-4c11-be39-d3d4de68d2c4"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "file_path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Use the returned ",(0,s.jsx)(o.code,{children:"file_path"})," to send the image file to other components that can accept file input. Where you specify the file path depends on the component type."]}),"\n",(0,s.jsxs)(o.p,{children:["The following example runs the ",(0,s.jsx)(o.strong,{children:"Basic Prompting"})," template flow, passing the image file and the query ",(0,s.jsx)(o.code,{children:"describe this image"})," as input for the ",(0,s.jsx)(o.strong,{children:"Chat Input"})," component.\nIn this case, the file path is specified in ",(0,s.jsx)(o.code,{children:"tweaks"}),"."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v1/run/a430cc57-06bb-4c11-be39-d3d4de68d2c4?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: ',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:"'{",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "output_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "tweaks": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "ChatInput-b67sL": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "files": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_value": "describe this image"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["For help with tweaks, use the ",(0,s.jsx)(o.strong,{children:"Input Schema"})," in a flow's ",(0,s.jsxs)(o.a,{href:"/concepts-publish#api-access",children:[(0,s.jsx)(o.strong,{children:"API access"})," pane"]}),".\nSetting tweaks with ",(0,s.jsx)(o.strong,{children:"Input Schema"})," also automatically populates the required component IDs."]})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"list-files-v1",children:"List files (v1)"}),"\n",(0,s.jsx)(o.p,{children:"List all files associated with a specific flow."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/list/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "files"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}},{content:'"2024-12-30_15-19-43_your_file.txt"',props:{style:{color:"#A5D6FF"}}},{content:"]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"download-file-v1",children:"Download file (v1)"}),"\n",(0,s.jsx)(o.p,{children:"Download a specific file from a flow."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/download/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'/2024-12-30_15-19-43_your_file.txt" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --output ",props:{style:{color:"#79C0FF"}}},{content:"downloaded_file.txt",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"File contents downloaded to downloaded_file.txt",props:{}}]}],lang:"text"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"delete-file-v1",children:"Delete file (v1)"}),"\n",(0,s.jsx)(o.p,{children:"Delete a specific file from a flow."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"DELETE ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/delete/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'/2024-12-30_15-19-43_your_file.txt" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "message"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"File 2024-12-30_15-19-43_your_file.txt deleted successfully"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h2,{id:"filesv2-endpoints",children:"Files/V2 endpoints"}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints to move files between your local machine and Langflow."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"/v2/files"})," endpoints can be authenticated by an API key or JWT.\nTo create a Langflow API key and export it as an environment variable, see ",(0,s.jsx)(o.a,{href:"/api-reference-api-examples",children:"Get started with the Langflow API"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"upload-file-v2",children:"Upload file (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Upload a file to your user account. The file can be used across multiple flows."}),"\n",(0,s.jsxs)(o.p,{children:["The file is uploaded in the format ",(0,s.jsx)(o.code,{children:"USER_ID/FILE_ID.FILE_EXTENSION"}),", such as ",(0,s.jsx)(o.code,{children:"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf"}),"."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To retrieve your current ",(0,s.jsx)(o.code,{children:"user_id"}),", call the ",(0,s.jsx)(o.code,{children:"/whoami"})," endpoint:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v1/users/whoami" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'{"id":"07e5b864-e367-4f52-b647-a48035ae7e5e","username":"langflow","profile_image":null,"store_api_key":null,"is_active":true,"is_superuser":true,"create_at":"2025-05-08T17:59:07.855965","updated_at":"2025-05-28T19:00:42.556460","last_login_at":"2025-05-28T19:00:42.554338","optins":{"github_starred":false,"dialog_dismissed":true,"discord_clicked":false,"mcp_dialog_dismissed":true}}',props:{}}]}],lang:"text"},annotations:[]}]})]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["In the POST request to ",(0,s.jsx)(o.code,{children:"v2/files"}),", replace ",(0,s.jsx)(o.strong,{children:"@FILE_NAME.EXTENSION"})," with the uploaded file name and its extension.\nYou must include the ampersand (",(0,s.jsx)(o.code,{children:"@"}),") in the request to instruct curl to upload the contents of the file, not the string ",(0,s.jsx)(o.code,{children:"FILE_NAME.EXTENSION"}),"."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@FILE_NAME.EXTENSION"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["The file is uploaded in the format ",(0,s.jsx)(o.code,{children:"USER_ID/FILE_ID.FILE_EXTENSION"}),", and the API returns metadata about the uploaded file:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"engine_manual"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:"851160",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"send-files-to-your-flows-v2",children:"Send files to your flows (v2)"}),"\n",(0,s.jsx)(o.admonition,{type:"important",children:(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"/v2/files"})," endpoint can't send image files to flows.\nTo send image files to your flows through the API, see ",(0,s.jsx)(o.a,{href:"#upload-image-files-v1",children:"Upload image files (v1)"}),"."]})}),"\n",(0,s.jsxs)(o.p,{children:["This endpoint uploads files to your Langflow server's file management system.\nTo use an uploaded file in a flow, send the file path to a flow with a ",(0,s.jsxs)(o.a,{href:"/components-data#file",children:[(0,s.jsx)(o.strong,{children:"File"})," component"]}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["The default file limit is 100 MB. To configure this value, change the ",(0,s.jsx)(o.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})," ",(0,s.jsx)(o.a,{href:"/environment-variables",children:"environment variable"}),"."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To send a file to your flow with the API, POST the file to the ",(0,s.jsx)(o.code,{children:"/api/v2/files"})," endpoint."]}),"\n",(0,s.jsxs)(o.p,{children:["Replace ",(0,s.jsx)(o.strong,{children:"FILE_NAME.EXTENSION"})," with the name and extension of the file you want to upload.\nThis is the same step described in ",(0,s.jsx)(o.a,{href:"#upload-file-v2",children:"Upload file (v2)"}),", but since you need the filename to upload to your flow, it is included here."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@FILE_NAME.EXTENSION"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["The file is uploaded in the format ",(0,s.jsx)(o.code,{children:"USER_ID/FILE_ID.FILE_EXTENSION"}),", and the API returns metadata about the uploaded file:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"engine_manual"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:"851160",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To use this file in your flow, add a ",(0,s.jsx)(o.strong,{children:"File"})," component to your flow.\nThis component loads files into flows from your local machine or Langflow file management."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Run the flow, passing the ",(0,s.jsx)(o.code,{children:"path"})," to the ",(0,s.jsx)(o.code,{children:"File"})," component in the ",(0,s.jsx)(o.code,{children:"tweaks"})," object:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl --request POST \\",props:{}}]},{tokens:[{content:' --url "$LANGFLOW_URL/api/v1/run/$FLOW_ID" \\',props:{}}]},{tokens:[{content:' --header "Content-Type: application/json" \\',props:{}}]},{tokens:[{content:' --header "x-api-key: $LANGFLOW_API_KEY" \\',props:{}}]},{tokens:[{content:" --data '{",props:{}}]},{tokens:[{content:' "input_value": "what do you see?",',props:{}}]},{tokens:[{content:' "output_type": "chat",',props:{}}]},{tokens:[{content:' "input_type": "text",',props:{}}]},{tokens:[{content:' "tweaks": {',props:{}}]},{tokens:[{content:' "File-1olS3": {',props:{}}]},{tokens:[{content:' "path": [',props:{}}]},{tokens:[{content:' "07e5b864-e367-4f52-b647-a48035ae7e5e/3a290013-fe1e-4d3d-a454-cacae81288f3.pdf"',props:{}}]},{tokens:[{content:" ]",props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:"}'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["To get the ",(0,s.jsx)(o.code,{children:"File"})," component's ID, call the ",(0,s.jsx)(o.a,{href:"/api-flows#read-flow",children:"Read flow"})," endpoint or inspect the component in the visual editor."]}),"\n",(0,s.jsx)(o.p,{children:"If the file path is valid, the flow runs successfully."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"list-files-v2",children:"List files (v2)"}),"\n",(0,s.jsx)(o.p,{children:"List all files associated with your user account."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"[",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"c7b22c4c-d5e0-4ec9-af97-5d85b7657a34"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"your_file"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"6f17a73e-97d7-4519-a8d9-8e4c0be411bb/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34.txt"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"1234",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"]",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"download-file-v2",children:"Download file (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Download a specific file by its ID and file extension."}),"\n",(0,s.jsxs)(o.p,{children:["You must specify the file type you expect in the ",(0,s.jsx)(o.code,{children:"--output"})," value."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --output ",props:{style:{color:"#79C0FF"}}},{content:"downloaded_file.txt",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"File contents downloaded to downloaded_file.txt",props:{}}]}],lang:"text"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"edit-file-name-v2",children:"Edit file name (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Change a file name."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"PUT ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v2/files/",props:{style:{color:"#A5D6FF"}}},{content:"$FILE_ID",props:{style:{color:"#C9D1D9"}}},{content:'?name=new_file_name" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"76543e40-f388-4cb3-b0ee-a1e870aca3d3"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"new_file_name"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"6f17a73e-97d7-4519-a8d9-8e4c0be411bb/76543e40-f388-4cb3-b0ee-a1e870aca3d3.png"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"2728251",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"delete-file-v2",children:"Delete file (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Delete a specific file by its ID."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"DELETE ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v2/files/",props:{style:{color:"#A5D6FF"}}},{content:"$FILE_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "message"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"File deleted successfully"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"delete-all-files-v2",children:"Delete all files (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Delete all files associated with your user account."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"DELETE ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "message"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"All files deleted successfully"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h2,{id:"create-upload-file-deprecated",children:"Create upload file (Deprecated)"}),"\n",(0,s.jsxs)(o.p,{children:["This endpoint is deprecated. Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints instead."]}),"\n",(0,s.jsx)(o.h2,{id:"see-also",children:"See also"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"/concepts-file-management",children:"Manage files"})}),"\n"]})]})}function y(e={}){const{wrapper:o}={...(0,l.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}function f(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]);
\ No newline at end of file
diff --git a/assets/js/97254d1d.ef5580b1.js b/assets/js/97254d1d.ef5580b1.js
deleted file mode 100644
index e11c1a7a1c..0000000000
--- a/assets/js/97254d1d.ef5580b1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9459],{11470:(e,o,t)=>{t.d(o,{A:()=>A});var n=t(96540),s=t(18215),l=t(23104),c=t(56347),r=t(205),p=t(57485),i=t(31682),a=t(70679);function d(e){return n.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:o}=e;return!!o&&"object"==typeof o&&"value"in o}(e))return e;throw new Error(`Docusaurus error: Bad /v1/files and /v2/files",id:"differences-between-v1files-and-v2files",level:2},{value:"Files/V1 endpoints",id:"filesv1-endpoints",level:2},{value:"Upload file (v1)",id:"upload-file-v1",level:3},{value:"Upload image files (v1)",id:"upload-image-files-v1",level:3},{value:"List files (v1)",id:"list-files-v1",level:3},{value:"Download file (v1)",id:"download-file-v1",level:3},{value:"Delete file (v1)",id:"delete-file-v1",level:3},{value:"Files/V2 endpoints",id:"filesv2-endpoints",level:2},{value:"Upload file (v2)",id:"upload-file-v2",level:3},{value:"Send files to your flows (v2)",id:"send-files-to-your-flows-v2",level:3},{value:"List files (v2)",id:"list-files-v2",level:3},{value:"Download file (v2)",id:"download-file-v2",level:3},{value:"Edit file name (v2)",id:"edit-file-name-v2",level:3},{value:"Delete file (v2)",id:"delete-file-v2",level:3},{value:"Delete all files (v2)",id:"delete-all-files-v2",level:3},{value:"Create upload file (Deprecated)",id:"create-upload-file-deprecated",level:2}];function h(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components},{Details:t}=o;return a||f("CH",!1),a.Code||f("CH.Code",!0),t||f("Details",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.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","\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints to move files between your local machine and Langflow."]}),"\n",(0,s.jsxs)(o.h2,{id:"differences-between-v1files-and-v2files",children:["Differences between ",(0,s.jsx)(o.code,{children:"/v1/files"})," and ",(0,s.jsx)(o.code,{children:"/v2/files"})]}),"\n",(0,s.jsxs)(o.p,{children:["There are two versions of the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints."]}),"\n",(0,s.jsxs)(o.p,{children:[(0,s.jsx)(o.code,{children:"/v2/files"})," offers the following improvements over ",(0,s.jsx)(o.code,{children:"/v1/files"}),":"]}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," files are organized by ",(0,s.jsx)(o.code,{children:"user_id"})," instead of ",(0,s.jsx)(o.code,{children:"flow_id"}),".\nThis means files are owned by users, and they aren't attached to specific flows.\nYou can upload a file to Langflow one time, and use it with multiple flows."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," files are tracked in the Langflow database."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," supports bulk upload and delete."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"/v2"})," responses contain more descriptive metadata."]}),"\n"]}),"\n",(0,s.jsxs)(o.p,{children:["However, ",(0,s.jsx)(o.code,{children:"/v2/files"})," doesn't support image files.\nTo send image files to your flows through the API, use ",(0,s.jsx)(o.a,{href:"#upload-image-files-v1",children:"Upload image files (v1)"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"filesv1-endpoints",children:"Files/V1 endpoints"}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints to move files between your local machine and Langflow."]}),"\n",(0,s.jsx)(o.h3,{id:"upload-file-v1",children:"Upload file (v1)"}),"\n",(0,s.jsxs)(o.p,{children:["Upload a file to the ",(0,s.jsx)(o.code,{children:"v1/files/upload/$FLOW_ID"})," endpoint:\nReplace ",(0,s.jsx)(o.strong,{children:"FILE_NAME"})," with the uploaded file name."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/upload/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@FILE_NAME.txt"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["Replace ",(0,s.jsx)(o.code,{children:"FILE_NAME.txt"})," with the name and extension of the file you want to upload.\nNot all file types are supported."]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "flowId"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"92f9a4c5-cfc8-4656-ae63-1f0881163c28"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "file_path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"92f9a4c5-cfc8-4656-ae63-1f0881163c28/2024-12-30_15-19-43_your_file.txt"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"upload-image-files-v1",children:"Upload image files (v1)"}),"\n",(0,s.jsx)(o.p,{children:"Send image files to Langflow to use them in flows."}),"\n",(0,s.jsxs)(o.p,{children:["The default file limit is 100 MB.\nTo change this limit, set the ",(0,s.jsx)(o.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})," ",(0,s.jsx)(o.a,{href:"/environment-variables",children:"environment variable"}),"."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Attach the image to a ",(0,s.jsx)(o.code,{children:"POST /v1/files/upload/$FLOW_ID"})," request with ",(0,s.jsx)(o.code,{children:"--form"})," (",(0,s.jsx)(o.code,{children:"-F"}),") and the file path:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/upload/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@PATH/TO/FILE.png"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["A successful request returns the ",(0,s.jsx)(o.code,{children:"file_path"})," for the image in the Langflow file management system in the format ",(0,s.jsx)(o.code,{children:"FLOW_ID/TIMESTAMP_FILENAME.TYPE"}),".\nFor example:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "flowId"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"a430cc57-06bb-4c11-be39-d3d4de68d2c4"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "file_path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Use the returned ",(0,s.jsx)(o.code,{children:"file_path"})," to send the image file to other components that can accept file input. Where you specify the file path depends on the component type."]}),"\n",(0,s.jsxs)(o.p,{children:["The following example runs the ",(0,s.jsx)(o.strong,{children:"Basic Prompting"})," template flow, passing the image file and the query ",(0,s.jsx)(o.code,{children:"describe this image"})," as input for the ",(0,s.jsx)(o.strong,{children:"Chat Input"})," component.\nIn this case, the file path is specified in ",(0,s.jsx)(o.code,{children:"tweaks"}),"."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v1/run/a430cc57-06bb-4c11-be39-d3d4de68d2c4?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: ',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -d ",props:{style:{color:"#79C0FF"}}},{content:"'{",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "output_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_type": "chat",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "tweaks": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "ChatInput-b67sL": {',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "files": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png",',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:' "input_value": "describe this image"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["For help with tweaks, use the ",(0,s.jsx)(o.strong,{children:"Input Schema"})," in a flow's ",(0,s.jsxs)(o.a,{href:"/concepts-publish#api-access",children:[(0,s.jsx)(o.strong,{children:"API access"})," pane"]}),".\nSetting tweaks with ",(0,s.jsx)(o.strong,{children:"Input Schema"})," also automatically populates the required component IDs."]})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"list-files-v1",children:"List files (v1)"}),"\n",(0,s.jsx)(o.p,{children:"List all files associated with a specific flow."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/list/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "files"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}},{content:'"2024-12-30_15-19-43_your_file.txt"',props:{style:{color:"#A5D6FF"}}},{content:"]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"download-file-v1",children:"Download file (v1)"}),"\n",(0,s.jsx)(o.p,{children:"Download a specific file from a flow."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/download/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'/2024-12-30_15-19-43_your_file.txt" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --output ",props:{style:{color:"#79C0FF"}}},{content:"downloaded_file.txt",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"File contents downloaded to downloaded_file.txt",props:{}}]}],lang:"text"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"delete-file-v1",children:"Delete file (v1)"}),"\n",(0,s.jsx)(o.p,{children:"Delete a specific file from a flow."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"DELETE ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v1/files/delete/",props:{style:{color:"#A5D6FF"}}},{content:"$FLOW_ID",props:{style:{color:"#C9D1D9"}}},{content:'/2024-12-30_15-19-43_your_file.txt" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "message"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"File 2024-12-30_15-19-43_your_file.txt deleted successfully"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h2,{id:"filesv2-endpoints",children:"Files/V2 endpoints"}),"\n",(0,s.jsxs)(o.p,{children:["Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints to move files between your local machine and Langflow."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"/v2/files"})," endpoints can be authenticated by an API key or JWT.\nTo create a Langflow API key and export it as an environment variable, see ",(0,s.jsx)(o.a,{href:"/api-reference-api-examples",children:"Get started with the Langflow API"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"upload-file-v2",children:"Upload file (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Upload a file to your user account. The file can be used across multiple flows."}),"\n",(0,s.jsxs)(o.p,{children:["The file is uploaded in the format ",(0,s.jsx)(o.code,{children:"USER_ID/FILE_ID.FILE_EXTENSION"}),", such as ",(0,s.jsx)(o.code,{children:"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf"}),"."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To retrieve your current ",(0,s.jsx)(o.code,{children:"user_id"}),", call the ",(0,s.jsx)(o.code,{children:"/whoami"})," endpoint:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v1/users/whoami" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'{"id":"07e5b864-e367-4f52-b647-a48035ae7e5e","username":"langflow","profile_image":null,"store_api_key":null,"is_active":true,"is_superuser":true,"create_at":"2025-05-08T17:59:07.855965","updated_at":"2025-05-28T19:00:42.556460","last_login_at":"2025-05-28T19:00:42.554338","optins":{"github_starred":false,"dialog_dismissed":true,"discord_clicked":false,"mcp_dialog_dismissed":true}}',props:{}}]}],lang:"text"},annotations:[]}]})]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["In the POST request to ",(0,s.jsx)(o.code,{children:"v2/files"}),", replace ",(0,s.jsx)(o.strong,{children:"@FILE_NAME.EXTENSION"})," with the uploaded file name and its extension.\nYou must include the ampersand (",(0,s.jsx)(o.code,{children:"@"}),") in the request to instruct curl to upload the contents of the file, not the string ",(0,s.jsx)(o.code,{children:"FILE_NAME.EXTENSION"}),"."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@FILE_NAME.EXTENSION"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["The file is uploaded in the format ",(0,s.jsx)(o.code,{children:"USER_ID/FILE_ID.FILE_EXTENSION"}),", and the API returns metadata about the uploaded file:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"engine_manual"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:"851160",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"send-files-to-your-flows-v2",children:"Send files to your flows (v2)"}),"\n",(0,s.jsx)(o.admonition,{type:"important",children:(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"/v2/files"})," endpoint can't send image files to flows.\nTo send image files to your flows through the API, see ",(0,s.jsx)(o.a,{href:"#upload-image-files-v1",children:"Upload image files (v1)"}),"."]})}),"\n",(0,s.jsxs)(o.p,{children:["This endpoint uploads files to your Langflow server's file management system.\nTo use an uploaded file in a flow, send the file path to a flow with a ",(0,s.jsxs)(o.a,{href:"/components-data#file",children:[(0,s.jsx)(o.strong,{children:"File"})," component"]}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["The default file limit is 100 MB. To configure this value, change the ",(0,s.jsx)(o.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})," ",(0,s.jsx)(o.a,{href:"/environment-variables",children:"environment variable"}),"."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To send a file to your flow with the API, POST the file to the ",(0,s.jsx)(o.code,{children:"/api/v2/files"})," endpoint."]}),"\n",(0,s.jsxs)(o.p,{children:["Replace ",(0,s.jsx)(o.strong,{children:"FILE_NAME.EXTENSION"})," with the name and extension of the file you want to upload.\nThis is the same step described in ",(0,s.jsx)(o.a,{href:"#upload-file-v2",children:"Upload file (v2)"}),", but since you need the filename to upload to your flow, it is included here."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,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:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: application/json" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"Content-Type: multipart/form-data" ',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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -F ",props:{style:{color:"#79C0FF"}}},{content:'"file=@FILE_NAME.EXTENSION"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["The file is uploaded in the format ",(0,s.jsx)(o.code,{children:"USER_ID/FILE_ID.FILE_EXTENSION"}),", and the API returns metadata about the uploaded file:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"engine_manual"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:'"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}},{content:"851160",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["To use this file in your flow, add a ",(0,s.jsx)(o.strong,{children:"File"})," component to your flow.\nThis component loads files into flows from your local machine or Langflow file management."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Run the flow, passing the ",(0,s.jsx)(o.code,{children:"path"})," to the ",(0,s.jsx)(o.code,{children:"File"})," component in the ",(0,s.jsx)(o.code,{children:"tweaks"})," object:"]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl --request POST \\",props:{}}]},{tokens:[{content:' --url "$LANGFLOW_URL/api/v1/run/$FLOW_ID" \\',props:{}}]},{tokens:[{content:' --header "Content-Type: application/json" \\',props:{}}]},{tokens:[{content:' --header "x-api-key: $LANGFLOW_API_KEY" \\',props:{}}]},{tokens:[{content:" --data '{",props:{}}]},{tokens:[{content:' "input_value": "what do you see?",',props:{}}]},{tokens:[{content:' "output_type": "chat",',props:{}}]},{tokens:[{content:' "input_type": "text",',props:{}}]},{tokens:[{content:' "tweaks": {',props:{}}]},{tokens:[{content:' "File-1olS3": {',props:{}}]},{tokens:[{content:' "path": [',props:{}}]},{tokens:[{content:' "07e5b864-e367-4f52-b647-a48035ae7e5e/3a290013-fe1e-4d3d-a454-cacae81288f3.pdf"',props:{}}]},{tokens:[{content:" ]",props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:"}'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["To get the ",(0,s.jsx)(o.code,{children:"File"})," component's ID, call the ",(0,s.jsx)(o.a,{href:"/api-flows#read-flow",children:"Read flow"})," endpoint or inspect the component in the visual editor."]}),"\n",(0,s.jsx)(o.p,{children:"If the file path is valid, the flow runs successfully."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"list-files-v2",children:"List files (v2)"}),"\n",(0,s.jsx)(o.p,{children:"List all files associated with your user account."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"[",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"c7b22c4c-d5e0-4ec9-af97-5d85b7657a34"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"your_file"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"6f17a73e-97d7-4519-a8d9-8e4c0be411bb/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34.txt"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"1234",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"]",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"download-file-v2",children:"Download file (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Download a specific file by its ID and file extension."}),"\n",(0,s.jsxs)(o.p,{children:["You must specify the file type you expect in the ",(0,s.jsx)(o.code,{children:"--output"})," value."]}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"GET ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --output ",props:{style:{color:"#79C0FF"}}},{content:"downloaded_file.txt",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"File contents downloaded to downloaded_file.txt",props:{}}]}],lang:"text"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"edit-file-name-v2",children:"Edit file name (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Change a file name."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"PUT ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v2/files/",props:{style:{color:"#A5D6FF"}}},{content:"$FILE_ID",props:{style:{color:"#C9D1D9"}}},{content:'?name=new_file_name" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "id"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"76543e40-f388-4cb3-b0ee-a1e870aca3d3"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "name"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"new_file_name"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "path"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"6f17a73e-97d7-4519-a8d9-8e4c0be411bb/76543e40-f388-4cb3-b0ee-a1e870aca3d3.png"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "size"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"2728251",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "provider"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"null",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"delete-file-v2",children:"Delete file (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Delete a specific file by its ID."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"DELETE ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:"/api/v2/files/",props:{style:{color:"#A5D6FF"}}},{content:"$FILE_ID",props:{style:{color:"#C9D1D9"}}},{content:'" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "message"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"File deleted successfully"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h3,{id:"delete-all-files-v2",children:"Delete all files (v2)"}),"\n",(0,s.jsx)(o.p,{children:"Delete all files associated with your user account."}),"\n",(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"curl ",props:{style:{color:"#FFA657"}}},{content:"-X ",props:{style:{color:"#79C0FF"}}},{content:"DELETE ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:' "',props:{style:{color:"#A5D6FF"}}},{content:"$LANGFLOW_URL",props:{style:{color:"#C9D1D9"}}},{content:'/api/v2/files" ',props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -H ",props:{style:{color:"#79C0FF"}}},{content:'"accept: 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:"$LANGFLOW_API_KEY",props:{style:{color:"#C9D1D9"}}},{content:'"',props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(t,{children:[(0,s.jsx)("summary",{children:"Result"}),(0,s.jsx)(a.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "message"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"All files deleted successfully"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]})]}),"\n",(0,s.jsx)(o.h2,{id:"create-upload-file-deprecated",children:"Create upload file (Deprecated)"}),"\n",(0,s.jsxs)(o.p,{children:["This endpoint is deprecated. Use the ",(0,s.jsx)(o.code,{children:"/files"})," endpoints instead."]})]})}function y(e={}){const{wrapper:o}={...(0,l.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}function f(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]);
\ No newline at end of file
diff --git a/assets/js/ca5faf5d.5af6bdf1.js b/assets/js/ca5faf5d.5af6bdf1.js
deleted file mode 100644
index dd21a803ae..0000000000
--- a/assets/js/ca5faf5d.5af6bdf1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[2272],{11470:(o,t,e)=>{e.d(t,{A:()=>b});var s=e(96540),n=e(18215),r=e(23104),l=e(56347),c=e(205),p=e(57485),D=e(31682),y=e(70679);function a(o){return s.Children.toArray(o).filter(o=>"\n"!==o).map(o=>{if(!o||(0,s.isValidElement)(o)&&function(o){const{props:t}=o;return!!t&&"object"==typeof t&&"value"in t}(o))return o;throw new Error(`Docusaurus error: Bad If there is no message input field in the Playground, make sure your flow has a Chat Input component that is connected, directly or indirectly, to the Input port of a Language Model or Agent component.
Because the Playground is designed for flows that use an LLM in a query-and-response format, such as chatbots and agents, a flow must have Chat Input, Language Model/Agent, and Chat Output components to be fully supported by the Playground chat interface
For flows that require another type of input, such as a webhook event, file upload, or text input, you can use the Langflow API to trigger the flow, and then open the Playground to review the LLM activity for the flow run, if applicable.

When you run a flow in the Playground, Langflow calls the /build/$FLOW_ID/flow endpoint in chat.py. This call retrieves the flow data, builds a graph, and executes the graph. As each component (or node) is executed, the build_vertex function calls build_and_run, which may call the individual components' def_build method, if it exists. If a component doesn't have a def_build function, the build still returns a component.
The build function allows components to execute logic at runtime. For example, the Recursive Character Text Splitter component is a child of the LCTextSplitterComponent class. When text needs to be processed, the parent class's build method is called, which creates a RecursiveCharacterTextSplitter object and uses it to split the text according to the defined parameters. The split text is then passed on to the next component. This all occurs when the component is built.
For technical details about how the Playground works, see Monitor endpoints.
If your flow has an Agent component, the Playground prints the tools used by the agent and the output from each tool. This helps you monitor the agent's tool use and understand the logic behind the agent's responses. diff --git a/concepts-publish.html b/concepts-publish.html index 93a7076032..e7e00db04e 100644 --- a/concepts-publish.html +++ b/concepts-publish.html @@ -23,7 +23,7 @@ - +
diff --git a/concepts-voice-mode.html b/concepts-voice-mode.html index cb013b29e7..7591a80fb9 100644 --- a/concepts-voice-mode.html +++ b/concepts-voice-mode.html @@ -23,7 +23,7 @@ - + diff --git a/configuration-cli.html b/configuration-cli.html index d33bb9f6a9..5d753bd065 100644 --- a/configuration-cli.html +++ b/configuration-cli.html @@ -23,7 +23,7 @@ - + diff --git a/configuration-custom-database.html b/configuration-custom-database.html index 103ebdd553..fa824989a6 100644 --- a/configuration-custom-database.html +++ b/configuration-custom-database.html @@ -23,7 +23,7 @@ - + diff --git a/configuration-global-variables.html b/configuration-global-variables.html index 0f6c28a1f5..aea0acea33 100644 --- a/configuration-global-variables.html +++ b/configuration-global-variables.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-bundles.html b/contributing-bundles.html index 0915382d3a..a0501cb7d5 100644 --- a/contributing-bundles.html +++ b/contributing-bundles.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-community.html b/contributing-community.html index 9043d0540b..063792c4fd 100644 --- a/contributing-community.html +++ b/contributing-community.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-component-tests.html b/contributing-component-tests.html index 5f8da281e2..56d521143e 100644 --- a/contributing-component-tests.html +++ b/contributing-component-tests.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-components.html b/contributing-components.html index 4fe9ca4c08..04ca82950d 100644 --- a/contributing-components.html +++ b/contributing-components.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-github-issues.html b/contributing-github-issues.html index df1fdf8c44..fb8a3552a2 100644 --- a/contributing-github-issues.html +++ b/contributing-github-issues.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-how-to-contribute.html b/contributing-how-to-contribute.html index b28f55b129..1ffbef7e7f 100644 --- a/contributing-how-to-contribute.html +++ b/contributing-how-to-contribute.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-telemetry.html b/contributing-telemetry.html index be504eb6a4..93c096e512 100644 --- a/contributing-telemetry.html +++ b/contributing-telemetry.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-templates.html b/contributing-templates.html index da409341cb..86519aea21 100644 --- a/contributing-templates.html +++ b/contributing-templates.html @@ -23,7 +23,7 @@ - + diff --git a/data-types.html b/data-types.html index 1d73789034..755422986b 100644 --- a/data-types.html +++ b/data-types.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-architecture.html b/deployment-architecture.html index 754393f4f8..2fc462cef2 100644 --- a/deployment-architecture.html +++ b/deployment-architecture.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-caddyfile.html b/deployment-caddyfile.html index c94a57b314..905799db63 100644 --- a/deployment-caddyfile.html +++ b/deployment-caddyfile.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-docker.html b/deployment-docker.html index 64f6df3167..78bd393295 100644 --- a/deployment-docker.html +++ b/deployment-docker.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-gcp.html b/deployment-gcp.html index 2d607e4e48..07e8b67213 100644 --- a/deployment-gcp.html +++ b/deployment-gcp.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-hugging-face-spaces.html b/deployment-hugging-face-spaces.html index 4178f7b59e..582a9119ae 100644 --- a/deployment-hugging-face-spaces.html +++ b/deployment-hugging-face-spaces.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-kubernetes-dev.html b/deployment-kubernetes-dev.html index b64ca612b5..8b831444d2 100644 --- a/deployment-kubernetes-dev.html +++ b/deployment-kubernetes-dev.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-kubernetes-prod.html b/deployment-kubernetes-prod.html index 1fd05bf1e4..1ad1f4e8e5 100644 --- a/deployment-kubernetes-prod.html +++ b/deployment-kubernetes-prod.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-overview.html b/deployment-overview.html index 7547901708..46ebfc579d 100644 --- a/deployment-overview.html +++ b/deployment-overview.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-prod-best-practices.html b/deployment-prod-best-practices.html index 081735c843..13232d2f52 100644 --- a/deployment-prod-best-practices.html +++ b/deployment-prod-best-practices.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-public-server.html b/deployment-public-server.html index a26fc9448b..e06b5a96a6 100644 --- a/deployment-public-server.html +++ b/deployment-public-server.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-railway.html b/deployment-railway.html index ce959d7811..1522c9346c 100644 --- a/deployment-railway.html +++ b/deployment-railway.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-render.html b/deployment-render.html index dc7651e4b6..cd21fc42d8 100644 --- a/deployment-render.html +++ b/deployment-render.html @@ -23,7 +23,7 @@ - + diff --git a/develop-application.html b/develop-application.html index 96478152da..ddd4541141 100644 --- a/develop-application.html +++ b/develop-application.html @@ -23,7 +23,7 @@ - + diff --git a/enterprise-database-guide.html b/enterprise-database-guide.html index f2374f1120..d3ac874682 100644 --- a/enterprise-database-guide.html +++ b/enterprise-database-guide.html @@ -23,7 +23,7 @@ - + diff --git a/environment-variables.html b/environment-variables.html index 69851567a9..796e22956f 100644 --- a/environment-variables.html +++ b/environment-variables.html @@ -23,7 +23,7 @@ - + diff --git a/get-started-installation.html b/get-started-installation.html index 14c7507c77..2c28554543 100644 --- a/get-started-installation.html +++ b/get-started-installation.html @@ -23,7 +23,7 @@ - + diff --git a/get-started-quickstart.html b/get-started-quickstart.html index 6a580e76df..6e63fcc8b5 100644 --- a/get-started-quickstart.html +++ b/get-started-quickstart.html @@ -23,7 +23,7 @@ - + diff --git a/index.html b/index.html index 6eff254a77..11a1ae462f 100644 --- a/index.html +++ b/index.html @@ -23,7 +23,7 @@ - + diff --git a/install-custom-dependencies.html b/install-custom-dependencies.html index c360295aac..06f1b38740 100644 --- a/install-custom-dependencies.html +++ b/install-custom-dependencies.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-apify.html b/integrations-apify.html index 63b2f9ba18..f06aa00460 100644 --- a/integrations-apify.html +++ b/integrations-apify.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-arize.html b/integrations-arize.html index 2bad08f114..035c50946b 100644 --- a/integrations-arize.html +++ b/integrations-arize.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-assemblyai.html b/integrations-assemblyai.html index 17057d6480..61a55f181a 100644 --- a/integrations-assemblyai.html +++ b/integrations-assemblyai.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-cleanlab.html b/integrations-cleanlab.html index 78f9e7512b..de1f3ef2cd 100644 --- a/integrations-cleanlab.html +++ b/integrations-cleanlab.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-composio.html b/integrations-composio.html index 9f3cb56e66..e9e585a540 100644 --- a/integrations-composio.html +++ b/integrations-composio.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-docling.html b/integrations-docling.html index b1adbe0be7..8173e23833 100644 --- a/integrations-docling.html +++ b/integrations-docling.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-google-big-query.html b/integrations-google-big-query.html index 26873d2f56..0adc201cdd 100644 --- a/integrations-google-big-query.html +++ b/integrations-google-big-query.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-langfuse.html b/integrations-langfuse.html index a1d8b1406e..70a8b29188 100644 --- a/integrations-langfuse.html +++ b/integrations-langfuse.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-langsmith.html b/integrations-langsmith.html index 4e48cd9d8a..2908b27fcd 100644 --- a/integrations-langsmith.html +++ b/integrations-langsmith.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-langwatch.html b/integrations-langwatch.html index e9bd0fabe9..9e4cdea220 100644 --- a/integrations-langwatch.html +++ b/integrations-langwatch.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-nvidia-g-assist.html b/integrations-nvidia-g-assist.html index b2983dde47..0b5f000fac 100644 --- a/integrations-nvidia-g-assist.html +++ b/integrations-nvidia-g-assist.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-nvidia-ingest-wsl2.html b/integrations-nvidia-ingest-wsl2.html index 10341377e3..1c5e3547dd 100644 --- a/integrations-nvidia-ingest-wsl2.html +++ b/integrations-nvidia-ingest-wsl2.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-nvidia-ingest.html b/integrations-nvidia-ingest.html index a09dab4337..5614803607 100644 --- a/integrations-nvidia-ingest.html +++ b/integrations-nvidia-ingest.html @@ -23,7 +23,7 @@ - + diff --git a/integrations-opik.html b/integrations-opik.html index 33bf1a8cee..9100217a32 100644 --- a/integrations-opik.html +++ b/integrations-opik.html @@ -23,7 +23,7 @@ - + diff --git a/integrations/notion/notion-agent-conversational.html b/integrations/notion/notion-agent-conversational.html index f8f1020bec..e4f4d32407 100644 --- a/integrations/notion/notion-agent-conversational.html +++ b/integrations/notion/notion-agent-conversational.html @@ -23,7 +23,7 @@ - + diff --git a/integrations/notion/notion-agent-meeting-notes.html b/integrations/notion/notion-agent-meeting-notes.html index 26adb9eb3c..b14c087b9f 100644 --- a/integrations/notion/notion-agent-meeting-notes.html +++ b/integrations/notion/notion-agent-meeting-notes.html @@ -23,7 +23,7 @@ - + diff --git a/integrations/notion/setup.html b/integrations/notion/setup.html index 5e8abe95ce..8f51485905 100644 --- a/integrations/notion/setup.html +++ b/integrations/notion/setup.html @@ -23,7 +23,7 @@ - + diff --git a/logging.html b/logging.html index 439783d1b3..d4f2706432 100644 --- a/logging.html +++ b/logging.html @@ -23,7 +23,7 @@ - + diff --git a/luna-for-langflow.html b/luna-for-langflow.html index 2ec507d2c0..2195f3b0bb 100644 --- a/luna-for-langflow.html +++ b/luna-for-langflow.html @@ -23,7 +23,7 @@ - + diff --git a/mcp-client.html b/mcp-client.html index 02f882c2c8..2c2844bbec 100644 --- a/mcp-client.html +++ b/mcp-client.html @@ -23,7 +23,7 @@ - + diff --git a/mcp-component-astra.html b/mcp-component-astra.html index b5185230ab..7c96ef3aa4 100644 --- a/mcp-component-astra.html +++ b/mcp-component-astra.html @@ -23,7 +23,7 @@ - + diff --git a/mcp-server.html b/mcp-server.html index 4712553e89..651f9d9879 100644 --- a/mcp-server.html +++ b/mcp-server.html @@ -23,7 +23,7 @@ - + diff --git a/mcp-tutorial.html b/mcp-tutorial.html index 8fe1f028b8..39fd58af76 100644 --- a/mcp-tutorial.html +++ b/mcp-tutorial.html @@ -23,7 +23,7 @@ - + diff --git a/memory.html b/memory.html index 6ed5690a1b..1a99123bfe 100644 --- a/memory.html +++ b/memory.html @@ -23,7 +23,7 @@ - + diff --git a/release-notes.html b/release-notes.html index 57b20a8745..3dde8dd34f 100644 --- a/release-notes.html +++ b/release-notes.html @@ -23,7 +23,7 @@ - + diff --git a/search.html b/search.html index 80f6f37af6..82daed32a0 100644 --- a/search.html +++ b/search.html @@ -23,7 +23,7 @@ - + diff --git a/session-id.html b/session-id.html index e89676f9ed..3bb8addc18 100644 --- a/session-id.html +++ b/session-id.html @@ -23,7 +23,7 @@ - + diff --git a/sitemap.xml b/sitemap.xml index 4461033b73..5e7ee822e0 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -