Searches all error reports received for an app.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. Parent resource of the reports, indicating the application for which they were received.

Format: apps/{app}

Query parameters


object (DateTimeInterval)

The date time interval to search error reports. Both start and end must be hour-aligned and use UTC as timezone (or be empty, in which case UTC will be used too).

If set, only error reports that occurred in the interval will be returned. If unspecified, the default interval of the last 24 hours will be used.



The maximum number of reports to return. The service may return fewer than this value.

If unspecified, at most 50 reports will be returned. The maximum value is 100; values above 100 will be coerced to 100.



A page token, received from a previous call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to must match the call that provided the page token.



A selection predicate to retrieve only a subset of the reports.

For filtering basics, please check AIP-160.

** Supported field names:**

  • apiLevel: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: apiLevel = 28 OR apiLevel = 29.
  • versionCode: Matches error reports that occurred in the requested app version codes only. Example: versionCode = 123 OR versionCode = 456.
  • deviceModel: Matches error issues that occurred in the requested devices. Example: deviceModel = "google/walleye" OR deviceModel = "google/marlin".
  • deviceBrand: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google".
  • deviceType: Matches error reports that occurred in the requested device types. Example: deviceType = "PHONE".
  • errorIssueType: Matches error reports of the requested types only. Valid candidates: JAVA_CRASH, NATIVE_CRASH, ANR. Example: errorIssueType = JAVA_CRASH OR errorIssueType = NATIVE_CRASH.
  • errorIssueId: Matches error reports belonging to the requested error issue ids only. Example: errorIssueId = 1234 OR errorIssueId = 4567.
  • errorReportId: Matches error reports with the requested error report id. Example: errorReportId = 1234 OR errorReportId = 4567.
  • appProcessState: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: FOREGROUND, BACKGROUND. Example: appProcessState = FOREGROUND.
  • isUserPerceived: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: isUserPerceived.

** Supported operators:**

  • Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison.
  • Logical Operators: Logical operators AND and OR can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The OR operator takes precedence over AND so the use of parenthesis is not necessary when building CNF.

The OR operator is only supported to build disjunctions that apply to the same field, e.g., versionCode = 123 OR versionCode = ANR. The filter expression versionCode = 123 OR errorIssueType = ANR is not valid.

** Examples **

Some valid filtering expressions: * versionCode = 123 AND errorIssueType = ANR * versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH * versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)

Request body

The request body must be empty.

Response body

Response with a paginated list of error reports matching the search query.

If successful, the response body contains data with the following structure:

JSON representation
  "errorReports": [
      object (ErrorReport)
  "nextPageToken": string

object (ErrorReport)

Error reports that were found.



Page token to fetch the next page of reports.

Authorization scopes

Requires the following OAuth scope:


For more information, see the OAuth 2.0 Overview.