Workflow Run API
Get Workflow Run Task
Get the full (size-capped) input and output for a single task (step) of a workflow run. Use after ListWorkflowRunTasks to drill into a specific step when debugging a failure.
GET
/
v2
/
workflow-runs
/
{workflow_run_id}
/
tasks
/
{step_number}
Get Workflow Run Task
curl --request GET \
--url https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number} \
--header 'Authorization: Bearer <token>'import requests
url = "https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}', 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://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}",
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://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}"
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://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}")
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": {
"stepNumber": 123,
"taskName": "<string>",
"functionName": "<string>",
"input": "<string>",
"output": "<string>",
"inputTruncated": true,
"outputTruncated": true
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the workflow run containing the task.
The step number of the task to fetch (from ListWorkflowRunTasks).
Response
Success
The task detail.
Show child attributes
Show child attributes
Was this page helpful?
⌘I
Get Workflow Run Task
curl --request GET \
--url https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number} \
--header 'Authorization: Bearer <token>'import requests
url = "https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}', 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://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}",
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://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}"
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://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/workflow-runs/{workflow_run_id}/tasks/{step_number}")
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": {
"stepNumber": 123,
"taskName": "<string>",
"functionName": "<string>",
"input": "<string>",
"output": "<string>",
"inputTruncated": true,
"outputTruncated": true
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}
