Get flow run by UUID
curl --request GET \
--url https://api.edges.run/v1/flows/runs/{flow_run_uid} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.edges.run/v1/flows/runs/{flow_run_uid}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.edges.run/v1/flows/runs/{flow_run_uid}', 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.edges.run/v1/flows/runs/{flow_run_uid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.edges.run/v1/flows/runs/{flow_run_uid}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.edges.run/v1/flows/runs/{flow_run_uid}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.edges.run/v1/flows/runs/{flow_run_uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_error": {
"label": "<string>",
"message": "<string>"
},
"callback": {
"url": "<string>"
},
"status": "CREATED",
"output_count": 0,
"scheduled_flow_run_uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow": {
"uid": "<string>",
"metadata": {
"account_rotation": true
},
"steps": [
{
"uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "CREATED",
"started_at": "<string>",
"finished_at": "<string>",
"error": {
"label": "<string>",
"message": "<string>"
}
}
]
},
"started_at": "<string>",
"finished_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}Flow Runs
Get Flow Run
Retrieve detailed information about a specific flow run by its UID
GET
/
flows
/
runs
/
{flow_run_uid}
Get flow run by UUID
curl --request GET \
--url https://api.edges.run/v1/flows/runs/{flow_run_uid} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.edges.run/v1/flows/runs/{flow_run_uid}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.edges.run/v1/flows/runs/{flow_run_uid}', 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.edges.run/v1/flows/runs/{flow_run_uid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.edges.run/v1/flows/runs/{flow_run_uid}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.edges.run/v1/flows/runs/{flow_run_uid}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.edges.run/v1/flows/runs/{flow_run_uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_error": {
"label": "<string>",
"message": "<string>"
},
"callback": {
"url": "<string>"
},
"status": "CREATED",
"output_count": 0,
"scheduled_flow_run_uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow": {
"uid": "<string>",
"metadata": {
"account_rotation": true
},
"steps": [
{
"uid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "CREATED",
"started_at": "<string>",
"finished_at": "<string>",
"error": {
"label": "<string>",
"message": "<string>"
}
}
]
},
"started_at": "<string>",
"finished_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}Retrieve detailed information about a specific flow run using its unique identifier (UID).
This endpoint provides complete status information, timing details, error messages, and workflow metadata for a single flow run.
Use Cases:
- Check the current status of a flow run you started
- Monitor progress of long-running flows
- Retrieve error details when a flow fails
- Get timing information (started_at, finished_at) for performance analysis
We recommend using callbacks instead of polling this endpoint. Callbacks are highly available, have higher success rates, and are rate-limited for reliability. Polling is not super efficient and can be rate-limited.When you create a flow run, configure a
callback URL to receive results automatically. You can monitor callback delivery using the List Callbacks endpoint if you need additional monitoring.Authorizations
Path Parameters
Flow Run UUID
Query Parameters
Whether to include the run step status in the response
Response
Returns the flow run
Returns the flow run
Flow Run UUID
Member/User UUID
Workspace UUID
Last error message
Show child attributes
Show child attributes
Callback
Show child attributes
Show child attributes
Flow Run status
Available options:
CREATED, INVALID, QUEUED, SCHEDULED, BLOCKED, STOPPED, RUNNING, FAILED, PARTIAL_SUCCEEDED, SUCCEEDED Number of outputs generated by the flow run (only available when the flow run is finished)
If the flow run is scheduled, this field indicates the scheduled flow run UUID.
Workflow schema
Show child attributes
Show child attributes
Started at
Finished at
Created at
Updated at

