- [HTTP request](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#body.HTTP_TEMPLATE)
- [Path parameters](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#body.PATH_PARAMETERS)
- [Query parameters](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#body.QUERY_PARAMETERS)
- [Request body](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#body.request_body)
- [Response body](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#body.response_body)
- [Authorization scopes](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#body.aspect)
- [ReportFilters](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#ReportFilters)
  - [JSON representation](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#ReportFilters.SCHEMA_REPRESENTATION)
- [TimeGranularity](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#TimeGranularity)
- [MetricsMode](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#MetricsMode)
- [Try it!](https://firebase.google.com/docs/reference/crashlytics/rest/v1alpha/projects.apps.reports/get.md.txt#try-it)

Get a report with its computed results.

### HTTP request

`GET https://firebasecrashlytics.googleapis.com/v1alpha/{name=projects/*/apps/*/reports/*}`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `name` | `string` Required. The report name. Format: "projects/{project}/apps/{app_id}/reports/{report}". |

### Query parameters

| Parameters ||
|---|---|
| `filter` | ``object (`ReportFilters`)`` Optional. Filters to customize the report. |
| `pageSize` | `integer` Optional. The maximum number of result groups to return. The maximum value is 100; values above 100 will be coerced to 100. If omitted, defaults to 25. |
| `pageToken` | `string` Optional. A page token, received from a previous call. The page token is only valid for the exact same set of filters, which must also be sent in subsequent requests. This token is valid for 10 minutes after the first request. |
| `granularity` | ``enum (`TimeGranularity`)`` Optional. The report response will contain one data point per time grain. If omitted, the report will contain a single data point for the complete interval. |
| `metricsMode` | ``enum (`MetricsMode`)`` Optional. Controls whether metrics are raw observed values (mobile and web) or extrapolated values (web only). If omitted, defaults to OBSERVED. |
| `view` | ``enum (`ReportView`)`` Optional. Response view. If not set, defaults to `REPORT_VIEW_FULL`. |
| `filterExpression` | `string` Optional. Filters the events counted in the report by custom keys. Not all reports support this filter. It is currently only supported for web apps; see the report's `usage` field for whether `filterExpression` is supported. Requests for other apps or unsupported reports that set this field are rejected with `INVALID_ARGUMENT`. Supported forms: - Equality: `customKeys.level = "vip"` - Has: `customKeys.level:"vip"` (matches the same events as equality) - Presence: `customKeys.level:*` - OR across values of one key: `customKeys.level = "vip" OR customKeys.level = "enterprise"` - AND across different keys: `customKeys.level = "vip" AND customKeys.region = "us"` Keys are case-sensitive. Keys and values containing spaces must be double-quoted, for example `customKeys."app state" = "background"`. OR across different keys, repeating a key within an AND, NOT, and comparators other than `=` and `:` are rejected with INVALID_ARGUMENT. Wildcards are not supported in values; use `customKeys.<key>:*` to match events that set a key to any value. This filter expression applies in addition to the `filter` field above. The syntax is a subset of AIP-160 (<https://google.aip.dev/160)>. |

### Request body

The request body must be empty.

### Response body

If successful, the response body contains an instance of `Report`.

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/cloud-platform`
- `https://www.googleapis.com/auth/firebase`

For more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).

## ReportFilters

Filters for all reports. Multiple conditions for the same field are combined in an 'OR' expression and different fields are combined with 'AND'. All fields are optional.

| JSON representation |
|---|
| ``` { "interval": { object (`Interval`) }, "version": { object (`VersionFilter`) }, "issue": { object (`IssueFilter`) }, "operatingSystem": { object (`OperatingSystemFilter`) }, "device": { object (`DeviceFilter`) }, "browser": { object (`BrowserFilter`) } } ``` |

| Fields ||
|---|---|
| `interval` | ``object (`Interval`)`` Optional. Only count events which occurred during the time interval. Valid values are from 90 calendar days ago to the current time. The default interval for all reports is the previous 7 days. |
| `version` | ``object (`VersionFilter`)`` Optional. Only count events from the given application versions. |
| `issue` | ``object (`IssueFilter`)`` Optional. Only count events with the desired issue characteristics. |
| `operatingSystem` | ``object (`OperatingSystemFilter`)`` Optional. Only count events from the given operating system versions. |
| `device` | ``object (`DeviceFilter`)`` Optional. Only count events from the given device models. |
| `browser` | ``object (`BrowserFilter`)`` Optional. Only count events from the given browser. |

## TimeGranularity

The granularity of time intervals for reports.

| Enums ||
|---|---|
| `TIME_GRANULARITY_UNSPECIFIED` | Unknown. |
| `TIME_GRANULARITY_NONE` | Returns a single interval for the requested time range. |
| `TIME_GRANULARITY_HOUR` | Hour. |
| `TIME_GRANULARITY_DAY` | Day. |

## MetricsMode

Controls whether metrics are raw observed or extrapolated.

| Enums ||
|---|---|
| `METRICS_MODE_UNSPECIFIED` | Unknown. |
| `METRICS_MODE_OBSERVED` | Raw counts of the events, sessions, and users that were actually collected. |
| `METRICS_MODE_EXTRAPOLATED` | Web only. Estimated event counts based on the per-session sampling rate recorded on each event. |