Export workflow run data
curl --request GET \
--url https://api.langdock.com/workflows/{workflowId}/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/workflows/{workflowId}/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/{workflowId}/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/{workflowId}/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/{workflowId}/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/{workflowId}/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/workflows/{workflowId}/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_body{
"data": [
{
"run_id": "7d2a1c4e-2f6a-4b9f-8c31-1a6d8e4f2b90",
"run_number": 42,
"run_status": "COMPLETED",
"run_created_at": "2026-08-12T09:15:00.000Z",
"run_updated_at": "2026-08-12T09:15:08.000Z",
"workflow_version": "3",
"trigger_mode": "WEBHOOK",
"node_execution_id": "2b8c1d4e-6f7a-4b90-9c12-3d5e7f8a1b20",
"node_id": "9c1f2d3e-7a4b-4c58-8d19-2e6f0b7a4c31",
"node_type": "agent",
"node_status": "COMPLETED",
"node_created_at": "2026-08-12T09:15:01.000Z",
"node_updated_at": "2026-08-12T09:15:06.000Z",
"failure_code": null,
"input": {
"customer_id": "customer-42"
},
"input_error": null,
"output": {
"category": "support"
},
"output_error": null,
"logs": [],
"data_redacted": false,
"execution_data_expired_at": null
}
]
}{
"message": "Workflow run exports are limited to 10,000 runs. Select a smaller date range.",
"code": "WORKFLOW_RUN_EXPORT_LIMIT_EXCEEDED",
"details": {
"maxRuns": 10000
}
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}Workflow-Ausführungs-Export-API
Workflow-Ausführungs-Export-API
Exportiere Daten zu Workflow-Ausführungen und Node-Ausführungen als JSON für Analysen und Debugging.
GET
/
workflows
/
{workflowId}
/
runs
Export workflow run data
curl --request GET \
--url https://api.langdock.com/workflows/{workflowId}/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/workflows/{workflowId}/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/{workflowId}/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/{workflowId}/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/{workflowId}/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/{workflowId}/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/workflows/{workflowId}/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_body{
"data": [
{
"run_id": "7d2a1c4e-2f6a-4b9f-8c31-1a6d8e4f2b90",
"run_number": 42,
"run_status": "COMPLETED",
"run_created_at": "2026-08-12T09:15:00.000Z",
"run_updated_at": "2026-08-12T09:15:08.000Z",
"workflow_version": "3",
"trigger_mode": "WEBHOOK",
"node_execution_id": "2b8c1d4e-6f7a-4b90-9c12-3d5e7f8a1b20",
"node_id": "9c1f2d3e-7a4b-4c58-8d19-2e6f0b7a4c31",
"node_type": "agent",
"node_status": "COMPLETED",
"node_created_at": "2026-08-12T09:15:01.000Z",
"node_updated_at": "2026-08-12T09:15:06.000Z",
"failure_code": null,
"input": {
"customer_id": "customer-42"
},
"input_error": null,
"output": {
"category": "support"
},
"output_error": null,
"logs": [],
"data_redacted": false,
"execution_data_expired_at": null
}
]
}{
"message": "Workflow run exports are limited to 10,000 runs. Select a smaller date range.",
"code": "WORKFLOW_RUN_EXPORT_LIMIT_EXCEEDED",
"details": {
"maxRuns": 10000
}
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}{
"message": "<string>",
"code": "<string>",
"details": {},
"errors": [
{}
]
}Verwende die Workflow-Ausführungs-Export-API, um Daten zu Workflow-Ausführungen und Node-Ausführungen als JSON zu exportieren. Jede Zeile enthält Metadaten zur Ausführung, den Status der Node-Ausführung und detaillierte Ausführungsdaten, wenn du auf die Node zugreifen kannst.
Du erhältst eine Zeile für jede Node-Ausführung. Eine Ausführung ohne Node-Ausführungen gibt eine Zeile mit
Ersetze bei einem Dedicated Deployment
Füge bei vollständigen Zeitstempeln
Die Zeilen sind vom ältesten zum neuesten Erstellungszeitpunkt der Workflow-Ausführung und dann nach dem Erstellungszeitpunkt der Node-Ausführung sortiert. Der Endpunkt verwendet keine Pagination. Verwende einen kürzeren Zeitraum, um die Antwort zu verkleinern.
Die Felder
Fehlerhafte Query-Parameter geben
Bevor du startest
Bevor du startest, stelle sicher, dass du Folgendes hast:- Workspace-API-Schlüssel: Erstelle einen Workspace-API-Schlüssel mit dem
WORKFLOW_APIScope unter Einstellungen > Workspace > Produkte > API. Persönliche API-Schlüssel unterstützen nur die Completion APIs. Mehr dazu findest du unter Persönliche API-Keys. - Workflow-Zugriff: Der API-Schlüssel muss zu einem Workflow-Besitzer oder Bearbeiter gehören. Workspace-Administratoren können auch ohne eine Workflow-Freigabe auf Workflows zugreifen. Eine Freigabe mit der Rolle Benutzer gewährt keinen Zugriff auf diesen Endpunkt, auch nicht für Workspace-Administratoren.
Der API-Schlüssel eines Workspace-Administrators kann Daten im gesamten Workspace exportieren. Ein API-Schlüssel eines Nichtadministrators ist auf Workflows begrenzt, die diese Person besitzt oder bearbeiten darf. Gewähre diesen Scope nur vertrauenswürdigen Personen.
Basis-URL
- Langdock Cloud
- Dedicated Deployment
https://api.langdock.com
https://<deine-domain>/api/public
Endpunkt
GET /workflows/{workflowId}/runs
null in den Node-Feldern zurück.
Authentifizierung
Sende deinen API-Schlüssel als Bearer-Token:cURL
curl "https://api.langdock.com/workflows/550e8400-e29b-41d4-a716-446655440000/runs?from=2026-08-01&to=2026-08-31" \
-H "Authorization: Bearer YOUR_API_KEY"
https://api.langdock.com durch die Basis-URL deines Deployments.
Parameter
| Parameter | Ort | Typ | Erforderlich | Beschreibung |
|---|---|---|---|---|
workflowId | Pfad | string | Ja | ID des zu exportierenden Workflows. Muss eine gültige GUID sein. |
from | Query | string | Ja | Beginn des Exportzeitraums für den Erstellungszeitpunkt der Ausführung. Verwende ein ISO-8601-Datum oder einen Zeitstempel. Ein Datum ohne Uhrzeit beginnt um 00:00:00.000 UTC. |
to | Query | string | Ja | Ende des Exportzeitraums für den Erstellungszeitpunkt der Ausführung. Verwende ein ISO-8601-Datum oder einen Zeitstempel. Ein Datum ohne Uhrzeit endet um 23:59:59.999 UTC. Der Wert muss gleich oder später als from sein. |
Z oder einen expliziten UTC-Offset hinzu. Ein Zeitstempel ohne Zeitzone wird in der lokalen Zeitzone des Servers interpretiert. Beide Datumswerte sind erforderlich. Die API verwendet keinen Standardzeitraum. Du erhältst alle Node-Ausführungen einer passenden Workflow-Ausführung, auch wenn die Node-Ausführung außerhalb des Zeitraums liegt.
Antwort
Du erhältst eindata-Array mit flachen Zeilen zu Workflow-Ausführungen und Node-Ausführungen:
Erfolg
{
"data": [
{
"run_id": "7d2a1c4e-2f6a-4b9f-8c31-1a6d8e4f2b90",
"run_number": 42,
"run_status": "COMPLETED",
"run_created_at": "2026-08-12T09:15:00.000Z",
"run_updated_at": "2026-08-12T09:15:08.000Z",
"workflow_version": "3",
"trigger_mode": "WEBHOOK",
"node_execution_id": "2b8c1d4e-6f7a-4b90-9c12-3d5e7f8a1b20",
"node_id": "9c1f2d3e-7a4b-4c58-8d19-2e6f0b7a4c31",
"node_type": "agent",
"node_status": "COMPLETED",
"node_created_at": "2026-08-12T09:15:01.000Z",
"node_updated_at": "2026-08-12T09:15:06.000Z",
"failure_code": null,
"input": {
"customer_id": "customer-42"
},
"input_error": null,
"output": {
"category": "support"
},
"output_error": null,
"logs": [],
"data_redacted": false,
"execution_data_expired_at": null
}
]
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
run_id | string | ID der Workflow-Ausführung. |
run_number | number | Fortlaufende Nummer der Ausführung innerhalb des Workflows. |
run_status | string | Status der Workflow-Ausführung: PENDING, IN_PROGRESS, AWAITING_INPUT, COMPLETED, FAILED oder CANCELLED. |
run_created_at | string | Erstellungszeit der Workflow-Ausführung im ISO-8601-Format. |
run_updated_at | string | Zeitpunkt der letzten Aktualisierung der Workflow-Ausführung im ISO-8601-Format. |
workflow_version | string | Für die Ausführung verwendete Workflow-Version. Version 0 ist die Entwurfsversion des Workflows. Der öffentliche Endpunkt bietet keinen Filter für Test- oder Produktionsausführungen. |
trigger_mode | string oder null | Modus, der die Ausführung gestartet hat: WEBHOOK, FORM, SCHEDULED, INTEGRATION_POLLING oder MANUAL. |
node_execution_id | string oder null | ID der Node-Ausführung. |
node_id | string oder null | ID der Workflow-Node. |
node_type | string oder null | Typ der Workflow-Node. |
node_status | string oder null | Status der Node-Ausführung: NONE, IN_PROGRESS, AWAITING_INPUT, COMPLETED, FAILED oder CANCELLED. |
node_created_at | string oder null | Erstellungszeit der Node-Ausführung im ISO-8601-Format. |
node_updated_at | string oder null | Zeitpunkt der letzten Aktualisierung der Node-Ausführung im ISO-8601-Format. |
failure_code | string oder null | Fehlercode, wenn die Node-Ausführung fehlschlägt. |
input | JSON-Wert oder null | Eingabedaten der Node-Ausführung. |
input_error | JSON-Wert oder null | Fehlerdaten der Node-Eingabe. |
output | JSON-Wert oder null | Ausgabedaten der Node-Ausführung. |
output_error | JSON-Wert oder null | Fehlerdaten der Node-Ausgabe. |
logs | JSON-Wert oder null | Während der Node-Ausführung erstellte Logs. |
data_redacted | boolean | Gibt an, ob die API Payload-Felder ausgelassen hat, weil du nicht auf die Node-Daten zugreifen kannst oder der Endpunkt den Zugriff darauf nicht feststellen kann. |
execution_data_expired_at | string oder null | Zeitpunkt, zu dem detaillierte Ausführungsdaten abgelaufen sind, im ISO-8601-Format. |
input und output sind bei Ausführungsdaten, die älter als 30 Tage sind, null. Alle fünf Payload-Felder sind null, wenn der Endpunkt keinen Zugriff auf die Node-Daten feststellen kann. Das kann passieren, wenn dein Workflow-Zugriff die von der Ausführung verwendete Action oder den Agenten nicht einschließt. Die API setzt data_redacted in diesem Fall auf true.
Bei Payload-Werten über 16.000 Bytes gibt die API einen Kürzungsmarker zurück. Der Marker enthält ein _truncated-Objekt mit den Feldern originalBytes, maxBytes und message.
Die Antwort enthält nicht die Identität der Person oder Gruppe, die eine Ausführung gestartet hat.
Limits und Aufbewahrung
- Jede Anfrage kann bis zu 10.000 Workflow-Ausführungen exportieren.
- Eingabe- und Ausgabedaten werden 30 Tage lang aufbewahrt.
- Die Payload-Daten einer Antwort sind auf 8.000.000 Bytes begrenzt.
400 Bad Request mit dem Code WORKFLOW_RUN_EXPORT_LIMIT_EXCEEDED zurück. Wenn die Payload-Daten 8.000.000 Bytes überschreiten, gibt sie 400 Bad Request mit dem Code WORKFLOW_RUN_EXPORT_TOO_LARGE zurück. Verwende einen kürzeren Zeitraum, um beide Fehler zu vermeiden.
Rate Limits
Der Endpunkt erlaubt 500 Anfragen pro Minute je Workspace und API-Schlüssel. Anfragen über diesem Limit geben429 Too Many Requests zurück.
Fehlerbehandlung
| Statuscode | Beschreibung |
|---|---|
400 | Die Anfrage ist ungültig. Dazu gehören eine ungültige Workflow-ID oder ein ungültiges Datum, ein to-Wert vor from, ein Export mit mehr als 10.000 Ausführungen oder Payload-Daten über 8.000.000 Bytes. |
401 | Der API-Schlüssel fehlt oder ist ungültig. |
403 | Der API-Schlüssel hat nicht den WORKFLOW_API Scope oder sein Besitzer ist nicht der Workflow-Besitzer, Bearbeiter oder Workspace-Administrator. Eine Freigabe mit der Rolle Benutzer gewährt keinen Zugriff, auch nicht für Workspace-Administratoren. |
405 | Die Anfrage verwendet eine andere Methode als GET. |
429 | Der Workspace und der API-Schlüssel haben das Anfrage-Limit überschritten. |
500 | Ein unerwarteter Serverfehler ist aufgetreten. |
Fehler
{
"message": "Workflow run exports are limited to 10,000 runs. Select a smaller date range.",
"code": "WORKFLOW_RUN_EXPORT_LIMIT_EXCEEDED",
"details": {
"maxRuns": 10000
}
}
{"message":"Invalid request","errors":[...]} ohne code-Feld zurück. Ein ungültiges Datum oder ein to-Wert vor from gibt code: "BAD_REQUEST" zurück.
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 den Best Practices für API-Schlüssel.
Autorisierungen
API key as Bearer token. Format "Bearer YOUR_API_KEY"
Pfadparameter
ID of the workflow to export.
Abfrageparameter
Start of the export range. Use an ISO 8601 date or timestamp. A date-only value starts at 00:00:00.000 UTC.
End of the export range. Use an ISO 8601 date or timestamp. A date-only value ends at 23:59:59.999 UTC.
Antwort
Workflow run export
Flattened workflow run and node execution rows.
Show child attributes
Show child attributes
War diese Seite hilfreich?