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

List the events for an issue matching filter criteria, sorted in descending order by timestamp.

### HTTP request

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

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

### Path parameters

| Parameters ||
|---|---|
| `parent` | `string` Required. The Firebase application. Format: "projects/{project}/apps/{app_id}". |

### Query parameters

| Parameters ||
|---|---|
| `pageSize` | `integer` Optional. The maximum number of events per page. If omitted, defaults to 10. |
| `pageToken` | `string` Optional. A page token, received from a previous calls. |
| `filter` | ``object (`EventFilters`)`` Optional. Filter only the desired events. |
| `readMask` | ``string (`FieldMask` format)`` Optional. The list of Event fields to include in the response. If omitted, the full event is returned. This is a comma-separated list of fully qualified names of fields. Example: `"user.displayName,photo"`. |
| `filterExpression` | `string` Optional. Filters events by custom keys (<https://firebase.google.com/docs/crashlytics/customize-crash-reports#add-keys)>. 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

Response message for the events.list method.

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

| JSON representation |
|---|
| ``` { "events": [ { object (`Event`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `events[]` | ``object (`Event`)`` Returns one element per event, in descending order the by event timestamp. |
| `nextPageToken` | `string` A pagination token to retrieve the next page of events. The next page will have earlier or later events depending on the request's ordering. If this field is not present, there are no subsequent events. |

### 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).

## EventFilters

Filters for events.list method. 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. Fetch only events which occurred during the time interval. Valid values are from 90 calendar days ago to the current time. |
| `version` | ``object (`VersionFilter`)`` Optional. Fetch only events from the given application versions. |
| `issue` | ``object (`IssueFilter`)`` Optional. Fetch only events with the desired issue characteristics. |
| `operatingSystem` | ``object (`OperatingSystemFilter`)`` Optional. Fetch only events from the given operating system versions. |
| `device` | ``object (`DeviceFilter`)`` Optional. Fetch only events from the given device models. |
| `browser` | ``object (`BrowserFilter`)`` Optional. Fetch only events from the given browser. |