List workflows
curl --request GET \
--url https://api.langdock.com/workflows/v1/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/workflows/v1/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.langdock.com/workflows/v1/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.langdock.com/workflows/v1/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.langdock.com/workflows/v1/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.langdock.com/workflows/v1/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/workflows/v1/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyWorkflow API
List Workflows
List workflows the API key can see in your workspace
GET
/
workflows
/
v1
/
list
List workflows
curl --request GET \
--url https://api.langdock.com/workflows/v1/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/workflows/v1/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.langdock.com/workflows/v1/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.langdock.com/workflows/v1/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.langdock.com/workflows/v1/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.langdock.com/workflows/v1/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/workflows/v1/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyReturns non-template workflows visible to the API key user. Workspace admin identities, including workspace API keys, receive every non-template workflow in the workspace.
List items do not include the graph. Use Get a workflow for draft and published nodes.
Base URL
https://api.langdock.com/workflows/v1/list
Dedicated deploymentsReplace
api.langdock.com with <your-deployment-url>/api/public in all requests.Required scopes
This endpoint requires theWORKFLOW_API scope (Workflow Read API).
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Number of workflows to return. Default: 50. Maximum: 250. |
cursor | string | No | Workflow UUID from nextCursor in the previous response. |
Example
const axios = require("axios");
async function listWorkflows() {
const response = await axios.get(
"https://api.langdock.com/workflows/v1/list",
{
params: { limit: 50 },
headers: {
Authorization: "Bearer YOUR_API_KEY"
}
}
);
console.log("Workflows:", response.data.workflows);
return response.data.nextCursor;
}
listWorkflows();
Response format
Success response (200 OK)
{
workflows: Array<{
id: string;
name: string;
description: string | null;
status: "ACTIVE" | "INACTIVE";
timezone: string | null;
createdAt: string;
updatedAt: string;
createdBy: string;
owner: { id: string; name: string | null };
accessRole: "user" | "editor" | "owner";
hasPublishedVersion: boolean;
activeVersion: { id: string; version: string } | null;
}>;
nextCursor?: string;
}
Error handling
| Status code | Description |
|---|---|
| 400 | Invalid query parameter |
| 401 | Invalid or missing API key |
| 403 | Missing WORKFLOW_API scope |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
Langdock intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on API Key Best Practices.
Authorizations
API key as Bearer token. Format "Bearer YOUR_API_KEY"
Query Parameters
Number of workflows to return.
Required range:
1 <= x <= 250Workflow UUID from nextCursor in the previous response.
Response
Workflows returned successfully
Was this page helpful?