curl --request GET \
--url https://api.deck.co/v2/task-runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.deck.co/v2/task-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.deck.co/v2/task-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.deck.co/v2/task-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.deck.co/v2/task-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.deck.co/v2/task-runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deck.co/v2/task-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": [
{
"id": "trun_AbC123xYz456",
"object": "<string>",
"status": "<string>",
"result": "<string>",
"task_id": "<string>",
"trigger_id": "<string>",
"credential_id": "<string>",
"session_id": "<string>",
"agent_id": "<string>",
"source_id": "<string>",
"runtime_ms": 123,
"output": "<unknown>",
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"interaction": "<unknown>",
"created_at": "2026-08-24T12:00:00Z",
"updated_at": "2026-08-24T12:00:00Z"
}
],
"has_more": true,
"next_cursor": "<string>",
"request_id": "<string>"
}{
"errors": {},
"type": "<string>",
"title": "<string>",
"status": 123,
"traceId": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}List task runs
Returns a paginated list of task runs. Supports filtering by agent, credential, source, task, workflow, status, result, and date range.
curl --request GET \
--url https://api.deck.co/v2/task-runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.deck.co/v2/task-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.deck.co/v2/task-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.deck.co/v2/task-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.deck.co/v2/task-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.deck.co/v2/task-runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deck.co/v2/task-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": [
{
"id": "trun_AbC123xYz456",
"object": "<string>",
"status": "<string>",
"result": "<string>",
"task_id": "<string>",
"trigger_id": "<string>",
"credential_id": "<string>",
"session_id": "<string>",
"agent_id": "<string>",
"source_id": "<string>",
"runtime_ms": 123,
"output": "<unknown>",
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"interaction": "<unknown>",
"created_at": "2026-08-24T12:00:00Z",
"updated_at": "2026-08-24T12:00:00Z"
}
],
"has_more": true,
"next_cursor": "<string>",
"request_id": "<string>"
}{
"errors": {},
"type": "<string>",
"title": "<string>",
"status": 123,
"traceId": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}{
"errors": [
{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"request_id": "<string>"
}Authorizations
Secret key (sk_live_...)
Query Parameters
Maximum number of items to return (1-100, default 20)
1 <= x <= 10020
Cursor from a previous response for pagination.
Filter by status: queued, running, canceling, interaction_required, review_required, completed, canceled, failed. Pass multiple values comma-separated (e.g. ?status=a,b); repeated keys are also accepted.
Filter by source ID. Pass multiple values comma-separated (e.g. ?source_id=a,b); repeated keys are also accepted.
Filter by run result: success, failure, unknown. Maps to the result field on the task run object. Pass multiple values comma-separated (e.g. ?outcome=a,b); repeated keys are also accepted.
Unique identifier for the agent (prefixed with agt_).
^agt_"agt_AbC123xYz456"
Unique identifier for the credential (prefixed with cred_).
^cred_"cred_AbC123xYz456"
Unique identifier for the task (prefixed with task_).
^task_"task_AbC123xYz456"
Filter by workflow ID. Workflow management endpoints are not yet publicly available; workflow IDs appear on runs created by workflows.
Filter to runs created by this trigger. Prefixed with trg_.
Return runs created after this timestamp (ISO 8601).
"2026-08-24T12:00:00Z"
Return runs created before this timestamp (ISO 8601).
"2026-08-24T12:00:00Z"
Free-text search matching task name, task ID, or task run ID.
Response
OK
Array of resource objects for the current page.
Show child attributes
Show child attributes
true if there are more results beyond this page.
Opaque cursor string to pass as the cursor query parameter on the next request. null when there are no more pages.
Unique identifier for the API request.
Was this page helpful?