---
title: "Get Call Trace"
method: GET
path: "/v3/calls/{callID}/trace"
tags: ["Calls"]
---

# Get Call Trace

`GET /v3/calls/{callID}/trace`

**Retrieve the full execution trace of a workflow call.**

Returns all function calls and events emitted during the call as flat arrays.
The DAG can be reconstructed using `FunctionCallResponseBase.sourceEventID`
(the event that spawned each function call) and each event's `functionCallID`
(the function call that emitted it).

## Graph structure

- A function call with no `sourceEventID` is the root.
- An event's `functionCallID` points to the function call that emitted it.
- A function call's `sourceEventID` points to the event that triggered it.
- `workflowNodeName` identifies the DAG node; `incomingDestinationName` identifies
the labelled outlet used to reach this call (absent for unlabelled edges and root calls).

The trace is available as soon as the call exists and grows as execution proceeds.

## Path parameters

- `callID` string, required

## Response `200`

The request has succeeded.

- CallTraceResponseV3 — Response from `GET /v3/calls/{callID}/trace`. Contains the full execution DAG as flat arrays of function calls and events. Reconstruct the graph using `FunctionCallResponseBase.sourceEventID` (the event that spawned each function call) and each event's `functionCallID` (the function call that emitted it).
  - `trace` CallTrace — Full execution DAG of a call as flat arrays. Reconstruct the graph using FunctionCallResponseBase.sourceEventID and each event's functionCallID.
    - `functionCalls` FunctionCallResponseBase[], required — All function calls executed within this call.
      - `functionCallID` string, required — Unique identifier for this function call
      - `functionID` string, required — ID of the function that was called
      - `functionName` string, required — Name of the function that was called
      - `type` 'transform' | 'extract' | 'route' | 'classify' | 'send' | 'split' | 'join' | 'analyze' | 'payload_shaping' | 'enrich' | 'parse' | 'render', required — The type of the function.
      - `referenceID` string, required — User-provided reference ID for tracking
      - `status` 'pending' | 'running' | 'completed' | 'failed', required — The status of the action.
      - `functionVersionNum` integer — Version number of the function
      - `activity` object[] — Array of activity steps for this function call
        - `displayName` string
        - `status` 'pending' | 'running' | 'completed' | 'failed'
      - `startedAt` string, date-time, required — The date and time this function call started.
      - `finishedAt` string, date-time — The date and time this function call finished. Absent while still running.
      - `sourceFunctionCallID` string — ID of the function call that spawned this function call (for DAG reconstruction)
      - `sourceEventID` string — ID of the event that spawned this function call (for DAG reconstruction). Nil for the root function call.
      - `workflowCallID` string — ID of the workflow call this function call belongs to (top-level execution context)
      - `workflowNodeName` string — Name of the workflow DAG call-site node this function call is executing. Absent for non-workflow calls and pre-migration rows.
      - `incomingDestinationName` string — The labelled outlet on the upstream node that routed execution to this call. Absent for root calls, unlabelled edges, and pre-migration rows.
      - `inputType` string — Input type for single file input (set when there's exactly one file input)
      - `s3URL` string — Presigned S3 URL for single file input (set when there's exactly one file input)
      - `inputs` FunctionCallInputResponse[] — Array of all file inputs with their S3 URLs
        - `inputType` string — Input type of the file
        - `itemReferenceID` string — Item reference ID for batch inputs
        - `s3URL` string — Presigned S3 URL for the file input
    - `events` unknown[], required — All events emitted within this call, polymorphic by eventType.
      - unknown
  - `error` string — Error message if trace retrieval failed.

## Changes

- **2026-06-29** `c62dc064aaf3` — 1 warning
  - added the new `render` enum value to the `trace/functionCalls/items/type` response property for the response status `200`
- **2026-04-29** `fcd14ed75880` — 2 warning
  - added the new `classify` enum value to the `trace/functionCalls/items/type` response property for the response status `200`
  - added the new `parse` enum value to the `trace/functionCalls/items/type` response property for the response status `200`
- **2026-04-14** `21dd68d36c71` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/bem-team/apis/bem-api/changes/v3/calls/:callID/trace/get.md)

---

[API](https://skmtc.dev/bem-team/apis/bem-api.md) · [All operations](https://skmtc.dev/bem-team/apis/bem-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bem-team/bem-api/revisions/a6e4624117c6/schema)
