docs/versioned_docs/version-1.9.0/API-Reference/api-flows.mdx
import CodeBlock from '@theme/CodeBlock'; import exampleApiFlowsCreateFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/create-flow.sh'; import resultApiFlowsResultCreateFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/result-create-flow.json'; import exampleApiFlowsCreateFlows from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/create-flows.sh'; import exampleApiFlowsReadFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/read-flow.sh'; import resultApiFlowsResultReadFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/result-read-flow.json'; import exampleApiFlowsReadFlows from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/read-flows.sh'; import exampleApiFlowsReadFlows2 from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/read-flows-2.sh'; import exampleApiFlowsReadSampleFlows from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/read-sample-flows.sh'; import exampleApiFlowsUpdateFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/update-flow.sh'; import resultApiFlowsResultUpdateFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/result-update-flow.json'; import exampleApiFlowsDeleteFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/delete-flow.sh'; import resultApiFlowsResultDeleteFlow from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/result-delete-flow.json'; import exampleApiFlowsExportFlows from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/export-flows.sh'; import resultApiFlowsResultExportFlows from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/result-export-flows.txt'; import exampleApiFlowsImportFlows from '!!raw-loader!@site/docs/API-Reference/curl-examples/api-flows/import-flows.sh'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import examplePythonApiFlowsCreateFlow from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/create-flow.py'; import exampleJavascriptApiFlowsCreateFlow from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/create-flow.js'; import examplePythonApiFlowsCreateFlows from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/create-flows.py'; import exampleJavascriptApiFlowsCreateFlows from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/create-flows.js'; import examplePythonApiFlowsReadFlow from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/read-flow.py'; import exampleJavascriptApiFlowsReadFlow from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/read-flow.js'; import examplePythonApiFlowsReadFlows from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/read-flows.py'; import exampleJavascriptApiFlowsReadFlows from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/read-flows.js'; import examplePythonApiFlowsReadFlows2 from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/read-flows-2.py'; import exampleJavascriptApiFlowsReadFlows2 from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/read-flows-2.js'; import examplePythonApiFlowsReadSampleFlows from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/read-sample-flows.py'; import exampleJavascriptApiFlowsReadSampleFlows from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/read-sample-flows.js'; import examplePythonApiFlowsUpdateFlow from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/update-flow.py'; import exampleJavascriptApiFlowsUpdateFlow from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/update-flow.js'; import examplePythonApiFlowsDeleteFlow from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/delete-flow.py'; import exampleJavascriptApiFlowsDeleteFlow from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/delete-flow.js'; import examplePythonApiFlowsExportFlows from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/export-flows.py'; import exampleJavascriptApiFlowsExportFlows from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/export-flows.js'; import examplePythonApiFlowsImportFlows from '!!raw-loader!@site/docs/API-Reference/python-examples/api-flows/import-flows.py'; import exampleJavascriptApiFlowsImportFlows from '!!raw-loader!@site/docs/API-Reference/javascript-examples/api-flows/import-flows.js';
Use the /flows endpoint to create, read, update, and delete flows.
If you want to use the Langflow API to run a flow, see Flow trigger endpoints.
Creates a new flow.
<Tabs> <TabItem value="Python" label="Python" default><CodeBlock language="python">{examplePythonApiFlowsCreateFlow}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsCreateFlow}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsCreateFlow}</CodeBlock>
</TabItem> </Tabs> <details> <summary>Result</summary><CodeBlock language="json">{resultApiFlowsResultCreateFlow}</CodeBlock>
</details>Creates multiple new flows, returning an array of flow objects.
<Tabs> <TabItem value="Python" label="Python" default><CodeBlock language="python">{examplePythonApiFlowsCreateFlows}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsCreateFlows}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsCreateFlows}</CodeBlock>
</TabItem> </Tabs>Retrieves a specific flow by its ID.
<Tabs> <TabItem value="Python" label="Python" default><CodeBlock language="python">{examplePythonApiFlowsReadFlow}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsReadFlow}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsReadFlow}</CodeBlock>
</TabItem> </Tabs> <details> <summary>Result</summary><CodeBlock language="json">{resultApiFlowsResultReadFlow}</CodeBlock>
</details>Returns a JSON object containing a list of flows.
Retrieve all flows with pagination:
<Tabs> <TabItem value="Python" label="Python" default><CodeBlock language="python">{examplePythonApiFlowsReadFlows}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsReadFlows}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsReadFlows}</CodeBlock>
</TabItem> </Tabs>To retrieve flows from a specific project, use the project_id query parameter:
<CodeBlock language="python">{examplePythonApiFlowsReadFlows2}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsReadFlows2}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsReadFlows2}</CodeBlock>
</TabItem> </Tabs>Retrieves a list of sample flows:
<Tabs> <TabItem value="Python" label="Python" default><CodeBlock language="python">{examplePythonApiFlowsReadSampleFlows}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsReadSampleFlows}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsReadSampleFlows}</CodeBlock>
</TabItem> </Tabs>Updates an existing flow by its ID.
This example changes the value for endpoint_name from a random UUID to my_new_endpoint_name.
<CodeBlock language="python">{examplePythonApiFlowsUpdateFlow}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsUpdateFlow}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsUpdateFlow}</CodeBlock>
</TabItem> </Tabs> <details> <summary>Result</summary><CodeBlock language="json">{resultApiFlowsResultUpdateFlow}</CodeBlock>
</details>Deletes a specific flow by its ID.
<Tabs> <TabItem value="Python" label="Python" default><CodeBlock language="python">{examplePythonApiFlowsDeleteFlow}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsDeleteFlow}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsDeleteFlow}</CodeBlock>
</TabItem> </Tabs> <details> <summary>Result</summary><CodeBlock language="json">{resultApiFlowsResultDeleteFlow}</CodeBlock>
</details>Exports specified flows to a ZIP file.
This endpoint downloads a ZIP file containing Langflow JSON files for each flow ID listed in the request body.
<Tabs> <TabItem value="Python" label="Python" default><CodeBlock language="python">{examplePythonApiFlowsExportFlows}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsExportFlows}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsExportFlows}</CodeBlock>
</TabItem> </Tabs> <details> <summary>Result</summary><CodeBlock language="text">{resultApiFlowsResultExportFlows}</CodeBlock>
</details>Imports flows by uploading a Langflow-compatible JSON file.
To specify a target project for the flow, include the query parameter folder_id.
The target folder_id must already exist before uploading a flow. Call the /api/v1/projects/ endpoint for a list of available folders and projects.
This example uploads a local file named agent-with-astra-db-tool.json to a folder specified by a FOLDER_ID variable:
<CodeBlock language="python">{examplePythonApiFlowsImportFlows}</CodeBlock>
</TabItem> <TabItem value="JavaScript" label="JavaScript"><CodeBlock language="javascript">{exampleJavascriptApiFlowsImportFlows}</CodeBlock>
</TabItem> <TabItem value="curl" label="curl"><CodeBlock language="bash">{exampleApiFlowsImportFlows}</CodeBlock>
</TabItem> </Tabs> <details> <summary>Result</summary>[
{
"name": "agent-with-astra-db-tool",
"description": "",
"icon": null,
"icon_bg_color": null,
"gradient": null,
"data": {}
...
}
]