Get a pruned trace by ID

Note: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/pruned_trace/{trace_id}https://api.ap2.datadoghq.com/api/v2/pruned_trace/{trace_id}https://api.datadoghq.eu/api/v2/pruned_trace/{trace_id}https://api.ddog-gov.com/api/v2/pruned_trace/{trace_id}https://api.us2.ddog-gov.com/api/v2/pruned_trace/{trace_id}https://api.datadoghq.com/api/v2/pruned_trace/{trace_id}https://api.us3.datadoghq.com/api/v2/pruned_trace/{trace_id}https://api.us5.datadoghq.com/api/v2/pruned_trace/{trace_id}

Overview

Retrieve a pruned, hierarchical view of an APM trace by its trace ID. The trace is summarized as a tree of spans rooted at the trace root and reduced in size to keep rendering large traces in the UI practical. This endpoint is rate limited to 60 requests per minute per organization. This endpoint requires the apm_read permission.

OAuth apps require the apm_read authorization scope to access this endpoint.

Arguments

Path Parameters

Name

Type

Description

trace_id [required]

string

The trace ID. Accepts either a 32-character hexadecimal string (128-bit trace ID) or a decimal string of up to 39 digits.

Query Strings

Name

Type

Description

expand_span_id

integer

Span ID to expand and preserve in the pruned tree even when its branch would normally be summarized.

time_hint

integer

Optional Unix time hint, in seconds, used to optimize the lookup of the trace in long-term storage.

force_source

string

Force the trace to be loaded from a specific source. When unset, the API picks the source automatically.

include_path

array

Restrict the pruned tree to spans matching the given key:value pairs. Values may be passed as repeated query parameters.

tag_include

array

Regex patterns of tag keys whose values must be included in the pruned spans. Values may be passed as repeated query parameters.

tag_exclude

array

Regex patterns of tag keys whose values must be excluded from the pruned spans. Values may be passed as repeated query parameters.

only_service_entry_spans

boolean

When set to true, only service entry spans are included in the pruned tree.

Response

OK

Response containing a single pruned trace.

Expand All

Field

Type

Description

data [required]

object

A pruned trace resource document.

attributes [required]

object

The attributes of a pruned trace returned by the Get pruned trace by ID endpoint.

is_truncated [required]

boolean

Indicates whether the underlying trace was truncated because its size exceeded the maximum that can be retrieved from storage.

size_bytes [required]

int32

The size, in bytes, of the original (non-pruned) trace before summarization.

summarized_trace [required]

object

A summarized, hierarchical view of a trace.

root [required]

object

A node in the pruned trace tree.

children [required]

[object]

The child spans of this node in the pruned tree.

durationSeconds [required]

double

The duration of the span, in seconds.

endTime [required]

date-time

The end time of the span, in RFC3339 format.

error [required]

enum

Error flag for a span. 1 when the span is in error, 0 otherwise. Allowed enum values: 0,1

hidden_child_spans_count [required]

int32

The number of child spans that were pruned from this node when summarizing the trace.

meta [required]

object

String-valued tags attached to the span.

<any-key>

string

metrics [required]

object

Numeric metrics attached to the span.

<any-key>

double

name [required]

string

The operation name of the span.

parentID [required]

int64

The ID of the parent span, or 0 when the span is the trace root.

resource [required]

string

The resource that the span describes.

service [required]

string

The name of the service that emitted the span.

spanID [required]

int64

The span ID, as an unsigned 64-bit integer.

span_kind [required]

string

The OpenTelemetry span kind, for example INTERNAL, SERVER, CLIENT, PRODUCER, or CONSUMER.

startTime [required]

date-time

The start time of the span, in RFC3339 format.

traceId [required]

string

The full 128-bit trace ID, encoded as a 32-character hexadecimal string.

id [required]

string

The full 128-bit trace ID, encoded as a 32-character hexadecimal string.

type [required]

enum

The type of the pruned trace resource. The value is always pruned_trace. Allowed enum values: pruned_trace

{
  "data": {
    "attributes": {
      "is_truncated": false,
      "size_bytes": 12345,
      "summarized_trace": {
        "root": {
          "children": [
            []
          ],
          "durationSeconds": 0.5,
          "endTime": "2026-05-27T12:00:00.5Z",
          "error": 0,
          "hidden_child_spans_count": 0,
          "meta": {
            "<any-key>": "string"
          },
          "metrics": {
            "<any-key>": "number"
          },
          "name": "web.request",
          "parentID": 0,
          "resource": "GET /products",
          "service": "web-store",
          "spanID": 9876543210987655000,
          "span_kind": "SERVER",
          "startTime": "2026-05-27T12:00:00Z"
        },
        "traceId": "0000000000000000abc1230000000000"
      }
    },
    "id": "0000000000000000abc1230000000000",
    "type": "pruned_trace"
  }
}

Forbidden

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Not Found

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Gateway Timeout

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Code Example

                  # Path parameters
export trace_id="0000000000000000abc1230000000000"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/pruned_trace/${trace_id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"