List workflow runs
curl --request GET \
--url https://api.langdock.com/workflows/v1/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/workflows/v1/runs"
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/runs', 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/runs",
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/runs"
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/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/workflows/v1/runs")
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
Workflow-Ausführungen auflisten
Lies paginierte Workflow-Ausführungen mit Node-Eingaben, Ausgaben, Fehlern und Logs
GET
/
workflows
/
v1
/
runs
List workflow runs
curl --request GET \
--url https://api.langdock.com/workflows/v1/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/workflows/v1/runs"
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/runs', 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/runs",
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/runs"
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/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/workflows/v1/runs")
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_bodyGibt paginierte Ausführungen und Node-Ausführungen für einen Workflow zurück, den der API-Key-User bearbeiten kann. Nutze diesen Pfad, wenn du Filter wie Test gegen Produktion oder einen Cursor brauchst. Der flache, datumsbegrenzte Export ist ein anderer Vertrag unter Workflow-Ausführungs-Export-API.
Nicht verfügbare Action- oder Agent-Daten werden redigiert. Ausführungs-Payloads folgen dem Payload-Limit der Workflow API.
Basis-URL
https://api.langdock.com/workflows/v1/runs
Dedicated DeploymentsErsetze
api.langdock.com durch <your-deployment-url>/api/public in allen Anfragen.Erforderliche Scopes
Dieser Endpoint erfordert denWORKFLOW_API Scope (Workflow-Lese-API) und Bearbeiterzugriff.
Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workflowId | string | Ja | UUID des Workflows. |
limit | integer | Nein | Anzahl der zurückzugebenden Ausführungen. Standard: 50. Maximum: 100. |
cursor | string | Nein | Run-UUID aus nextCursor der vorherigen Antwort. |
runId | string | Nein | Filter auf eine einzelne Run-UUID. |
runMode | string | Nein | test oder production. Muss zu version passen, wenn beide gesetzt sind: test mit 0, Produktion mit einer veröffentlichten Version. |
status | string | Nein | Ausführungsstatus: PENDING, IN_PROGRESS, AWAITING_INPUT, COMPLETED, FAILED oder CANCELLED. |
from | string | Nein | Start des Erstellungszeitraums. ISO-8601-Zeitstempel oder YYYY-MM-DD. Muss zusammen mit to gesendet werden. Ein reines Datum startet um 00:00:00.000 UTC. |
to | string | Nein | Ende des Erstellungszeitraums. Muss gleich oder später als from sein. Ein reines Datum endet um 23:59:59.999 UTC. |
version | string | Nein | Workflow-Version der Ausführung. Version 0 ist der Entwurf für Testläufe. |
Beispiel
const axios = require("axios");
async function listWorkflowRuns(workflowId) {
const response = await axios.get(
"https://api.langdock.com/workflows/v1/runs",
{
params: {
workflowId,
runMode: "production",
limit: 50
},
headers: {
Authorization: "Bearer YOUR_API_KEY"
}
}
);
console.log("Runs:", response.data.runs.length);
return response.data.nextCursor;
}
listWorkflowRuns("550e8400-e29b-41d4-a716-446655440000");
Antwortformat
Erfolgreiche Antwort (200 OK)
{
runs: Array<{
id: string;
runNumber: number;
status: string;
createdAt: string;
updatedAt: string;
isTestRun: boolean;
isExecutionDataExpired: boolean;
workflowVersion: {
id: string;
version: string;
nodes: Array<object>;
edges: Array<object>;
};
executions: Array<{
id: string;
workflowNodeId: string;
createdAt: string;
updatedAt: string;
status: string;
input: unknown;
output: unknown;
inputError: unknown;
outputError: unknown;
logs: unknown;
durationMs: number;
executionDataExpiredAt: string | null;
accessDenied: boolean;
}>;
tags: Array<{ key: string; displayValue: string | null }>;
rerunOf: { id: string; runNumber: number } | null;
originalRerunOf: { id: string; runNumber: number } | null;
}>;
nextCursor?: string;
hasWaitingForInput: boolean;
}
Fehlerbehandlung
| Statuscode | Beschreibung |
|---|---|
| 400 | Ungültige Query, from ohne to, to früher als from, oder runMode, das nicht zu version passt |
| 401 | Ungültiger oder fehlender API-Key |
| 403 | Fehlender WORKFLOW_API Scope oder Bearbeiterzugriff. Ein fehlender Workflow, eine Vorlage oder ein Workflow in einem anderen Workspace gibt denselben Status zurück. |
| 429 | Rate Limit überschritten |
| 500 | Interner Serverfehler |
Langdock blockiert bewusst Browser-basierte Anfragen, um deinen API-Schlüssel zu schützen und die Sicherheit deiner Anwendungen zu gewährleisten. Weitere Informationen findest du in unserem Guide zu Best Practices für API-Schlüssel.
Autorisierungen
API key as Bearer token. Format "Bearer YOUR_API_KEY"
Abfrageparameter
UUID of the workflow.
Number of runs to return.
Erforderlicher Bereich:
1 <= x <= 100Run UUID from nextCursor in the previous response.
Filter to a single run UUID.
Verfügbare Optionen:
test, production Verfügbare Optionen:
PENDING, IN_PROGRESS, AWAITING_INPUT, COMPLETED, FAILED, CANCELLED Start of the run creation range. ISO 8601 timestamp or YYYY-MM-DD. Must be sent together with to.
End of the run creation range. Must be equal to or later than from.
Workflow version used for the run. Version 0 is the draft used for test runs.
Antwort
Workflow runs returned successfully
War diese Seite hilfreich?