curl --request GET \
--url https://api.cyberdesk.io/v1/runs/{run_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cyberdesk.io/v1/runs/{run_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cyberdesk.io/v1/runs/{run_id}', 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.cyberdesk.io/v1/runs/{run_id}",
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.cyberdesk.io/v1/runs/{run_id}"
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.cyberdesk.io/v1/runs/{run_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cyberdesk.io/v1/runs/{run_id}")
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{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "scheduling",
"created_at": "2023-11-07T05:31:56Z",
"machine_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "<string>",
"is_priority": false,
"error": [
"<string>"
],
"output_data": {},
"input_attachment_ids": [
"<string>"
],
"output_attachment_ids": [
"<string>"
],
"run_message_history": [
{}
],
"input_values": {},
"main_prompt": "<string>",
"model_metadata": {
"main_agent_model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cache_detection_model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fallback_model_1_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fallback_model_2_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"pool_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sensitive_input_aliases": {},
"usage_metadata": {},
"post_run_checks": [
{
"status": "pending",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"post_run_check_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"snapshot_version": 123,
"name": "<string>",
"description": "<string>",
"type": "run_attachment_exists",
"order": 123,
"file_target_mode": "exact",
"file_names": [
"<string>"
],
"file_name_regex": "<string>",
"expected_match_count": 123,
"expected_match_count_ref": "<string>",
"loop_input": "<string>",
"loop_item_filename_template": "<string>",
"allow_missing_attachments": false,
"check_prompt": "<string>",
"model": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"started_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"error_message": "<string>",
"messages": [
"<string>"
],
"matched_filenames": [
"<string>"
]
}
],
"session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"session_alias": "<string>",
"release_session_after": true,
"started_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"included": [
{
"type": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get Run
Get a specific run by ID.
The run must belong to the authenticated organization. Returns the run with its associated workflow and machine data.
Use the include parameter to fetch related resources in the response.
Related resources are returned in the included array following the JSON:API pattern.
curl --request GET \
--url https://api.cyberdesk.io/v1/runs/{run_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cyberdesk.io/v1/runs/{run_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cyberdesk.io/v1/runs/{run_id}', 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.cyberdesk.io/v1/runs/{run_id}",
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.cyberdesk.io/v1/runs/{run_id}"
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.cyberdesk.io/v1/runs/{run_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cyberdesk.io/v1/runs/{run_id}")
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{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "scheduling",
"created_at": "2023-11-07T05:31:56Z",
"machine_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "<string>",
"is_priority": false,
"error": [
"<string>"
],
"output_data": {},
"input_attachment_ids": [
"<string>"
],
"output_attachment_ids": [
"<string>"
],
"run_message_history": [
{}
],
"input_values": {},
"main_prompt": "<string>",
"model_metadata": {
"main_agent_model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cache_detection_model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fallback_model_1_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fallback_model_2_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"pool_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sensitive_input_aliases": {},
"usage_metadata": {},
"post_run_checks": [
{
"status": "pending",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"post_run_check_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"snapshot_version": 123,
"name": "<string>",
"description": "<string>",
"type": "run_attachment_exists",
"order": 123,
"file_target_mode": "exact",
"file_names": [
"<string>"
],
"file_name_regex": "<string>",
"expected_match_count": 123,
"expected_match_count_ref": "<string>",
"loop_input": "<string>",
"loop_item_filename_template": "<string>",
"allow_missing_attachments": false,
"check_prompt": "<string>",
"model": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"started_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"error_message": "<string>",
"messages": [
"<string>"
],
"matched_filenames": [
"<string>"
]
}
],
"session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"session_alias": "<string>",
"release_session_after": true,
"started_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"included": [
{
"type": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Comma-separated list of related resources to include. Allowed values: workflow, machine, machine.pools. Example: include=workflow,machine
Response
Successful Response
Run response with optional included related resources.
When the include query parameter is used, related resources are returned
in the included array following the JSON:API pattern.
Example request: GET /v1/runs/123?include=workflow,machine
scheduling, running, running_checks, success, cancelled, task_failed, error JSONB-backed workflow model configuration metadata.
Stored on the Workflow row as model_metadata to avoid adding many FK columns.
All fields are optional; when missing/null, the system falls back to Cyberdesk defaults.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Arbitrary usage/billing metadata captured during a run
Version-tolerant snapshot/results for the run's post-run checks.
Show child attributes
Show child attributes
Related resources requested via the include query parameter
Show child attributes
Show child attributes
Was this page helpful?