Runs
Get debug bundle
Returns a comprehensive debug bundle with all run data for troubleshooting.
GET
/
v1
/
runs
/
{runID}
/
debug-bundle
Get debug bundle
curl --request GET \
--url https://api.strait.dev/v1/runs/{runID}/debug-bundle \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.strait.dev/v1/runs/{runID}/debug-bundle"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.strait.dev/v1/runs/{runID}/debug-bundle', 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.strait.dev/v1/runs/{runID}/debug-bundle",
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.strait.dev/v1/runs/{runID}/debug-bundle"
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.strait.dev/v1/runs/{runID}/debug-bundle")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.strait.dev/v1/runs/{runID}/debug-bundle")
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{
"checkpoints": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"run_id": "<string>",
"sequence": 123,
"source": "<string>",
"state": "<unknown>",
"$schema": "https://api.strait.dev/schemas/RunCheckpoint.json"
}
],
"events": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"message": "<string>",
"run_id": "<string>",
"type": "<string>",
"$schema": "https://api.strait.dev/schemas/RunEvent.json",
"data": "<unknown>",
"level": "<string>"
}
],
"outputs": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"output_key": "<string>",
"run_id": "<string>",
"value": "<unknown>",
"$schema": "https://api.strait.dev/schemas/RunOutput.json",
"schema": "<unknown>"
}
],
"resource_snapshots": [
{
"cpu_percent": 123,
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"memory_limit_mb": 123,
"memory_mb": 123,
"network_rx_bytes": 123,
"network_tx_bytes": 123,
"run_id": "<string>",
"$schema": "https://api.strait.dev/schemas/RunResourceSnapshot.json"
}
],
"run": {
"attempt": 123,
"created_at": "2023-11-07T05:31:56Z",
"debug_mode": true,
"id": "<string>",
"job_id": "<string>",
"job_version": 123,
"lineage_depth": 123,
"priority": 123,
"project_id": "<string>",
"status": "<string>",
"triggered_by": "<string>",
"$schema": "https://api.strait.dev/schemas/JobRun.json",
"batch_id": "<string>",
"concurrency_key": "<string>",
"continuation_of": "<string>",
"created_by": "<string>",
"error": "<string>",
"error_class": "<string>",
"execution_mode": "<string>",
"execution_trace": {
"connect_ms": 123,
"dequeue_ms": 123,
"dispatch_ms": 123,
"queue_wait_ms": 123,
"total_ms": 123,
"transfer_ms": 123,
"ttfb_ms": 123
},
"expires_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"heartbeat_at": "2023-11-07T05:31:56Z",
"idempotency_key": "<string>",
"job_version_id": "<string>",
"machine_id": "<string>",
"max_attempts_override": 123,
"metadata": {},
"next_retry_at": "2023-11-07T05:31:56Z",
"parent_run_id": "<string>",
"payload": "<unknown>",
"result": "<unknown>",
"retry_backoff": "<string>",
"retry_initial_delay_secs": 123,
"retry_max_delay_secs": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"tags": {},
"timeout_secs_override": 123,
"workflow_step_run_id": "<string>"
},
"tool_calls": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"run_id": "<string>",
"status": "<string>",
"tool_name": "<string>",
"$schema": "https://api.strait.dev/schemas/RunToolCall.json",
"duration_ms": 123,
"input": "<unknown>",
"output": "<unknown>"
}
],
"usage": [
{
"completion_tokens": 123,
"cost_microusd": 123,
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"model": "<string>",
"prompt_tokens": 123,
"provider": "<string>",
"run_id": "<string>",
"total_tokens": 123,
"$schema": "https://api.strait.dev/schemas/RunUsage.json"
}
],
"$schema": "https://api.strait.dev/schemas/DebugBundle.json"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}Authorizations
API key passed as Bearer token
Path Parameters
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
A URL to the JSON Schema for this object.
Example:
"https://api.strait.dev/schemas/DebugBundle.json"
⌘I
Get debug bundle
curl --request GET \
--url https://api.strait.dev/v1/runs/{runID}/debug-bundle \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.strait.dev/v1/runs/{runID}/debug-bundle"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.strait.dev/v1/runs/{runID}/debug-bundle', 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.strait.dev/v1/runs/{runID}/debug-bundle",
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.strait.dev/v1/runs/{runID}/debug-bundle"
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.strait.dev/v1/runs/{runID}/debug-bundle")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.strait.dev/v1/runs/{runID}/debug-bundle")
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{
"checkpoints": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"run_id": "<string>",
"sequence": 123,
"source": "<string>",
"state": "<unknown>",
"$schema": "https://api.strait.dev/schemas/RunCheckpoint.json"
}
],
"events": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"message": "<string>",
"run_id": "<string>",
"type": "<string>",
"$schema": "https://api.strait.dev/schemas/RunEvent.json",
"data": "<unknown>",
"level": "<string>"
}
],
"outputs": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"output_key": "<string>",
"run_id": "<string>",
"value": "<unknown>",
"$schema": "https://api.strait.dev/schemas/RunOutput.json",
"schema": "<unknown>"
}
],
"resource_snapshots": [
{
"cpu_percent": 123,
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"memory_limit_mb": 123,
"memory_mb": 123,
"network_rx_bytes": 123,
"network_tx_bytes": 123,
"run_id": "<string>",
"$schema": "https://api.strait.dev/schemas/RunResourceSnapshot.json"
}
],
"run": {
"attempt": 123,
"created_at": "2023-11-07T05:31:56Z",
"debug_mode": true,
"id": "<string>",
"job_id": "<string>",
"job_version": 123,
"lineage_depth": 123,
"priority": 123,
"project_id": "<string>",
"status": "<string>",
"triggered_by": "<string>",
"$schema": "https://api.strait.dev/schemas/JobRun.json",
"batch_id": "<string>",
"concurrency_key": "<string>",
"continuation_of": "<string>",
"created_by": "<string>",
"error": "<string>",
"error_class": "<string>",
"execution_mode": "<string>",
"execution_trace": {
"connect_ms": 123,
"dequeue_ms": 123,
"dispatch_ms": 123,
"queue_wait_ms": 123,
"total_ms": 123,
"transfer_ms": 123,
"ttfb_ms": 123
},
"expires_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"heartbeat_at": "2023-11-07T05:31:56Z",
"idempotency_key": "<string>",
"job_version_id": "<string>",
"machine_id": "<string>",
"max_attempts_override": 123,
"metadata": {},
"next_retry_at": "2023-11-07T05:31:56Z",
"parent_run_id": "<string>",
"payload": "<unknown>",
"result": "<unknown>",
"retry_backoff": "<string>",
"retry_initial_delay_secs": 123,
"retry_max_delay_secs": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"tags": {},
"timeout_secs_override": 123,
"workflow_step_run_id": "<string>"
},
"tool_calls": [
{
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"run_id": "<string>",
"status": "<string>",
"tool_name": "<string>",
"$schema": "https://api.strait.dev/schemas/RunToolCall.json",
"duration_ms": 123,
"input": "<unknown>",
"output": "<unknown>"
}
],
"usage": [
{
"completion_tokens": 123,
"cost_microusd": 123,
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"model": "<string>",
"prompt_tokens": 123,
"provider": "<string>",
"run_id": "<string>",
"total_tokens": 123,
"$schema": "https://api.strait.dev/schemas/RunUsage.json"
}
],
"$schema": "https://api.strait.dev/schemas/DebugBundle.json"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"$schema": "https://api.strait.dev/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}