curl --request GET \
--url https://api.checkfu.com/v1/automation-firings/{id}/trace \
--header 'Authorization: Bearer <token>' \
--header 'checkfu-version: <checkfu-version>'import requests
url = "https://api.checkfu.com/v1/automation-firings/{id}/trace"
headers = {
"checkfu-version": "<checkfu-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'checkfu-version': '<checkfu-version>', Authorization: 'Bearer <token>'}
};
fetch('https://api.checkfu.com/v1/automation-firings/{id}/trace', 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.checkfu.com/v1/automation-firings/{id}/trace",
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>",
"checkfu-version: <checkfu-version>"
],
]);
$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.checkfu.com/v1/automation-firings/{id}/trace"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("checkfu-version", "<checkfu-version>")
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.checkfu.com/v1/automation-firings/{id}/trace")
.header("checkfu-version", "<checkfu-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.checkfu.com/v1/automation-firings/{id}/trace")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["checkfu-version"] = '<checkfu-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"authority": "firing_receipt_and_session_event_log",
"firing": {
"id": "<string>",
"workspace_id": "<string>",
"automation_id": "<string>",
"source": {
"kind": "manual"
},
"attempt_count": 1,
"created_at": "<string>",
"updated_at": "<string>",
"status": "pending",
"outcome": null,
"session_id": null,
"run_id": null,
"error": null
},
"filtering": {
"applicable": false
},
"admission": {
"disposition": "not_applicable",
"check_configured": true,
"check_usage": {
"input_tokens": 1,
"cached_input_tokens": 1,
"cache_write_input_tokens": 1,
"output_tokens": 1,
"reasoning_output_tokens": 1,
"total_tokens": 1
}
},
"steps": {
"applicable": false
},
"children": {
"applicable": false
},
"execution": {
"applicable": false
},
"delivery": {
"applicable": false
},
"outcome": {
"outcome_id": "<string>",
"result": "satisfied",
"evaluation_count": 1,
"revision_count": 1,
"report": {
"status": "accepted",
"output_count": 16,
"accepted_count": 1
}
},
"outcome_attempts": {
"applicable": false
},
"feedback": {
"total": 1,
"by_disposition": {
"useful": 1,
"noisy": 1,
"incorrect": 1,
"too_late": 1,
"already_handled": 1
}
},
"completeness": {
"status": "complete",
"through_sequence": 1
}
}{
"error": {
"type": "validation.malformed",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#validation-malformed"
}
}{
"error": {
"type": "auth.invalid_key",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-invalid-key"
}
}{
"error": {
"type": "auth.disabled_tenancy",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-disabled-tenancy"
}
}{
"error": {
"type": "validation.not_found",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#validation-not-found"
}
}{
"error": {
"type": "budget.exceeded",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#budget-exceeded"
}
}{
"error": {
"type": "runtime.internal",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#runtime-internal"
}
}Get an Automation firing trace
Read the joined, content-free execution trace for one firing in ANY state. Sections join the firing receipt, the webhook filtering decision for its exact delivery payload, admission usage, the durable step program (Check and call receipts, child Session parks), the originating Session Turn with delivery-screen counts and per-iteration Outcome attempts, and structural human feedback — each section states its own applicability and the Session sections carry the same open, truncated, expired, erased, or ZDR completeness honesty as evidence. No messages, explanations, tool payloads, or model output are copied into this view.
Checkfu support posture: alpha; hosted. Required evidence journey: automation-firing. Deployment-specific readiness and the latest proven release are available from GET /v1/support/capabilities.
curl --request GET \
--url https://api.checkfu.com/v1/automation-firings/{id}/trace \
--header 'Authorization: Bearer <token>' \
--header 'checkfu-version: <checkfu-version>'import requests
url = "https://api.checkfu.com/v1/automation-firings/{id}/trace"
headers = {
"checkfu-version": "<checkfu-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'checkfu-version': '<checkfu-version>', Authorization: 'Bearer <token>'}
};
fetch('https://api.checkfu.com/v1/automation-firings/{id}/trace', 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.checkfu.com/v1/automation-firings/{id}/trace",
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>",
"checkfu-version: <checkfu-version>"
],
]);
$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.checkfu.com/v1/automation-firings/{id}/trace"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("checkfu-version", "<checkfu-version>")
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.checkfu.com/v1/automation-firings/{id}/trace")
.header("checkfu-version", "<checkfu-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.checkfu.com/v1/automation-firings/{id}/trace")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["checkfu-version"] = '<checkfu-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"authority": "firing_receipt_and_session_event_log",
"firing": {
"id": "<string>",
"workspace_id": "<string>",
"automation_id": "<string>",
"source": {
"kind": "manual"
},
"attempt_count": 1,
"created_at": "<string>",
"updated_at": "<string>",
"status": "pending",
"outcome": null,
"session_id": null,
"run_id": null,
"error": null
},
"filtering": {
"applicable": false
},
"admission": {
"disposition": "not_applicable",
"check_configured": true,
"check_usage": {
"input_tokens": 1,
"cached_input_tokens": 1,
"cache_write_input_tokens": 1,
"output_tokens": 1,
"reasoning_output_tokens": 1,
"total_tokens": 1
}
},
"steps": {
"applicable": false
},
"children": {
"applicable": false
},
"execution": {
"applicable": false
},
"delivery": {
"applicable": false
},
"outcome": {
"outcome_id": "<string>",
"result": "satisfied",
"evaluation_count": 1,
"revision_count": 1,
"report": {
"status": "accepted",
"output_count": 16,
"accepted_count": 1
}
},
"outcome_attempts": {
"applicable": false
},
"feedback": {
"total": 1,
"by_disposition": {
"useful": 1,
"noisy": 1,
"incorrect": 1,
"too_late": 1,
"already_handled": 1
}
},
"completeness": {
"status": "complete",
"through_sequence": 1
}
}{
"error": {
"type": "validation.malformed",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#validation-malformed"
}
}{
"error": {
"type": "auth.invalid_key",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-invalid-key"
}
}{
"error": {
"type": "auth.disabled_tenancy",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-disabled-tenancy"
}
}{
"error": {
"type": "validation.not_found",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#validation-not-found"
}
}{
"error": {
"type": "budget.exceeded",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#budget-exceeded"
}
}{
"error": {
"type": "runtime.internal",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#runtime-internal"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
2026-08-27 Path Parameters
^afire_[0-9a-f]{32}$Response
AutomationFiringTrace
firing_receipt_and_session_event_log - Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes