mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-24 03:21:47 +08:00
420 lines
119 KiB
HTML
420 lines
119 KiB
HTML
<!doctype html>
|
||
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-1.10.0 docs-doc-page docs-doc-id-API-Reference/workflows-api" data-has-hydrated="false">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="generator" content="Docusaurus v3.9.2">
|
||
<title data-rh="true">Workflow API (Beta) | Langflow Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.langflow.org/workflow-api"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="1.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-1.10.0"><meta data-rh="true" name="docsearch:version" content="1.10.0"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-1.10.0"><meta data-rh="true" property="og:title" content="Workflow API (Beta) | Langflow Documentation"><meta data-rh="true" name="description" content="The Workflow API is currently in Beta."><meta data-rh="true" property="og:description" content="The Workflow API is currently in Beta."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/workflow-api"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/workflow-api" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/workflow-api" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://UZK6BDPCVY-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Workflow API (Beta)","item":"https://docs.langflow.org/workflow-api"}]}</script><link rel="preconnect" href="https://www.google-analytics.com">
|
||
<link rel="preconnect" href="https://www.googletagmanager.com">
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SLQFLQ3KPT"></script>
|
||
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-SLQFLQ3KPT",{})</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="search" type="application/opensearchdescription+xml" title="Langflow Documentation" href="/opensearch.xml">
|
||
|
||
|
||
|
||
|
||
<script>window._ibmAnalytics={settings:{name:"DataStax",tealiumProfileName:"ibm-subsidiary"},trustarc:{privacyPolicyLink:"https://ibm.com/privacy"},"digitalData.page.services.google.enabled":!0},window.digitalData={page:{pageInfo:{ibm:{siteId:"IBM_"+_ibmAnalytics.settings.name},segment:{enabled:!0,env:"prod",key:"B04fNhD06DqDPuaRfQl5lZ2iQICdxxuh",coremetrics:!1,carbonComponentEvents:!1}},category:{primaryCategory:"PC230"}},commonProperties:{productTitle:"IBM Elite Support for Langflow",productCode:"5900BUB",productCodeType:"WWPC",UT30:"30AS5",instanceId:"docs-site",subscriptionId:"public-access",productPlanName:"Public",productPlanType:"freemium",userId:"IBMid-ANONYMOUS"}}</script>
|
||
<script src="//1.www.s81c.com/common/stats/ibm-common.js" async="true"></script>
|
||
|
||
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&family=Sora:wght@550;600&display=swap">
|
||
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"})</script>
|
||
<script>!function(){function e(){if(void 0!==window.truste&&window.truste.cma){var e=window.truste.cma.callApi("getConsent",window.location.href)||{},n=1===e[2],t=1===e[3];gtag("consent","update",{ad_storage:n?"granted":"denied",ad_user_data:n?"granted":"denied",ad_personalization:n?"granted":"denied",analytics_storage:t?"granted":"denied"})}}window.addEventListener&&(window.addEventListener("cm_data_subject_consent_changed",e),window.addEventListener("cm_consent_preferences_set",e)),"complete"===document.readyState?e():window.addEventListener("load",e)}()</script><link rel="stylesheet" href="/assets/css/styles.0d9d771d.css">
|
||
<script src="/assets/js/runtime~main.9e340623.js" defer="defer"></script>
|
||
<script src="/assets/js/main.12b252df.js" defer="defer"></script>
|
||
</head>
|
||
<body class="navigation-with-keyboard">
|
||
<svg style="display: none;"><defs>
|
||
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
|
||
</defs></svg>
|
||
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/lf-docs-light.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a><div class="navbar__item dropdown dropdown--hoverable"><a aria-current="page" class="navbar__link active" aria-haspopup="true" aria-expanded="false" role="button" href="/workflow-api">1.10.x</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/next/workflow-api">1.11.x (Next)</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/workflow-api">1.10.x</a></li><li><a class="dropdown__link" href="/1.9.0/workflow-api">1.9.x</a></li><li><a class="dropdown__link" href="/1.8.0/workflow-api">1.8.x</a></li></ul></div></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/langflow" target="_blank" class="navbar__item navbar__link header-github-link" aria-label="GitHub" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-github" data-namespace="header" data-platform-title="Langflow"></a><a href="https://twitter.com/langflow_ai" target="_blank" class="navbar__item navbar__link header-twitter-link" aria-label="Twitter" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-twitter" data-namespace="header" data-platform-title="Langflow"></a><a href="https://discord.gg/EqksyE2EX9" target="_blank" class="navbar__item navbar__link header-discord-link" aria-label="Discord" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-discord" data-namespace="header" data-platform-title="Langflow"></a><div class="toggle_MW0i colorModeToggle_DEke"><button class="clean-btn toggleButton_yw5v toggleButtonDisabled_BJd7" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL lightToggleIcon_SFTY"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL darkToggleIcon_ekgs"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL systemToggleIcon_yi_a"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Meta+k)" aria-keyshortcuts="Meta+k"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside aria-label="Documentation sidebar" class="theme-doc-sidebar-container docSidebarContainer_RSuS"><div class="sidebarViewport_pYEE"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Build</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-rocket"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/"><span title="Get started" class="categoryLinkLabel_W154">Get started</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-workflow"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-overview"><span title="Flows" class="categoryLinkLabel_W154">Flows</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-bot"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/agents"><span title="Agents" class="categoryLinkLabel_W154">Agents</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-plug"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/mcp-client"><span title="Model Context Protocol (MCP)" class="categoryLinkLabel_W154">Model Context Protocol (MCP)</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Develop & Deploy</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-code"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/api-keys-and-authentication"><span title="Develop" class="categoryLinkLabel_W154">Develop</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-cloud"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/deployment-overview"><span title="Deploy" class="categoryLinkLabel_W154">Deploy</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Reference</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-blocks"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-components"><span title="Components reference" class="categoryLinkLabel_W154">Components reference</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item sidebar-category-with-icon sidebar-icon-fileCode"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/api-reference-api-examples"><span title="API reference" class="categoryLinkLabel_W154">API reference</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-reference-api-examples"><span title="Get started with the Langflow API" class="linkLabel_WmDU">Get started with the Langflow API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/typescript-client"><span title="Use the TypeScript client" class="linkLabel_WmDU">Use the TypeScript client</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/flow-devops-sdk"><span title="Flow DevOps Toolkit SDK" class="linkLabel_WmDU">Flow DevOps Toolkit SDK</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-flows-run"><span title="Flow trigger endpoints" class="linkLabel_WmDU">Flow trigger endpoints</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" tabindex="0" href="/workflow-api"><span title="Developer API (Beta)" class="categoryLinkLabel_W154">Developer API (Beta)</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/workflow-api"><span title="Workflow API (Beta)" class="linkLabel_WmDU">Workflow API (Beta)</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/workflow"><span title="Workflow API specification (Beta)" class="linkLabel_WmDU">Workflow API specification (Beta)</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-openai-responses"><span title="OpenAI Responses API" class="linkLabel_WmDU">OpenAI Responses API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-flows"><span title="Flow management endpoints" class="linkLabel_WmDU">Flow management endpoints</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-files"><span title="Files endpoints" class="linkLabel_WmDU">Files endpoints</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-projects"><span title="Projects endpoints" class="linkLabel_WmDU">Projects endpoints</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-logs"><span title="Logs endpoints" class="linkLabel_WmDU">Logs endpoints</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-monitor"><span title="Monitor endpoints" class="linkLabel_WmDU">Monitor endpoints</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-build"><span title="Build endpoints" class="linkLabel_WmDU">Build endpoints</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-users"><span title="Users endpoints" class="linkLabel_WmDU">Users endpoints</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api"><span title="Langflow API specification" class="linkLabel_WmDU">Langflow API specification</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Community</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-gitPR"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/contributing-community"><span title="Contribute" class="categoryLinkLabel_W154">Contribute</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-helpCircle"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/troubleshoot"><span title="Support" class="categoryLinkLabel_W154">Support</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-ad">
|
||
<a href="https://www.langflow.org/desktop" target="_blank" rel="noopener noreferrer" class="menu__link">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||
<g clip-path="url(#clip0_1645_37)">
|
||
<path d="M12 17H20C21.1046 17 22 16.1046 22 15V13M12 17H4C2.89543 17 2 16.1046 2 15V5C2 3.89543 2.89543 3 4 3H10M12 17V21M8 21H12M12 21H16M11.75 10.2917H13.2083L16.125 7.375H17.5833L20.5 4.45833H21.9583M16.125 11.75H17.5833L20.5 8.83333H21.9583M11.75 5.91667H13.2083L16.125 3H17.5833" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||
</g>
|
||
<defs>
|
||
<clipPath id="clip0_1645_37">
|
||
<rect width="24" height="24" fill="white"/>
|
||
</clipPath>
|
||
</defs>
|
||
</svg>
|
||
<div class="sidebar-ad-text-container">
|
||
<span class="sidebar-ad-text">Get started in minutes</span>
|
||
<span class="sidebar-ad-text sidebar-ad-text-gradient">Download Langflow Desktop</span>
|
||
</div>
|
||
</a>
|
||
</li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_z5aJ"><div class="docItemContainer_c0TR"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="breadcrumbHomeIcon_xK9p"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">API reference</span></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Developer API (Beta)</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Workflow API (Beta)</span></li></ul></nav><div class="docMetaRow_c2hx"><div class="root_Eutc"><button type="button" class="button_gpNY"><span aria-hidden="true" class="icon_Bm9L"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span class="label_LzDG">Copy page</span></button></div><span class="theme-doc-version-badge badge badge--secondary">Version: 1.10.x</span></div><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Workflow API (Beta)</h1></header><style>[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }</style>
|
||
<!-- -->
|
||
<!-- -->
|
||
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>Beta Feature</div><div class="admonitionContent_BuS1"><p>The Workflow API is currently in <strong>Beta</strong>.
|
||
The API endpoints and response formats may change in future releases.</p></div></div>
|
||
<p>The Workflow API provides programmatic access to execute Langflow workflows synchronously or asynchronously.
|
||
Synchronous requests receive complete results immediately upon completion.
|
||
Asynchronous requests are queued in the background and will run until complete, or a request is issued to the <a href="#stop-workflow-endpoint" class="">Stop Workflow endpoint</a>.</p>
|
||
<p>The Workflow API is part of the Langflow Developer v2 API and offers enhanced workflow execution capabilities compared to the v1 <code>/run</code> endpoint.</p>
|
||
<style>[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }</style>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="prerequisites">Prerequisites<a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites" translate="no"></a></h2>
|
||
<p>Before using the API, you need:</p>
|
||
<ul>
|
||
<li class="">
|
||
<p><a class="" href="/get-started-installation">Install and start Langflow</a> with the developer API enabled</p>
|
||
<p>The Workflows API endpoints require the <code>developer_api_enabled</code> setting to be enabled. If this setting is disabled, these endpoints will return a 404 Not Found error.</p>
|
||
<p>To enable the developer API endpoint, do the following:</p>
|
||
<ol>
|
||
<li class="">In the Langflow <code>.env</code> file, set the environment variable to <code>true</code>:<!-- -->
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_DEVELOPER_API_ENABLED=true</span></div></div><br></code></div></div>
|
||
</li>
|
||
<li class="">Start your Langflow server with the <code>.env</code> file enabled:<!-- -->
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>uv run langflow run --env-file .env</span></div></div><br></code></div></div>
|
||
</li>
|
||
</ol>
|
||
<p>For more information about configuring environment variables, see <a class="" href="/environment-variables">Environment variables</a>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p><a class="" href="/api-keys-and-authentication">Create a Langflow API key</a></p>
|
||
</li>
|
||
<li class="">
|
||
<p><a class="" href="/concepts-flows">Create a flow</a> that you want to execute</p>
|
||
</li>
|
||
<li class="">
|
||
<p><a class="" href="/concepts-publish#api-access">Get the flow ID</a> or endpoint name of the flow you want to execute</p>
|
||
</li>
|
||
</ul>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="set-environment-variables">Set environment variables<a href="#set-environment-variables" class="hash-link" aria-label="Direct link to Set environment variables" title="Direct link to Set environment variables" translate="no"></a></h3>
|
||
<p>All code examples in this documentation assume you have set the following environment variables:</p>
|
||
<p><strong>Python:</strong></p>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>import os</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_SERVER_URL = os.getenv("LANGFLOW_SERVER_URL")</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_API_KEY = os.getenv("LANGFLOW_API_KEY")</span></div></div><br></code></div></div>
|
||
<p><strong>TypeScript/JavaScript:</strong></p>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>const LANGFLOW_SERVER_URL = process.env.LANGFLOW_SERVER_URL;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>const LANGFLOW_API_KEY = process.env.LANGFLOW_API_KEY;</span></div></div><br></code></div></div>
|
||
<p>Set these environment variables before running the examples, or replace the variable references in the code examples with your actual Langflow server URL and API key.</p>
|
||
<p>The default <code>LANGFLOW_SERVER_URL</code> for a local Langflow deployment is <code>http://localhost:7860</code>.
|
||
For remote deployments, the domain is set by your hosting service, such as <code>https://UUID.ngrok.app</code>.</p>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="authentication-and-headers">Authentication and headers<a href="#authentication-and-headers" class="hash-link" aria-label="Direct link to Authentication and headers" title="Direct link to Authentication and headers" translate="no"></a></h3>
|
||
<p>All Workflows API requests require authentication using a Langflow API key. The API key is passed in the <code>x-api-key</code> header.</p>
|
||
<p>For more information, see <a class="" href="/api-keys-and-authentication">Create a Langflow API key</a>.</p>
|
||
<table><thead><tr><th>Header</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><code>Content-Type</code></td><td>Specifies the JSON format.</td><td><code>application/json</code></td></tr><tr><td><code>x-api-key</code></td><td>Your Langflow API key.</td><td><code>sk-...</code></td></tr><tr><td><code>accept</code></td><td>Optional. Specifies the response format.</td><td><code>application/json</code></td></tr></tbody></table>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="execute-workflows-endpoint-synchronous-or-asynchronous">Execute workflows endpoint (synchronous or asynchronous)<a href="#execute-workflows-endpoint-synchronous-or-asynchronous" class="hash-link" aria-label="Direct link to Execute workflows endpoint (synchronous or asynchronous)" title="Direct link to Execute workflows endpoint (synchronous or asynchronous)" translate="no"></a></h2>
|
||
<p><strong>Endpoint:</strong></p>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>POST /api/v2/workflows</span></div></div><br></code></div></div>
|
||
<p><strong>Description:</strong> Execute a workflow synchronously and receive complete results immediately upon completion.
|
||
Set <code>background=false</code> to make the request synchronous.</p>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-synchronous-request">Example synchronous request<a href="#example-synchronous-request" class="hash-link" aria-label="Direct link to Example synchronous request" title="Direct link to Example synchronous request" translate="no"></a></h3>
|
||
<p>Execute a workflow synchronously and receive complete results immediately:</p>
|
||
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Python</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">JavaScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">curl</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="python" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>import os<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>import requests<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span>base = os.environ.get("LANGFLOW_URL") or os.environ.get("LANGFLOW_SERVER_URL", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>flow_id = os.environ.get("FLOW_ID", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>api_key = os.environ.get("LANGFLOW_API_KEY", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span>headers = {"Content-Type": "application/json", "x-api-key": api_key}<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span>payload = {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> "flow_id": flow_id,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> "background": False,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> "stream": False,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> "inputs": {},<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> "globals": {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> "FILENAME": "relatório—final.pdf",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> "OWNER_NAME": "José",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span> },<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span>}<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span>response = requests.post(f"{base}/api/v2/workflows", headers=headers, json=payload, timeout=120)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">23</span>response.raise_for_status()<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</span>print(response.text)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="javascript" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>const url = `${process.env.LANGFLOW_SERVER_URL ?? ""}/api/v2/workflows`;<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>const options = {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> method: 'POST',<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> headers: {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> "Content-Type": `application/json`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> "x-api-key": `${process.env.LANGFLOW_API_KEY ?? ""}`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> },<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> body: JSON.stringify({<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> "flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> "background": false,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> "inputs": {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> "ChatInput-abc.input_type": "chat",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> "ChatInput-abc.input_value": "what is 2+2",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> "ChatInput-abc.session_id": "session-123"<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> },<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> "globals": {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> "FILENAME": "relatório—final.pdf",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span> "OWNER_NAME": "José"<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span>}),<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span>};<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">23</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</span>fetch(url, options)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span> .then(async (response) => {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">26</span> if (!response.ok) {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">27</span> throw new Error(`HTTP ${response.status}`);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">28</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">29</span> const text = await response.text();<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">30</span> console.log(text);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">31</span> })<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">32</span> .catch((error) => console.error(error));<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">33</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="bash" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>curl -X POST \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> "$LANGFLOW_SERVER_URL/api/v2/workflows" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> -H "Content-Type: application/json" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> -H "x-api-key: $LANGFLOW_API_KEY" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -d '{<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> "flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> "background": false,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> "inputs": {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> "ChatInput-abc.input_type": "chat",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> "ChatInput-abc.input_value": "what is 2+2",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> "ChatInput-abc.session_id": "session-123"<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> },<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> "globals": {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> "FILENAME": "relatório—final.pdf",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> "OWNER_NAME": "José"<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> }'<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div></div></div>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-asynchronous-request">Example asynchronous request<a href="#example-asynchronous-request" class="hash-link" aria-label="Direct link to Example asynchronous request" title="Direct link to Example asynchronous request" translate="no"></a></h3>
|
||
<p>For long-running workflows, set <code>background=true</code> to get a <code>job_id</code> immediately, and then poll the status <a href="#get-workflow-status-endpoint" class="">using the GET endpoint</a> until the job is complete.</p>
|
||
<p>To stop a job, send a POST request to the <a href="#stop-workflow-endpoint" class="">Stop workflow endpoint</a>.</p>
|
||
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16" role="img" aria-label="Tip icon" focusable="false"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>The asynchronous request contains <code>stream</code> parameter, but streaming is not yet supported. The parameter is included for future compatibility.</p></div></div>
|
||
<p><strong>Example request:</strong></p>
|
||
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Python</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">JavaScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">curl</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="python" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>import os<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>import requests<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span>base = os.environ.get("LANGFLOW_URL") or os.environ.get("LANGFLOW_SERVER_URL", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>flow_id = os.environ.get("FLOW_ID", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>api_key = os.environ.get("LANGFLOW_API_KEY", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span>headers = {"Content-Type": "application/json", "x-api-key": api_key}<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span>payload = {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> "flow_id": flow_id,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> "background": True,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> "stream": False,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> "inputs": {},<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>}<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span>response = requests.post(f"{base}/api/v2/workflows", headers=headers, json=payload, timeout=60)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span>response.raise_for_status()<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span>print(response.text)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="javascript" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>const url = `${process.env.LANGFLOW_SERVER_URL ?? ""}/api/v2/workflows`;<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>const options = {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> method: 'POST',<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> headers: {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> "Content-Type": `application/json`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> "x-api-key": `${process.env.LANGFLOW_API_KEY ?? ""}`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> },<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> body: JSON.stringify({<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> "flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> "background": true,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> "stream": false,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> "inputs": {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> "ChatInput-abc.input_type": "chat",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> "ChatInput-abc.input_value": "Process this in the background",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> "ChatInput-abc.session_id": "session-456"<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span>}),<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span>};<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span>fetch(url, options)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> .then(async (response) => {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">23</span> if (!response.ok) {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</span> throw new Error(`HTTP ${response.status}`);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">26</span> const text = await response.text();<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">27</span> console.log(text);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">28</span> })<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">29</span> .catch((error) => console.error(error));<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">30</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="bash" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>curl -X POST \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> "$LANGFLOW_SERVER_URL/api/v2/workflows" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> -H "Content-Type: application/json" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> -H "x-api-key: $LANGFLOW_API_KEY" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -d '{<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> "flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> "background": true,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> "stream": false,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> "inputs": {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> "ChatInput-abc.input_type": "chat",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> "ChatInput-abc.input_value": "Process this in the background",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> "ChatInput-abc.session_id": "session-456"<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> }'<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div></div></div>
|
||
<p><strong>Response:</strong></p>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "job_id": "job_id_1234567890",</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "created_timestamp": "2025-01-15T10:30:00Z",</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "status": "queued",</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "errors": []</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="request-body">Request body<a href="#request-body" class="hash-link" aria-label="Direct link to Request body" title="Direct link to Request body" translate="no"></a></h3>
|
||
<table><thead><tr><th>Field</th><th>Type</th><th>Required</th><th class="col-center">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>flow_id</code></td><td><code>string</code></td><td>Yes</td><td class="col-center">-</td><td>The ID or endpoint name of the flow to execute.</td></tr><tr><td><code>flow_version</code></td><td><code>string</code></td><td>No</td><td class="col-center">-</td><td>Optional version hash to pin to a specific flow version.</td></tr><tr><td><code>background</code></td><td><code>boolean</code></td><td>No</td><td class="col-center"><code>false</code></td><td>Must be <code>false</code> for synchronous execution.</td></tr><tr><td><code>inputs</code></td><td><code>object</code></td><td>No</td><td class="col-center"><code>{}</code></td><td>Inputs for the workflow execution. Uses component identifiers with dot notation (e.g., <code>ChatInput-abc.input_value</code>). See <a href="#component-identifiers-and-input-structure" class="">Component identifiers and input structure</a> for detailed information.</td></tr><tr><td><code>globals</code></td><td><code>object</code></td><td>No</td><td class="col-center"><code>{}</code></td><td>Request-level global variables available to workflow components. Use this body field for arbitrary strings, including Unicode values. Keys are limited to 256 characters and values to 64 KB. See <a href="#migrating-from-x-langflow-global-var--headers" class="">Migrating from <code>X-LANGFLOW-GLOBAL-VAR-*</code> headers</a>.</td></tr></tbody></table>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-response">Example response<a href="#example-response" class="hash-link" aria-label="Direct link to Example response" title="Direct link to Example response" translate="no"></a></h3>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "job_id": "job_id_1234567890",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "object": "response",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "created_at": 1741476542,</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "status": "completed",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "errors": [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "inputs": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "ChatInput-abc.input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "ChatInput-abc.input_value": "what is 2+2",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "ChatInput-abc.session_id": "session-123"</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "globals": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "FILENAME": "relatório—final.pdf",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "OWNER_NAME": "José"</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "outputs": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "ChatOutput-xyz": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "type": "message",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "component_id": "ChatOutput-xyz",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "status": "completed",</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "content": "2 + 2 equals 4."</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span> "metadata": {}</span></div></div><div><span class="ch-code-line-number">_<!-- -->26</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="response-body">Response body<a href="#response-body" class="hash-link" aria-label="Direct link to Response body" title="Direct link to Response body" translate="no"></a></h3>
|
||
<p>The response includes an <code>outputs</code> field containing component-level results. Each output has a <code>type</code> field indicating the type of content:</p>
|
||
<table><thead><tr><th>Type</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><code>message</code></td><td>Text message content.</td><td>Chat responses, summaries</td></tr><tr><td><code>image</code></td><td>Image URL or data.</td><td>Generated images, processed images</td></tr><tr><td><code>sql</code></td><td>SQL query results.</td><td>Database query outputs</td></tr><tr><td><code>data</code></td><td>Structured data.</td><td>JSON objects, arrays</td></tr><tr><td><code>file</code></td><td>File reference.</td><td>Generated documents, reports</td></tr></tbody></table>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-workflow-status-endpoint">Get workflow status endpoint<a href="#get-workflow-status-endpoint" class="hash-link" aria-label="Direct link to Get workflow status endpoint" title="Direct link to Get workflow status endpoint" translate="no"></a></h2>
|
||
<p><strong>Endpoint:</strong> <code>GET /api/v2/workflows</code></p>
|
||
<p><strong>Description:</strong> Retrieve the status and results of a workflow execution by job ID.</p>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-request">Example request<a href="#example-request" class="hash-link" aria-label="Direct link to Example request" title="Direct link to Example request" translate="no"></a></h3>
|
||
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Python</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">JavaScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">curl</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="python" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>import os<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>import requests<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span>base = os.environ.get("LANGFLOW_URL") or os.environ.get("LANGFLOW_SERVER_URL", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>flow_id = os.environ.get("FLOW_ID", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>api_key = os.environ.get("LANGFLOW_API_KEY", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span>headers = {"Content-Type": "application/json", "x-api-key": api_key}<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span>start = requests.post(<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> f"{base}/api/v2/workflows",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> headers=headers,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> json={"flow_id": flow_id, "background": True, "stream": False, "inputs": {}},<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> timeout=60,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span>start.raise_for_status()<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span>print(start.text)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="javascript" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>const url = `${process.env.LANGFLOW_SERVER_URL ?? ""}/api/v2/workflows?job_id=job_id_1234567890`;<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>const options = {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> method: 'GET',<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> headers: {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> "accept": `application/json`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> "x-api-key": `${process.env.LANGFLOW_API_KEY ?? ""}`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> },<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span>};<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span>fetch(url, options)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> .then(async (response) => {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> if (!response.ok) {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> throw new Error(`HTTP ${response.status}`);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> const text = await response.text();<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> console.log(text);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> })<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span> .catch((error) => console.error(error));<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="bash" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>curl -X GET \<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> "$LANGFLOW_SERVER_URL/api/v2/workflows?job_id=job_id_1234567890" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> -H "accept: application/json" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> -H "x-api-key: $LANGFLOW_API_KEY"<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div></div></div>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="query-parameters">Query parameters<a href="#query-parameters" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters" translate="no"></a></h3>
|
||
<table><thead><tr><th>Parameter</th><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><code>job_id</code></td><td><code>string</code></td><td>Yes</td><td>The job ID returned from a workflow execution.</td></tr><tr><td><code>stream</code></td><td><code>boolean</code></td><td>No</td><td>If <code>true</code>, returns server-sent events stream. Default: <code>false</code>.</td></tr><tr><td><code>sequence_id</code></td><td><code>integer</code></td><td>No</td><td>Optional sequence ID to resume streaming from a specific point.</td></tr></tbody></table>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-response-1">Example response<a href="#example-response-1" class="hash-link" aria-label="Direct link to Example response" title="Direct link to Example response" translate="no"></a></h3>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "flow_id": "flow_67ccd2be17f0819081ff3bb2cf6508e60bb6a6b452d3795b",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "job_id": "job_id_1234567890",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "object": "response",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "created_at": 1741476542,</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "status": "completed",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "errors": [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "outputs": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "ChatOutput-xyz": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "type": "message",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "component_id": "ChatOutput-xyz",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "status": "completed",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "content": "Processing complete..."</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "input": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "type": "text",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "data": "Input text prompt for the workflow execution",</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "role": "User"</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span> "metadata": {}</span></div></div><div><span class="ch-code-line-number">_<!-- -->24</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="response-body-1">Response body<a href="#response-body-1" class="hash-link" aria-label="Direct link to Response body" title="Direct link to Response body" translate="no"></a></h3>
|
||
<p>The response includes a <code>status</code> field that indicates the current state of the workflow execution:</p>
|
||
<table><thead><tr><th>Status</th><th>Description</th></tr></thead><tbody><tr><td><code>queued</code></td><td>Job is queued and waiting to start.</td></tr><tr><td><code>in_progress</code></td><td>Job is currently executing.</td></tr><tr><td><code>completed</code></td><td>Job completed successfully.</td></tr><tr><td><code>failed</code></td><td>Job failed during execution.</td></tr><tr><td><code>error</code></td><td>Job encountered an error.</td></tr></tbody></table>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="stop-workflow-endpoint">Stop workflow endpoint<a href="#stop-workflow-endpoint" class="hash-link" aria-label="Direct link to Stop workflow endpoint" title="Direct link to Stop workflow endpoint" translate="no"></a></h2>
|
||
<p><strong>Endpoint:</strong> <code>POST /api/v2/workflows/stop</code></p>
|
||
<p><strong>Description:</strong> Stop a running workflow execution by job ID.</p>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-request-1">Example request<a href="#example-request-1" class="hash-link" aria-label="Direct link to Example request" title="Direct link to Example request" translate="no"></a></h3>
|
||
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Python</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">JavaScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">curl</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="python" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>import os<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>import requests<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span>base = os.environ.get("LANGFLOW_URL") or os.environ.get("LANGFLOW_SERVER_URL", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>flow_id = os.environ.get("FLOW_ID", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>api_key = os.environ.get("LANGFLOW_API_KEY", "")<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span>headers = {"Content-Type": "application/json", "x-api-key": api_key}<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span>start = requests.post(<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> f"{base}/api/v2/workflows",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> headers=headers,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> json={"flow_id": flow_id, "background": True, "stream": False, "inputs": {}},<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> timeout=60,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span>start.raise_for_status()<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span>job_id = start.json()["job_id"]<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span>stop = requests.post(<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span> f"{base}/api/v2/workflows/stop",<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> headers=headers,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">23</span> json={"job_id": job_id},<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</span> timeout=60,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span>)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">26</span>print(stop.status_code, stop.text)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">27</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="javascript" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>const url = `${process.env.LANGFLOW_SERVER_URL ?? ""}/api/v2/workflows/stop`;<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>const options = {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> method: 'POST',<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> headers: {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> "Content-Type": `application/json`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> "x-api-key": `${process.env.LANGFLOW_API_KEY ?? ""}`,<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> },<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> body: JSON.stringify({<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> "job_id": "job_id_1234567890"<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span>}),<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span>};<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span>
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span>fetch(url, options)<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> .then(async (response) => {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> if (!response.ok) {<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> throw new Error(`HTTP ${response.status}`);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> }<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span> const text = await response.text();<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span> console.log(text);<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span> })<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> .catch((error) => console.error(error));<!-- -->
|
||
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">23</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock" style="margin-top:1.25em;margin-bottom:1.25em;border-radius:6px;overflow:hidden;box-shadow:0 13px 27px -5px rgba(50,50,93,0.25), 0 8px 16px -8px rgba(0,0,0,0.3);--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><div class="ch-code-wrapper" data-ch-measured="true" style="--ch-t-background:#0d1117;--ch-t-foreground:#c9d1d9;--ch-t-colorScheme:dark;--ch-t-editorLineNumber-foreground:#8b949e;--ch-t-editor-selectionBackground:#264f78"><code class="ch-code-scroll-parent" data-ch-lang="bash" style="display:block;padding:1rem"><span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">1</span>curl -X POST \<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> "$LANGFLOW_SERVER_URL/api/v2/workflows/stop" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> -H "Content-Type: application/json" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> -H "x-api-key: $LANGFLOW_API_KEY" \<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -d '{<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> "job_id": "job_id_1234567890"<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> }'<!-- -->
|
||
<span class="ch-code-line-number" style="width:1ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span>
|
||
</code><button type="button" title="Copy code" class="ch-code-button"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" width="1.1em" height="1.1em"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div></div></div></div>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="request-body-1">Request body<a href="#request-body-1" class="hash-link" aria-label="Direct link to Request body" title="Direct link to Request body" translate="no"></a></h3>
|
||
<table><thead><tr><th>Field</th><th>Type</th><th>Required</th><th class="col-center">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>job_id</code></td><td><code>string</code></td><td>Yes</td><td class="col-center">-</td><td>The job ID of the workflow to stop.</td></tr></tbody></table>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-response-2">Example response<a href="#example-response-2" class="hash-link" aria-label="Direct link to Example response" title="Direct link to Example response" translate="no"></a></h3>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "job_id": "job_id_1234567890",</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "message": "Job job_id_1234567890 cancelled successfully."</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migrating-from-x-langflow-global-var--headers">Migrating from <code>X-LANGFLOW-GLOBAL-VAR-*</code> headers<a href="#migrating-from-x-langflow-global-var--headers" class="hash-link" aria-label="Direct link to migrating-from-x-langflow-global-var--headers" title="Direct link to migrating-from-x-langflow-global-var--headers" translate="no"></a></h2>
|
||
<p>Earlier preview releases of the Workflow API accepted request-level global variables via <code>X-LANGFLOW-GLOBAL-VAR-*</code> HTTP headers. HTTP headers cannot reliably carry arbitrary Unicode values, so the v2 Workflow API now accepts globals as a typed <code>globals</code> field in the JSON request body.</p>
|
||
<p>For backwards compatibility, the previous header transport is still honored for one release:</p>
|
||
<ul>
|
||
<li class="">Body globals always win when the same key is sent both ways.</li>
|
||
<li class="">A deprecation warning is logged on every request that carries <code>X-LANGFLOW-GLOBAL-VAR-*</code> headers.</li>
|
||
<li class="">Header-based globals will be <strong>removed in a future Langflow release</strong>. Migrate to the <code>globals</code> body field at your earliest convenience.</li>
|
||
</ul>
|
||
<p><strong>Before (deprecated):</strong></p>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>curl -X POST "$LANGFLOW_URL/api/v2/workflows" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H "x-api-key: $LANGFLOW_API_KEY" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H "Content-Type: application/json" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H "X-LANGFLOW-GLOBAL-VAR-FILENAME: relatorio-final.pdf" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H "X-LANGFLOW-GLOBAL-VAR-OWNER_NAME: Jose" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> --data '{"flow_id": "..."}'</span></div></div><br></code></div></div>
|
||
<p><strong>After:</strong></p>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>curl -X POST "$LANGFLOW_URL/api/v2/workflows" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H "x-api-key: $LANGFLOW_API_KEY" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -H "Content-Type: application/json" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> --data '{</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "flow_id": "...",</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "globals": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "FILENAME": "relatório—final.pdf",</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "OWNER_NAME": "José"</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> }'</span></div></div><br></code></div></div>
|
||
<p>Keys may use the same characters supported by the global variables panel in the Langflow UI; they are bounded to 256 characters, and values are bounded to 64 KB.</p>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="component-identifiers-and-input-structure">Component identifiers and input structure<a href="#component-identifiers-and-input-structure" class="hash-link" aria-label="Direct link to Component identifiers and input structure" title="Direct link to Component identifiers and input structure" translate="no"></a></h2>
|
||
<p>The Workflows API uses component identifiers with dot notation to specify inputs for individual components in your workflow. This allows you to pass values to specific components and override component parameters.</p>
|
||
<p>Component identifiers use the format <code>{component_id}.{parameter_name}</code>.
|
||
When making requests to the Workflows API, include component identifiers in the <code>inputs</code> object.
|
||
For example, this demonstrates targeting multiple components and their parameters in a single request.</p>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "flow_id": "your-flow-id",</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "inputs": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "ChatInput-abc.input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "ChatInput-abc.input_value": "what is 2+2",</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "ChatInput-abc.session_id": "session-123",</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "OpenSearchComponent-xyz.opensearch_url": "https://opensearch:9200",</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "LLMComponent-123.temperature": 0.7,</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "LLMComponent-123.max_tokens": 100</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
|
||
<p>To find the component ID in the Langflow UI, open your flow in Langflow, click the component, and then click <strong>Controls</strong>. The component ID is at the top of the <strong>Controls</strong> pane.</p>
|
||
<p>You can override any component's parameters.</p>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-handling">Error handling<a href="#error-handling" class="hash-link" aria-label="Direct link to Error handling" title="Direct link to Error handling" translate="no"></a></h2>
|
||
<p>The API uses standard HTTP status codes to indicate success or failure:</p>
|
||
<table><thead><tr><th>Status Code</th><th>Description</th></tr></thead><tbody><tr><td><code>200 OK</code></td><td>Request successful.</td></tr><tr><td><code>400 Bad Request</code></td><td>Invalid request parameters.</td></tr><tr><td><code>401 Unauthorized</code></td><td>Invalid or missing API key.</td></tr><tr><td><code>404 Not Found</code></td><td>Flow not found or developer API disabled.</td></tr><tr><td><code>500 Internal Server Error</code></td><td>Server error during execution.</td></tr><tr><td><code>501 Not Implemented</code></td><td>Endpoint not yet implemented.</td></tr></tbody></table>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-response-format">Error response format<a href="#error-response-format" class="hash-link" aria-label="Direct link to Error response format" title="Direct link to Error response format" translate="no"></a></h3>
|
||
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> "detail": "Error message describing what went wrong"</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/api-flows-run"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Flow trigger endpoints</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api-openai-responses"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">OpenAI Responses API</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#prerequisites" class="table-of-contents__link toc-highlight">Prerequisites</a><ul><li><a href="#set-environment-variables" class="table-of-contents__link toc-highlight">Set environment variables</a></li><li><a href="#authentication-and-headers" class="table-of-contents__link toc-highlight">Authentication and headers</a></li></ul></li><li><a href="#execute-workflows-endpoint-synchronous-or-asynchronous" class="table-of-contents__link toc-highlight">Execute workflows endpoint (synchronous or asynchronous)</a><ul><li><a href="#example-synchronous-request" class="table-of-contents__link toc-highlight">Example synchronous request</a></li><li><a href="#example-asynchronous-request" class="table-of-contents__link toc-highlight">Example asynchronous request</a></li><li><a href="#request-body" class="table-of-contents__link toc-highlight">Request body</a></li><li><a href="#example-response" class="table-of-contents__link toc-highlight">Example response</a></li><li><a href="#response-body" class="table-of-contents__link toc-highlight">Response body</a></li></ul></li><li><a href="#get-workflow-status-endpoint" class="table-of-contents__link toc-highlight">Get workflow status endpoint</a><ul><li><a href="#example-request" class="table-of-contents__link toc-highlight">Example request</a></li><li><a href="#query-parameters" class="table-of-contents__link toc-highlight">Query parameters</a></li><li><a href="#example-response-1" class="table-of-contents__link toc-highlight">Example response</a></li><li><a href="#response-body-1" class="table-of-contents__link toc-highlight">Response body</a></li></ul></li><li><a href="#stop-workflow-endpoint" class="table-of-contents__link toc-highlight">Stop workflow endpoint</a><ul><li><a href="#example-request-1" class="table-of-contents__link toc-highlight">Example request</a></li><li><a href="#request-body-1" class="table-of-contents__link toc-highlight">Request body</a></li><li><a href="#example-response-2" class="table-of-contents__link toc-highlight">Example response</a></li></ul></li><li><a href="#migrating-from-x-langflow-global-var--headers" class="table-of-contents__link toc-highlight">Migrating from <code>X-LANGFLOW-GLOBAL-VAR-*</code> headers</a></li><li><a href="#component-identifiers-and-input-structure" class="table-of-contents__link toc-highlight">Component identifiers and input structure</a></li><li><a href="#error-handling" class="table-of-contents__link toc-highlight">Error handling</a><ul><li><a href="#error-response-format" class="table-of-contents__link toc-highlight">Error response format</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><div class="footer-links">
|
||
<span>© 2026 Langflow</span>
|
||
<span id="preferenceCenterContainer"> · <a href="#" onclick='return"undefined"!=typeof window&&window.truste&&window.truste.eu&&window.truste.eu.clickListener&&window.truste.eu.clickListener(),!1' style="cursor: pointer;">Manage Privacy Choices</a></span>
|
||
</div></li></ul></div></div></div></footer><div style="position:fixed;right:21px;bottom:21px;z-index:100;display:flex;align-items:center;gap:10px;cursor:pointer"><div style="background-color:#f6f6f6;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,0.1)"><img src="/img/langflow-icon-black-transparent.svg" style="width:40px" alt="Search"></div></div></div>
|
||
</body>
|
||
</html> |