Files
langflow/api-openai-responses.html
2026-05-15 20:19:53 +00:00

735 lines
188 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

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

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-1.9.0 docs-doc-page docs-doc-id-API-Reference/api-openai-responses" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">OpenAI Responses API | 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/api-openai-responses"><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.9.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-1.9.0"><meta data-rh="true" name="docsearch:version" content="1.9.0"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-1.9.0"><meta data-rh="true" property="og:title" content="OpenAI Responses API | Langflow Documentation"><meta data-rh="true" name="description" content="Langflow includes an endpoint that is compatible with the OpenAI Responses API."><meta data-rh="true" property="og:description" content="Langflow includes an endpoint that is compatible with the OpenAI Responses API."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/api-openai-responses"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/api-openai-responses" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/api-openai-responses" 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":"OpenAI Responses API","item":"https://docs.langflow.org/api-openai-responses"}]}</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&amp;family=Geist+Mono:wght@400;500&amp;family=Sora:wght@550;600&amp;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.d29a2eb4.css">
<script src="/assets/js/runtime~main.81376a44.js" defer="defer"></script>
<script src="/assets/js/main.18ca0898.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="/api-openai-responses">1.9.x</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/next/api-openai-responses">1.10.x (Next)</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/api-openai-responses">1.9.x</a></li><li><a class="dropdown__link" href="/1.8.0/api-openai-responses">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 menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/workflow-api"><span title="Developer API (Beta)" class="categoryLinkLabel_W154">Developer API (Beta)</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/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 breadcrumbs__item--active"><span class="breadcrumbs__link">OpenAI Responses API</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.9.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>OpenAI Responses API</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>
<!-- -->
<!-- -->
<p>Langflow includes an endpoint that is compatible with the <a href="https://platform.openai.com/docs/api-reference/responses" target="_blank" rel="noopener noreferrer" class="">OpenAI Responses API</a>.
It is available at <code>POST /api/v1/responses</code>.</p>
<p>This endpoint allows you to use existing OpenAI client libraries with minimal code changes.
You only need to replace the <code>model</code> name, such as <code>gpt-4</code>, with your <code>flow_id</code>.
You can find Flow IDs in the code snippets on the <a class="" href="/concepts-publish#api-access"><strong>API access</strong> pane</a> or in a flow&#x27;s URL.</p>
<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>To be compatible with Langflow&#x27;s OpenAI Responses API endpoint, your flow and request must adhere to the following requirements:</p>
<ul>
<li class=""><strong>Chat Input</strong>: Your flow must contain a <strong>Chat Input</strong> component.
Flows without this component return an error when passed to this endpoint.
The component types <code>ChatInput</code> and <code>Chat Input</code> are recognized as chat inputs.</li>
<li class=""><strong>Tools</strong>: The <code>tools</code> parameter isn&#x27;t supported, and returns an error if provided.</li>
<li class=""><strong>Model Names</strong>: In your request, the <code>model</code> field must contain a valid flow ID or endpoint name.</li>
<li class=""><strong>Authentication</strong>: All requests require an API key passed in the <code>x-api-key</code> header.
For more information, see <a class="" href="/api-keys-and-authentication">API keys and authentication</a>.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="additional-configuration-for-openai-client-libraries">Additional configuration for OpenAI client libraries<a href="#additional-configuration-for-openai-client-libraries" class="hash-link" aria-label="Direct link to Additional configuration for OpenAI client libraries" title="Direct link to Additional configuration for OpenAI client libraries" translate="no"></a></h3>
<p>This endpoint is compatible with OpenAI&#x27;s API, but requires special configuration when using OpenAI client libraries.
Langflow uses <code>x-api-key</code> headers for authentication, while OpenAI uses <code>Authorization: Bearer</code> headers.
When sending requests to Langflow with OpenAI client libraries, you must configure custom headers and include an <code>api_key</code> configuration.
The <code>api_key</code> parameter can have any value, such as <code>&quot;dummy-api-key&quot;</code> in the client examples, as the actual authentication is handled through the <code>default_headers</code> configuration.</p>
<p>In the following examples, replace the values for <code>LANGFLOW_SERVER_URL</code>, <code>LANGFLOW_API_KEY</code>, and <code>FLOW_ID</code> with values from your deployment.</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">OpenAI Python Client</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">OpenAI TypeScript Client</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>from openai import OpenAI<!-- -->
<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(&quot;LANGFLOW_URL&quot;) or os.environ.get(&quot;LANGFLOW_SERVER_URL&quot;, &quot;&quot;)).rstrip(&quot;/&quot;)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>api_key = os.environ.get(&quot;LANGFLOW_API_KEY&quot;, &quot;&quot;)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>flow_id = os.environ.get(&quot;FLOW_ID&quot;, &quot;&quot;)<!-- -->
<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>client = OpenAI(<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> base_url=f&quot;{base}/api/v1/&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> default_headers={&quot;x-api-key&quot;: api_key},<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> api_key=&quot;dummy-api-key&quot;, # Required by OpenAI SDK but not used by Langflow<!-- -->
<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>try:<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> response = client.responses.create(<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> model=flow_id,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> input=&quot;There is an event that happens on the second wednesday of every month. What are the event dates in 2026?&quot;,<!-- -->
<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>except Exception as exc:<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span> # Empty bootstrap flows return an error body; use a flow with ChatInput + ChatOutput in the UI.<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> print(exc)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">23</span>else:<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</span> try:<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span> print(response.output_text)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">26</span> except Exception:<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">27</span> print(response)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">28</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>import OpenAI from &quot;openai&quot;;<!-- -->
<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 client = new OpenAI({<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> baseURL: &quot;LANGFLOW_SERVER_URL/api/v1/&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> defaultHeaders: {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;x-api-key&quot;: &quot;LANGFLOW_API_KEY&quot;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> },<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> apiKey: &quot;dummy-api-key&quot; // Required by OpenAI SDK but not used by Langflow<!-- -->
<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>const response = await client.responses.create({<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> model: &quot;FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> input: &quot;There is an event that happens on the second wednesday of every month. What are the event dates in 2026?&quot;<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>console.log(response.output_text);<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</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>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Response</summary><div><div class="collapsibleContent_i85q"><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">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>Here are the event dates for the second Wednesday of each month in 2026:</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- January 14, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- February 11, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- March 11, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- April 8, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- May 13, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- June 10, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- July 8, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- August 12, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- September 9, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- October 14, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- November 11, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>- December 9, 2026</span></div></div><div><span class="ch-code-line-number">_<!-- -->14</span><div style="display:inline-block;margin-left:16px"><span>If you need these in a different format or want a downloadable calendar, let me know!</span></div></div><br></code></div></div></div></div></details>
<h2 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></h2>
<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>url = f&quot;{os.getenv(&#x27;LANGFLOW_SERVER_URL&#x27;, &#x27;&#x27;)}/api/v1/responses&quot;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>headers = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> &quot;x-api-key&quot;: f&quot;{os.getenv(&#x27;LANGFLOW_API_KEY&#x27;, &#x27;&#x27;)}&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> &quot;Content-Type&quot;: &quot;application/json&quot;,<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span>payload = {&quot;model&quot;: &quot;$YOUR_FLOW_ID&quot;, &quot;input&quot;: &quot;Hello, how are you?&quot;, &quot;stream&quot;: False}<!-- -->
<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>response = requests.request(&quot;POST&quot;, url, headers=headers, json=payload)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span>response.raise_for_status()<!-- -->
<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>print(response.text)<!-- -->
<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 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 ?? &quot;&quot;}/api/v1/responses`;<!-- -->
<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: &#x27;POST&#x27;,<!-- -->
<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> &quot;x-api-key&quot;: `${process.env.LANGFLOW_API_KEY ?? &quot;&quot;}`,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;Content-Type&quot;: `application/json`,<!-- -->
<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> &quot;model&quot;: &quot;$YOUR_FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;input&quot;: &quot;Hello, how are you?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;stream&quot;: false<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>fetch(url, options)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> .then(async (response) =&gt; {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> if (!response.ok) {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</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">20</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</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">22</span> console.log(text);<!-- -->
<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> .catch((error) =&gt; console.error(error));<!-- -->
<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="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> &quot;$LANGFLOW_SERVER_URL/api/v1/responses&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> -H &quot;x-api-key: $LANGFLOW_API_KEY&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> -H &quot;Content-Type: application/json&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -d &#x27;{<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;model&quot;: &quot;$YOUR_FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;input&quot;: &quot;Hello, how are you?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> &quot;stream&quot;: false<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> }&#x27;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</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="headers">Headers<a href="#headers" class="hash-link" aria-label="Direct link to Headers" title="Direct link to Headers" translate="no"></a></h3>
<table><thead><tr><th>Header</th><th>Required</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><code>x-api-key</code></td><td>Yes</td><td>Your Langflow API key for authentication</td><td><code>&quot;sk-...&quot;</code></td></tr><tr><td><code>Content-Type</code></td><td>Yes</td><td>Specifies the JSON format</td><td><code>&quot;application/json&quot;</code></td></tr><tr><td><code>X-LANGFLOW-GLOBAL-VAR-*</code></td><td>No</td><td>Global variables for the flow</td><td><code>&quot;X-LANGFLOW-GLOBAL-VAR-API_KEY: sk-...&quot;</code> For more, see <a href="#global-var" class="">Pass global variables to your flows in headers</a>.</td></tr></tbody></table>
<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>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>model</code></td><td><code>string</code></td><td>Yes</td><td>-</td><td>The flow ID or endpoint name to execute.</td></tr><tr><td><code>input</code></td><td><code>string</code></td><td>Yes</td><td>-</td><td>The input text to process.</td></tr><tr><td><code>stream</code></td><td><code>boolean</code></td><td>No</td><td><code>false</code></td><td>Whether to stream the response.</td></tr><tr><td><code>background</code></td><td><code>boolean</code></td><td>No</td><td><code>false</code></td><td>Whether to process in background.</td></tr><tr><td><code>tools</code></td><td><code>list[Any]</code></td><td>No</td><td><code>null</code></td><td>Tools are not supported yet.</td></tr><tr><td><code>previous_response_id</code></td><td><code>string</code></td><td>No</td><td><code>null</code></td><td>ID of previous response to continue conversation. For more, see <a href="#response-id" class="">Continue conversations with response and session IDs</a>.</td></tr><tr><td><code>include</code></td><td><code>list[string]</code></td><td>No</td><td><code>null</code></td><td>Additional response data to include, such as <code>[&#x27;tool_call.results&#x27;]</code>. For more, see <a href="#tool-call-results" class="">Retrieve tool call results</a>.</td></tr></tbody></table>
<h2 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></h2>
<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">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: &quot;e5e8ef8a-7efd-4090-a110-6aca082bceb7&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;object&quot;: &quot;response&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;created_at&quot;: 1756837941,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;output&quot;: [</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;message&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: &quot;msg_e5e8ef8a-7efd-4090-a110-6aca082bceb7&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;role&quot;: &quot;assistant&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;content&quot;: [</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;output_text&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: &quot;Hello! I&#x27;m here and ready to help. How can I assist you today?&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;annotations&quot;: []</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;parallel_tool_calls&quot;: true,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;previous_response_id&quot;: null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;reasoning&quot;: {&quot;effort&quot;: null, &quot;summary&quot;: null},</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;store&quot;: true,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;temperature&quot;: 1.0,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: {&quot;format&quot;: {&quot;type&quot;: &quot;text&quot;}},</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;tool_choice&quot;: &quot;auto&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;tools&quot;: [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;top_p&quot;: 1.0,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;truncation&quot;: &quot;disabled&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;usage&quot;: null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;user&quot;: null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</span><div style="display:inline-block;margin-left:16px"><span> &quot;metadata&quot;: {}</span></div></div><div><span class="ch-code-line-number">_<!-- -->35</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 contains fields that Langflow sets dynamically and fields that use OpenAI-compatible defaults.</p>
<p>The OpenAI-compatible default values shown above are currently fixed and cannot be modified via the request.
They are included to maintain API compatibility and provide a consistent response format.</p>
<p>For your requests, you will only be setting the dynamic fields.
The default values are documented here for completeness and to show the full response structure.</p>
<p>Fields set dynamically by Langflow:</p>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique response identifier.</td></tr><tr><td><code>created_at</code></td><td><code>int</code></td><td>Unix timestamp of response creation.</td></tr><tr><td><code>model</code></td><td><code>string</code></td><td>The flow ID that was executed.</td></tr><tr><td><code>output</code></td><td><code>list[dict]</code></td><td>Array of output items (messages, tool calls, etc.).</td></tr><tr><td><code>previous_response_id</code></td><td><code>string</code></td><td>ID of previous response if continuing conversation.</td></tr><tr><td><code>usage</code></td><td><code>dict</code></td><td>Token usage statistics if the <code>usage</code> field is available. Contains <code>prompt_tokens</code>, <code>completion_tokens</code>, and <code>total_tokens</code>.</td></tr></tbody></table>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Fields with OpenAI-compatible default values</summary><div><div class="collapsibleContent_i85q"><table><thead><tr><th>Field</th><th>Type</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>object</code></td><td><code>string</code></td><td><code>&quot;response&quot;</code></td><td>Always <code>&quot;response&quot;</code>.</td></tr><tr><td><code>status</code></td><td><code>string</code></td><td><code>&quot;completed&quot;</code></td><td>Response status: <code>&quot;completed&quot;</code>, <code>&quot;in_progress&quot;</code>, or <code>&quot;failed&quot;</code>.</td></tr><tr><td><code>error</code></td><td><code>dict</code></td><td><code>null</code></td><td>Error details (if any).</td></tr><tr><td><code>incomplete_details</code></td><td><code>dict</code></td><td><code>null</code></td><td>Incomplete response details (if any).</td></tr><tr><td><code>instructions</code></td><td><code>string</code></td><td><code>null</code></td><td>Response instructions (if any).</td></tr><tr><td><code>max_output_tokens</code></td><td><code>int</code></td><td><code>null</code></td><td>Maximum output tokens (if any).</td></tr><tr><td><code>parallel_tool_calls</code></td><td><code>boolean</code></td><td><code>true</code></td><td>Whether parallel tool calls are enabled.</td></tr><tr><td><code>reasoning</code></td><td><code>dict</code></td><td><code>{&quot;effort&quot;: null, &quot;summary&quot;: null}</code></td><td>Reasoning information with effort and summary.</td></tr><tr><td><code>store</code></td><td><code>boolean</code></td><td><code>true</code></td><td>Whether response is stored.</td></tr><tr><td><code>temperature</code></td><td><code>float</code></td><td><code>1.0</code></td><td>Temperature setting.</td></tr><tr><td><code>text</code></td><td><code>dict</code></td><td><code>{&quot;format&quot;: {&quot;type&quot;: &quot;text&quot;}}</code></td><td>Text format configuration.</td></tr><tr><td><code>tool_choice</code></td><td><code>string</code></td><td><code>&quot;auto&quot;</code></td><td>Tool choice setting.</td></tr><tr><td><code>tools</code></td><td><code>list[dict]</code></td><td><code>[]</code></td><td>Available tools.</td></tr><tr><td><code>top_p</code></td><td><code>float</code></td><td><code>1.0</code></td><td>Top-p setting.</td></tr><tr><td><code>truncation</code></td><td><code>string</code></td><td><code>&quot;disabled&quot;</code></td><td>Truncation setting.</td></tr><tr><td><code>usage</code></td><td><code>dict</code></td><td><code>null</code></td><td>Token usage statistics. Set dynamically when available from flow components, otherwise <code>null</code>. See <a href="#token-usage-tracking" class="">Token usage tracking</a>.</td></tr><tr><td><code>user</code></td><td><code>string</code></td><td><code>null</code></td><td>User identifier (if any).</td></tr><tr><td><code>metadata</code></td><td><code>dict</code></td><td><code>{}</code></td><td>Additional metadata.</td></tr></tbody></table></div></div></details>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-streaming-request">Example streaming request<a href="#example-streaming-request" class="hash-link" aria-label="Direct link to Example streaming request" title="Direct link to Example streaming request" translate="no"></a></h2>
<p>When you set <code>&quot;stream&quot;: true</code> with your request, the API returns a stream where each chunk contains a small piece of the response as it&#x27;s generated. This provides a real-time experience where users can see the AI&#x27;s output appear word by word, similar to ChatGPT&#x27;s typing effect.</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>url = f&quot;{os.getenv(&#x27;LANGFLOW_SERVER_URL&#x27;, &#x27;&#x27;)}/api/v1/responses&quot;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>headers = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> &quot;x-api-key&quot;: f&quot;{os.getenv(&#x27;LANGFLOW_API_KEY&#x27;, &#x27;&#x27;)}&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> &quot;Content-Type&quot;: &quot;application/json&quot;,<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span>payload = {&quot;model&quot;: &quot;$FLOW_ID&quot;, &quot;input&quot;: &quot;Tell me a story about a robot&quot;, &quot;stream&quot;: True}<!-- -->
<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>response = requests.request(&quot;POST&quot;, url, headers=headers, json=payload)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span>response.raise_for_status()<!-- -->
<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>print(response.text)<!-- -->
<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 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 ?? &quot;&quot;}/api/v1/responses`;<!-- -->
<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: &#x27;POST&#x27;,<!-- -->
<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> &quot;x-api-key&quot;: `${process.env.LANGFLOW_API_KEY ?? &quot;&quot;}`,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;Content-Type&quot;: `application/json`,<!-- -->
<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> &quot;model&quot;: &quot;$FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;input&quot;: &quot;Tell me a story about a robot&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;stream&quot;: true<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>fetch(url, options)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> .then(async (response) =&gt; {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> if (!response.ok) {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</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">20</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</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">22</span> console.log(text);<!-- -->
<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> .catch((error) =&gt; console.error(error));<!-- -->
<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="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> &quot;$LANGFLOW_SERVER_URL/api/v1/responses&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> -H &quot;x-api-key: $LANGFLOW_API_KEY&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> -H &quot;Content-Type: application/json&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -d &#x27;{<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;model&quot;: &quot;$FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;input&quot;: &quot;Tell me a story about a robot&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> &quot;stream&quot;: true<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> }&#x27;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</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>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Result</summary><div><div class="collapsibleContent_i85q"><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="json" 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>{<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> &quot;id&quot;: &quot;f7fcea36-f128-41c4-9ac1-e683137375d5&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> &quot;object&quot;: &quot;response.chunk&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;created&quot;: 1756838094,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;delta&quot;: {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;content&quot;: &quot;Once&quot;<!-- -->
<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> &quot;status&quot;: null<!-- -->
<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>
</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></details>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="streaming-response-body">Streaming response body<a href="#streaming-response-body" class="hash-link" aria-label="Direct link to Streaming response body" title="Direct link to Streaming response body" translate="no"></a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique response identifier.</td></tr><tr><td><code>object</code></td><td><code>string</code></td><td>Always <code>&quot;response.chunk&quot;</code>.</td></tr><tr><td><code>created</code></td><td><code>int</code></td><td>Unix timestamp of chunk creation.</td></tr><tr><td><code>model</code></td><td><code>string</code></td><td>The flow ID that was executed.</td></tr><tr><td><code>delta</code></td><td><code>dict</code></td><td>The new content chunk.</td></tr><tr><td><code>status</code></td><td><code>string</code></td><td>Response status: <code>&quot;completed&quot;</code>, <code>&quot;in_progress&quot;</code>, or <code>&quot;failed&quot;</code> (optional).</td></tr></tbody></table>
<p>The stream continues until a final chunk with <code>&quot;status&quot;: &quot;completed&quot;</code> indicates the response is finished.</p>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Final completion chunk</summary><div><div class="collapsibleContent_i85q"><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> &quot;id&quot;: &quot;f7fcea36-f128-41c4-9ac1-e683137375d5&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;object&quot;: &quot;response.chunk&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;created&quot;: 1756838094,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;delta&quot;: {},</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;</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></div></details>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="response-id">Continue conversations with response and session IDs<a href="#response-id" class="hash-link" aria-label="Direct link to Continue conversations with response and session IDs" title="Direct link to Continue conversations with response and session IDs" translate="no"></a></h2>
<p>Conversation continuity allows you to maintain context across multiple API calls, enabling multi-turn conversations with your flows. This is essential for building chat applications where users can have ongoing conversations.</p>
<p>When you make a request, the API returns a response with an <code>id</code> field. You can use this <code>id</code> as the <code>previous_response_id</code> in your next request to continue the conversation from where it left off.</p>
<p>First Message:</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(&quot;LANGFLOW_URL&quot;) or os.environ.get(&quot;LANGFLOW_SERVER_URL&quot;, &quot;&quot;)<!-- -->
<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(&quot;FLOW_ID&quot;, &quot;&quot;)<!-- -->
<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(&quot;LANGFLOW_API_KEY&quot;, &quot;&quot;)<!-- -->
<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>url = f&quot;{base}/api/v1/responses&quot;<!-- -->
<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>headers = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;x-api-key&quot;: api_key,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> &quot;Content-Type&quot;: &quot;application/json&quot;,<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>payload = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> &quot;model&quot;: flow_id,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> &quot;input&quot;: &quot;Hello, my name is Alice&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span> &quot;stream&quot;: False,<!-- -->
<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(url, 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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span>print(response.text)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">26</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 = `http://${process.env.LANGFLOW_SERVER_URL ?? &quot;&quot;}/api/v1/responses`;<!-- -->
<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: &#x27;POST&#x27;,<!-- -->
<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> &quot;x-api-key&quot;: `${process.env.LANGFLOW_API_KEY ?? &quot;&quot;}`,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;Content-Type&quot;: `application/json`,<!-- -->
<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> &quot;model&quot;: &quot;$FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;input&quot;: &quot;Hello, my name is Alice&quot;<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span>fetch(url, options)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> .then(async (response) =&gt; {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> if (!response.ok) {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</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">19</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</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">21</span> console.log(text);<!-- -->
<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> .catch((error) =&gt; console.error(error));<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</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>BASE_URL=&quot;${LANGFLOW_SERVER_URL:-$LANGFLOW_URL}&quot;<!-- -->
<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>curl -X POST \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;$BASE_URL/api/v1/responses&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -H &quot;x-api-key: $LANGFLOW_API_KEY&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> -H &quot;Content-Type: application/json&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> -d @- &lt;&lt;EOF<!-- -->
<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> &quot;model&quot;: &quot;$FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> &quot;input&quot;: &quot;Hello, my name is Alice&quot;<!-- -->
<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>EOF<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</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>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Result</summary><div><div class="collapsibleContent_i85q"><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="json" 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>{<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> &quot;id&quot;: &quot;c45f4ac8-772b-4675-8551-c560b1afd590&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> &quot;object&quot;: &quot;response&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;created_at&quot;: 1756839042,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> &quot;status&quot;: &quot;completed&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;output&quot;: [<!-- -->
<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> &quot;type&quot;: &quot;message&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> &quot;id&quot;: &quot;msg_c45f4ac8-772b-4675-8551-c560b1afd590&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;status&quot;: &quot;completed&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;role&quot;: &quot;assistant&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> &quot;content&quot;: [<!-- -->
<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> &quot;type&quot;: &quot;output_text&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> &quot;text&quot;: &quot;Hello, Alice! How can I assist you today?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> &quot;annotations&quot;: []<!-- -->
<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> ],<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> &quot;previous_response_id&quot;: null<!-- -->
<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>
</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></details>
<p>Follow-up message:</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># Continuation requests use the same endpoint; add `previous_response_id` from a prior<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span># response&#x27;s `id` field. The bootstrap flow is empty; use a Playground flow with ChatInput +<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span># ChatOutput for a full run. Same first message as continue-conversations-with-response-and-session-ids.py.<!-- -->
<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>import os<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>import requests<!-- -->
<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>base = os.environ.get(&quot;LANGFLOW_URL&quot;) or os.environ.get(&quot;LANGFLOW_SERVER_URL&quot;, &quot;&quot;)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span>flow_id = os.environ.get(&quot;FLOW_ID&quot;, &quot;&quot;)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span>api_key = os.environ.get(&quot;LANGFLOW_API_KEY&quot;, &quot;&quot;)<!-- -->
<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>url = f&quot;{base}/api/v1/responses&quot;<!-- -->
<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>headers = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> &quot;x-api-key&quot;: api_key,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> &quot;Content-Type&quot;: &quot;application/json&quot;,<!-- -->
<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>payload = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span> &quot;model&quot;: flow_id,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> &quot;input&quot;: &quot;Hello, my name is Alice&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">23</span> &quot;stream&quot;: False,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</span>}<!-- -->
<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>response = requests.post(url, 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">27</span>response.raise_for_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>print(response.text)<!-- -->
<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="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 = `http://${process.env.LANGFLOW_SERVER_URL ?? &quot;&quot;}/api/v1/responses`;<!-- -->
<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: &#x27;POST&#x27;,<!-- -->
<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> &quot;x-api-key&quot;: `${process.env.LANGFLOW_API_KEY ?? &quot;&quot;}`,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;Content-Type&quot;: `application/json`,<!-- -->
<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> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;input&quot;: &quot;What&#x27;s my name?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;previous_response_id&quot;: &quot;c45f4ac8-772b-4675-8551-c560b1afd590&quot;<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>fetch(url, options)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> .then(async (response) =&gt; {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> if (!response.ok) {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</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">20</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</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">22</span> console.log(text);<!-- -->
<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> .catch((error) =&gt; console.error(error));<!-- -->
<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="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>BASE_URL=&quot;${LANGFLOW_SERVER_URL:-$LANGFLOW_URL}&quot;<!-- -->
<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>curl -X POST \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;$BASE_URL/api/v1/responses&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -H &quot;x-api-key: $LANGFLOW_API_KEY&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> -H &quot;Content-Type: application/json&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> -d @- &lt;&lt;EOF<!-- -->
<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> &quot;model&quot;: &quot;$FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> &quot;input&quot;: &quot;What&#x27;s my name?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;previous_response_id&quot;: &quot;c45f4ac8-772b-4675-8551-c560b1afd590&quot;<!-- -->
<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>EOF<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</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>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Result</summary><div><div class="collapsibleContent_i85q"><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="json" 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>{<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> &quot;id&quot;: &quot;c45f4ac8-772b-4675-8551-c560b1afd590&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> &quot;object&quot;: &quot;response&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;created_at&quot;: 1756839043,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> &quot;status&quot;: &quot;completed&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;output&quot;: [<!-- -->
<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> &quot;type&quot;: &quot;message&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> &quot;id&quot;: &quot;msg_c45f4ac8-772b-4675-8551-c560b1afd590&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;status&quot;: &quot;completed&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;role&quot;: &quot;assistant&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> &quot;content&quot;: [<!-- -->
<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> &quot;type&quot;: &quot;output_text&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> &quot;text&quot;: &quot;Your name is Alice. How can I help you today?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> &quot;annotations&quot;: []<!-- -->
<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> ],<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> &quot;previous_response_id&quot;: &quot;c45f4ac8-772b-4675-8551-c560b1afd590&quot;<!-- -->
<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>
</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></details>
<p>Optionally, you can use your own session ID values for the <code>previous_response_id</code>:</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># Same pattern as continue-conversations-with-response-and-session-ids-2.py; you can pass<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span># `previous_response_id` from the prior turn (or a session id your app stores).<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span>import os<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>import requests<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span>base = os.environ.get(&quot;LANGFLOW_URL&quot;) or os.environ.get(&quot;LANGFLOW_SERVER_URL&quot;, &quot;&quot;)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span>flow_id = os.environ.get(&quot;FLOW_ID&quot;, &quot;&quot;)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span>api_key = os.environ.get(&quot;LANGFLOW_API_KEY&quot;, &quot;&quot;)<!-- -->
<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>url = f&quot;{base}/api/v1/responses&quot;<!-- -->
<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>headers = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> &quot;x-api-key&quot;: api_key,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span> &quot;Content-Type&quot;: &quot;application/json&quot;,<!-- -->
<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>payload = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span> &quot;model&quot;: flow_id,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span> &quot;input&quot;: &quot;Hello, my name is Alice&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</span> &quot;stream&quot;: False,<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span>response = requests.post(url, 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">26</span>response.raise_for_status()<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">27</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">28</span>print(response.text)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">29</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 = `http://${process.env.LANGFLOW_SERVER_URL ?? &quot;&quot;}/api/v1/responses`;<!-- -->
<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: &#x27;POST&#x27;,<!-- -->
<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> &quot;x-api-key&quot;: `${process.env.LANGFLOW_API_KEY ?? &quot;&quot;}`,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;Content-Type&quot;: `application/json`,<!-- -->
<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> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;input&quot;: &quot;What&#x27;s my name?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;previous_response_id&quot;: &quot;session-alice-1756839048&quot;<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>fetch(url, options)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> .then(async (response) =&gt; {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> if (!response.ok) {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</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">20</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</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">22</span> console.log(text);<!-- -->
<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> .catch((error) =&gt; console.error(error));<!-- -->
<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="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>BASE_URL=&quot;${LANGFLOW_SERVER_URL:-$LANGFLOW_URL}&quot;<!-- -->
<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>curl -X POST \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;$BASE_URL/api/v1/responses&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -H &quot;x-api-key: $LANGFLOW_API_KEY&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> -H &quot;Content-Type: application/json&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> -d @- &lt;&lt;EOF<!-- -->
<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> &quot;model&quot;: &quot;$FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> &quot;input&quot;: &quot;What&#x27;s my name?&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;previous_response_id&quot;: &quot;session-alice-1756839048&quot;<!-- -->
<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>EOF<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</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>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Result</summary><div><div class="collapsibleContent_i85q"><p>This example uses the same flow as the other <code>previous_response_id</code> examples, but the LLM had not yet been introduced to Alice in the specified session:</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">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: &quot;session-alice-1756839048&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;object&quot;: &quot;response&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;created_at&quot;: 1756839048,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;output&quot;: [</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;message&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: &quot;msg_session-alice-1756839048&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;role&quot;: &quot;assistant&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;content&quot;: [</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;output_text&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: &quot;I don&#x27;t have access to your name unless you tell me. If you&#x27;d like, you can share your name, and I&#x27;ll remember it for this conversation!&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;annotations&quot;: []</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span> &quot;previous_response_id&quot;: &quot;session-alice-1756839048&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->23</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div></div></div></details>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tool-call-results">Retrieve tool call results<a href="#tool-call-results" class="hash-link" aria-label="Direct link to Retrieve tool call results" title="Direct link to Retrieve tool call results" translate="no"></a></h2>
<p>When you send a request to the <code>/api/v1/responses</code> endpoint to run a flow that includes tools or function calls, you can retrieve the raw tool execution details by adding <code>&quot;include&quot;: [&quot;tool_call.results&quot;]</code> to the request payload.</p>
<p>Without the <code>include</code> parameter, tool calls return basic function call information, but not the raw tool results.
For example:</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> &quot;id&quot;: &quot;fc_1&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;function_call&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;name&quot;: &quot;evaluate_expression&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;arguments&quot;: &quot;{\&quot;expression\&quot;: \&quot;15*23\&quot;}&quot;</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>To get the raw <code>results</code> of each tool execution, add <code>include: [&quot;tool_call.results&quot;]</code> to the request payload:</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(&quot;LANGFLOW_URL&quot;) or os.environ.get(&quot;LANGFLOW_SERVER_URL&quot;, &quot;&quot;)<!-- -->
<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(&quot;FLOW_ID&quot;, &quot;&quot;)<!-- -->
<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(&quot;LANGFLOW_API_KEY&quot;, &quot;&quot;)<!-- -->
<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>url = f&quot;{base}/api/v1/responses&quot;<!-- -->
<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>headers = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;Content-Type&quot;: &quot;application/json&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> &quot;x-api-key&quot;: api_key,<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>payload = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> &quot;model&quot;: flow_id,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> &quot;input&quot;: &quot;Calculate 23 * 15 and show me the result&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span> &quot;stream&quot;: False,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span> &quot;include&quot;: [&quot;tool_call.results&quot;],<!-- -->
<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>response = requests.post(url, 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">24</span>response.raise_for_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>print(response.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 = `http://${process.env.LANGFLOW_SERVER_URL ?? &quot;&quot;}/api/v1/responses`;<!-- -->
<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: &#x27;POST&#x27;,<!-- -->
<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> &quot;Content-Type&quot;: `application/json`,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;x-api-key&quot;: `${process.env.LANGFLOW_API_KEY ?? &quot;&quot;}`,<!-- -->
<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> &quot;model&quot;: &quot;FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;input&quot;: &quot;Calculate 23 * 15 and show me the result&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;stream&quot;: false,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">13</span> &quot;include&quot;: [<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> &quot;tool_call.results&quot;<!-- -->
<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>}),<!-- -->
<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>fetch(url, options)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span> .then(async (response) =&gt; {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span> if (!response.ok) {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">22</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">23</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">24</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">25</span> console.log(text);<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">26</span> })<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">27</span> .catch((error) =&gt; console.error(error));<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">28</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>BASE_URL=&quot;${LANGFLOW_SERVER_URL:-$LANGFLOW_URL}&quot;<!-- -->
<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>curl -X POST \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;$BASE_URL/api/v1/responses&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -H &quot;Content-Type: application/json&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> -H &quot;x-api-key: $LANGFLOW_API_KEY&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> -d @- &lt;&lt;EOF<!-- -->
<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> &quot;model&quot;: &quot;$FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> &quot;input&quot;: &quot;Calculate 23 * 15 and show me the result&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;stream&quot;: false,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;include&quot;: [&quot;tool_call.results&quot;]<!-- -->
<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>EOF<!-- -->
<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>The response now includes the tool call&#x27;s results.
For example:</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> &quot;id&quot;: &quot;evaluate_expression_1&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;tool_call&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;tool_name&quot;: &quot;evaluate_expression&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;queries&quot;: [&quot;15*23&quot;],</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;results&quot;: {&quot;result&quot;: &quot;345&quot;}</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>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Result</summary><div><div class="collapsibleContent_i85q"><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="json" 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>{<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">2</span> &quot;id&quot;: &quot;a6e5511e-71f8-457a-88d2-7d8c6ea34e36&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> &quot;object&quot;: &quot;response&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> &quot;created_at&quot;: 1756835379,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> &quot;status&quot;: &quot;completed&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;error&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;incomplete_details&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> &quot;instructions&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> &quot;max_output_tokens&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;output&quot;: [<!-- -->
<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> &quot;id&quot;: &quot;evaluate_expression_1&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">14</span> &quot;queries&quot;: [<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span> &quot;15*23&quot;<!-- -->
<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> &quot;status&quot;: &quot;completed&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> &quot;tool_name&quot;: &quot;evaluate_expression&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</span> &quot;type&quot;: &quot;tool_call&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">20</span> &quot;results&quot;: {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</span> &quot;result&quot;: &quot;345&quot;<!-- -->
<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> {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">25</span> &quot;type&quot;: &quot;message&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">26</span> &quot;id&quot;: &quot;msg_a6e5511e-71f8-457a-88d2-7d8c6ea34e36&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">27</span> &quot;status&quot;: &quot;completed&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">28</span> &quot;role&quot;: &quot;assistant&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">29</span> &quot;content&quot;: [<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">30</span> {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">31</span> &quot;type&quot;: &quot;output_text&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">32</span> &quot;text&quot;: &quot;The result of 23 * 15 is 345.&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">33</span> &quot;annotations&quot;: []<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">34</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">35</span> ]<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">36</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">37</span> ],<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">38</span> &quot;parallel_tool_calls&quot;: true,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">39</span> &quot;previous_response_id&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">40</span> &quot;reasoning&quot;: {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">41</span> &quot;effort&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">42</span> &quot;summary&quot;: null<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">43</span> },<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">44</span> &quot;store&quot;: true,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">45</span> &quot;temperature&quot;: 1.0,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">46</span> &quot;text&quot;: {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">47</span> &quot;format&quot;: {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">48</span> &quot;type&quot;: &quot;text&quot;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">49</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">50</span> },<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">51</span> &quot;tool_choice&quot;: &quot;auto&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">52</span> &quot;tools&quot;: [],<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">53</span> &quot;top_p&quot;: 1.0,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">54</span> &quot;truncation&quot;: &quot;disabled&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">55</span> &quot;usage&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">56</span> &quot;user&quot;: null,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">57</span> &quot;metadata&quot;: {}<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">58</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></details>
<p>Variables passed with <code>X-LANGFLOW-GLOBAL-VAR-{VARIABLE_NAME}</code> are always available to your flow, regardless of whether they exist in the database.</p>
<p>If your flow components reference variables that aren&#x27;t provided in headers or your Langflow database, the flow fails by default.</p>
<p>To avoid this, you can set the <code>FALLBACK_TO_ENV_VARS</code> environment variable is <code>true</code>, which allows the flow to use values from the <code>.env</code> file if they aren&#x27;t otherwise specified.</p>
<p>In the above example, <code>OPENAI_API_KEY</code> will fall back to the database variable if not provided in the header.
<code>USER_ID</code> and <code>ENVIRONMENT</code> will fall back to environment variables if <code>FALLBACK_TO_ENV_VARS</code> is enabled.
Otherwise, the flow fails.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="token-usage-tracking">Token usage tracking<a href="#token-usage-tracking" class="hash-link" aria-label="Direct link to Token usage tracking" title="Direct link to Token usage tracking" translate="no"></a></h2>
<p>The OpenAI Responses API endpoint tracks token usage when your flow uses language model components that provide token usage information. The <code>usage</code> field in the response contains statistics about the number of tokens used for the request and response.</p>
<p>Token usage is automatically extracted from the flow execution results when the <code>usage</code> field is available.
The <code>usage</code> field follows OpenAI&#x27;s format with <code>prompt_tokens</code>, <code>completion_tokens</code>, and <code>total_tokens</code> fields.
If token usage information is not available from the flow components, the <code>usage</code> field is <code>null</code>.</p>
<p>The <code>usage</code> field is always present in the response, either with token counts or as <code>null</code>. The conditional checks shown in the examples below are optional defensive programming to handle cases where usage might not be available.</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>url = f&quot;{os.getenv(&#x27;LANGFLOW_SERVER_URL&#x27;, &#x27;&#x27;)}/api/v1/responses&quot;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span>headers = {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> &quot;x-api-key&quot;: f&quot;{os.getenv(&#x27;LANGFLOW_API_KEY&#x27;, &#x27;&#x27;)}&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> &quot;Content-Type&quot;: &quot;application/json&quot;,<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span>payload = {&quot;model&quot;: &quot;FLOW_ID&quot;, &quot;input&quot;: &quot;Explain quantum computing in simple terms&quot;, &quot;stream&quot;: False}<!-- -->
<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>response = requests.request(&quot;POST&quot;, url, headers=headers, json=payload)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">15</span>response.raise_for_status()<!-- -->
<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>print(response.text)<!-- -->
<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 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 ?? &quot;&quot;}/api/v1/responses`;<!-- -->
<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: &#x27;POST&#x27;,<!-- -->
<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> &quot;x-api-key&quot;: `${process.env.LANGFLOW_API_KEY ?? &quot;&quot;}`,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;Content-Type&quot;: `application/json`,<!-- -->
<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> &quot;model&quot;: &quot;FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">11</span> &quot;input&quot;: &quot;Explain quantum computing in simple terms&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">12</span> &quot;stream&quot;: false<!-- -->
<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>
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">16</span>fetch(url, options)<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">17</span> .then(async (response) =&gt; {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">18</span> if (!response.ok) {<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">19</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">20</span> }<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">21</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">22</span> console.log(text);<!-- -->
<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> .catch((error) =&gt; console.error(error));<!-- -->
<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="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> &quot;$LANGFLOW_SERVER_URL/api/v1/responses&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">3</span> -H &quot;x-api-key: $LANGFLOW_API_KEY&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">4</span> -H &quot;Content-Type: application/json&quot; \<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">5</span> -d &#x27;{<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">6</span> &quot;model&quot;: &quot;FLOW_ID&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">7</span> &quot;input&quot;: &quot;Explain quantum computing in simple terms&quot;,<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">8</span> &quot;stream&quot;: false<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">9</span> }&#x27;<!-- -->
<span class="ch-code-line-number" style="width:2ch;margin-right:1.5ch;display:inline-block;text-align:right">10</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><details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Response with token usage</summary><div><div class="collapsibleContent_i85q"><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">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: &quot;a1b2c3d4-e5f6-7890-abcd-ef1234567890&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;object&quot;: &quot;response&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;created_at&quot;: 1756837941,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;model&quot;: &quot;ced2ec91-f325-4bf0-8754-f3198c2b1563&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;output&quot;: [</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;message&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;id&quot;: &quot;msg_a1b2c3d4-e5f6-7890-abcd-ef1234567890&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;status&quot;: &quot;completed&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;role&quot;: &quot;assistant&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;content&quot;: [</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;type&quot;: &quot;output_text&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;text&quot;: &quot;Quantum computing is a type of computing that uses quantum mechanical phenomena...&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;annotations&quot;: []</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;usage&quot;: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;prompt_tokens&quot;: 12,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;completion_tokens&quot;: 145,</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;total_tokens&quot;: 157</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span> &quot;previous_response_id&quot;: null</span></div></div><div><span class="ch-code-line-number">_<!-- -->28</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div></div></div></details></div></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="/workflow-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Workflow API (Beta)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api-flows"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Flow management endpoints</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="#additional-configuration-for-openai-client-libraries" class="table-of-contents__link toc-highlight">Additional configuration for OpenAI client libraries</a></li></ul></li><li><a href="#example-request" class="table-of-contents__link toc-highlight">Example request</a><ul><li><a href="#headers" class="table-of-contents__link toc-highlight">Headers</a></li><li><a href="#request-body" class="table-of-contents__link toc-highlight">Request body</a></li></ul></li><li><a href="#example-response" class="table-of-contents__link toc-highlight">Example response</a><ul><li><a href="#response-body" class="table-of-contents__link toc-highlight">Response body</a></li></ul></li><li><a href="#example-streaming-request" class="table-of-contents__link toc-highlight">Example streaming request</a><ul><li><a href="#streaming-response-body" class="table-of-contents__link toc-highlight">Streaming response body</a></li></ul></li><li><a href="#response-id" class="table-of-contents__link toc-highlight">Continue conversations with response and session IDs</a></li><li><a href="#tool-call-results" class="table-of-contents__link toc-highlight">Retrieve tool call results</a></li><li><a href="#token-usage-tracking" class="table-of-contents__link toc-highlight">Token usage tracking</a></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"> ·&nbsp; <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>