Filters an organization or source's findings and groups them by their specified properties.
To group across all sources provide a -
as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{projectId}/sources/-/findings
HTTP request
The URLs use gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
parent |
Required. Name of the source to groupBy. Its format is "organizations/[organization_id]/sources/[source_id]", folders/[folder_id]/sources/[source_id], or projects/[projectId]/sources/[source_id]. To groupBy across all sources provide a source_id of |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "filter": string, "groupBy": string, "readTime": string, "compareDuration": string, "pageToken": string, "pageSize": integer } |
Fields | |
---|---|
filter |
Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators Restrictions have the form
The supported operators are:
The supported value types are:
The following field and operator combinations are supported:
Usage: This should be milliseconds since epoch or an RFC3339 string. Examples:
For example, Use a partial match on the empty string to filter based on a property existing: Use a negated partial match on the empty string to filter based on a property not existing: |
group |
Required. Expression that defines what assets fields to use for grouping (including The following fields are supported:
The following fields are supported when compareDuration is set:
|
read |
Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
compare |
When compareDuration is set, the GroupResult's "stateChange" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compareDuration period of time that precedes the readTime. This is the time between (readTime - compareDuration) and readTime. The stateChange value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "stateChange" values when compareDuration is specified:
If compareDuration is not specified, then the only possible stateChange is "UNUSED", which will be the stateChange set for all findings present at readTime. If this field is set then A duration in seconds with up to nine fractional digits, ending with ' |
page |
The value returned by the last |
page |
The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. |
Response body
If successful, the response body contains an instance of GroupFindingsResponse
.
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview.