GetTraceSummaries - AWS X-Ray


Retrieves IDs and annotations for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.

A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through


This filter expression finds traces that have an annotation named account with the value 12345:

annotation.account = "12345"

For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide.

Request Syntax

POST /TraceSummaries HTTP/1.1 Content-type: application/json { "EndTime": number, "FilterExpression": "string", "NextToken": "string", "Sampling": boolean, "SamplingStrategy": { "Name": "string", "Value": number }, "StartTime": number, "TimeRangeType": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.


The end of the time frame for which to retrieve traces, in Unix time seconds.

Type: Timestamp

Required: Yes


Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.

Type: String

Required: No


Specify the pagination token returned by a previous request to retrieve the next page of results.

Type: String

Required: No


Set to true to get summaries for only a subset of available traces.

Type: Boolean

Required: No


A parameter to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.

Type: SamplingStrategy object

Required: No


The start of the time frame for which to retrieve traces, in Unix time seconds.

Type: Timestamp

Required: Yes


Query trace summaries by TraceId (trace start time), Event (trace update time), or Service (trace segment end time).

Type: String

Valid Values: TraceId | Event | Service

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "ApproximateTime": number, "NextToken": "string", "TracesProcessedCount": number, "TraceSummaries": [ { "Annotations": { "string" : [ { "AnnotationValue": { "BooleanValue": boolean, "NumberValue": number, "StringValue": "string" }, "ServiceIds": [ { "AccountId": "string", "Name": "string", "Names": [ "string" ], "Type": "string" } ] } ] }, "AvailabilityZones": [ { "Name": "string" } ], "Duration": number, "EntryPoint": { "AccountId": "string", "Name": "string", "Names": [ "string" ], "Type": "string" }, "ErrorRootCauses": [ { "ClientImpacting": boolean, "Services": [ { "AccountId": "string", "EntityPath": [ { "Exceptions": [ { "Message": "string", "Name": "string" } ], "Name": "string", "Remote": boolean } ], "Inferred": boolean, "Name": "string", "Names": [ "string" ], "Type": "string" } ] } ], "FaultRootCauses": [ { "ClientImpacting": boolean, "Services": [ { "AccountId": "string", "EntityPath": [ { "Exceptions": [ { "Message": "string", "Name": "string" } ], "Name": "string", "Remote": boolean } ], "Inferred": boolean, "Name": "string", "Names": [ "string" ], "Type": "string" } ] } ], "HasError": boolean, "HasFault": boolean, "HasThrottle": boolean, "Http": { "ClientIp": "string", "HttpMethod": "string", "HttpStatus": number, "HttpURL": "string", "UserAgent": "string" }, "Id": "string", "InstanceIds": [ { "Id": "string" } ], "IsPartial": boolean, "MatchedEventTime": number, "ResourceARNs": [ { "ARN": "string" } ], "ResponseTime": number, "ResponseTimeRootCauses": [ { "ClientImpacting": boolean, "Services": [ { "AccountId": "string", "EntityPath": [ { "Coverage": number, "Name": "string", "Remote": boolean } ], "Inferred": boolean, "Name": "string", "Names": [ "string" ], "Type": "string" } ] } ], "Revision": number, "ServiceIds": [ { "AccountId": "string", "Name": "string", "Names": [ "string" ], "Type": "string" } ], "StartTime": number, "Users": [ { "ServiceIds": [ { "AccountId": "string", "Name": "string", "Names": [ "string" ], "Type": "string" } ], "UserName": "string" } ] } ] }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


The start time of this page of results.

Type: Timestamp


If the requested time frame contained more than one page of results, you can use this token to retrieve the next page. The first page contains the most recent results, closest to the end of the time frame.

Type: String


The total number of traces processed, including traces that did not match the specified filter expression.

Type: Long


Trace IDs and annotations for traces that were found in the specified time frame.

Type: Array of TraceSummary objects


For information about the errors that are common to all actions, see Common Errors.


The request is missing required parameters or has invalid parameters.

HTTP Status Code: 400


The request exceeds the maximum number of requests per second.

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: