When compare_duration is set, the ListFindingsResult's "state_change"
attribute is updated to indicate whether the finding had its state changed,
the finding's state remained unchanged, or if the finding was added in any
state during the compare_duration period of time that precedes the
read_time. This is the time between (read_time - compare_duration) and
read_time.
The state_change 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 "state_change" values when compare_duration is specified:
"CHANGED": indicates that the finding was present and matched the given
filter at the start of compare_duration, but changed its
state at read_time.
"UNCHANGED": indicates that the finding was present and matched the given
filter at the start of compare_duration and did not change
state at read_time.
"ADDED": indicates that the finding did not match the given filter or
was not present at the start of compare_duration, but was
present at read_time.
"REMOVED": indicates that the finding was present and matched the
filter at the start of compare_duration, but did not match
the filter at read_time.
If compare_duration is not specified, then the only possible state_change
is "UNUSED", which will be the state_change set for all findings present at
read_time.
Expression that defines the filter to apply across findings.
The expression is a list of one or more restrictions combined via logical
operators AND and OR.
Parentheses are supported, and OR has higher precedence than AND.
Restrictions have the form <field> <operator> <value> and may have a -
character in front of them to indicate negation. Examples include:
name
source_properties.a_property
security_marks.marks.marka
The supported operators are:
= for all value types.
>, <, >=, <= for integer values.
:, meaning substring matching, for strings.
The supported value types are:
string literals in quotes.
integer literals without quotes.
boolean literals true and false without quotes.
The following field and operator combinations are supported:
name: =
parent: =, :
resource_name: =, :
state: =, :
category: =, :
external_uri: =, :
event_time: =, >, <, >=, <=
severity: =, :
Usage: This should be milliseconds since epoch or an RFC3339 string.
Examples:
event_time = "2019-06-10T16:07:18-07:00"event_time = 1560208038000
Expression that defines what fields and order to use for sorting. The
string value should follow SQL syntax: comma separated list of fields. For
example: "name,resource_properties.a_property". The default sorting order
is ascending. To specify descending order for a field, a suffix " desc"
should be appended to the field name. For example: "name
desc,source_properties.a_property". Redundant space characters in the
syntax are insignificant. "name desc,source_properties.a_property" and "
name desc , source_properties.a_property " are equivalent.
The following fields are supported:
name
parent
state
category
resource_name
event_time
source_properties
security_marks.marks
The value returned by the last ListFindingsResponse; indicates
that this is a continuation of a prior ListFindings call, and
that the system should return the next page of data.
Required. Name of the source the findings belong to. Its format is
"organizations/[organization_id]/sources/[source_id],
folders/[folder_id]/sources/[source_id], or
projects/[project_id]/sources/[source_id]". To list across all sources
provide a source_id of -. For example:
organizations/{organization_id}/sources/-, folders/{folder_id}/sources/- or
projects/{projects_id}/sources/-
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis documentation is for the \u003ccode\u003eListFindingsRequest\u003c/code\u003e class, which is part of the Google Cloud Security Command Center v1p1beta1 API and is used for listing findings.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eListFindingsRequest\u003c/code\u003e class implements interfaces such as \u003ccode\u003eIPageRequest\u003c/code\u003e, \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, indicating its role in handling requests, message serialization, comparison, cloning, and buffering.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eListFindingsRequest\u003c/code\u003e class include \u003ccode\u003eCompareDuration\u003c/code\u003e, \u003ccode\u003eFieldMask\u003c/code\u003e, \u003ccode\u003eFilter\u003c/code\u003e, \u003ccode\u003eOrderBy\u003c/code\u003e, \u003ccode\u003ePageSize\u003c/code\u003e, \u003ccode\u003ePageToken\u003c/code\u003e, \u003ccode\u003eParent\u003c/code\u003e, and \u003ccode\u003eReadTime\u003c/code\u003e, which allow for specifying filtering, sorting, pagination, and temporal constraints on the list of findings.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eFilter\u003c/code\u003e property supports various operators and value types, enabling complex filtering based on fields like \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eparent\u003c/code\u003e, \u003ccode\u003eresource_name\u003c/code\u003e, \u003ccode\u003estate\u003c/code\u003e, and \u003ccode\u003esource_properties\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eParent\u003c/code\u003e property is a required field to identify the source to which the findings belong, specifying the organization, folder, or project.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Security Command Center v1p1beta1 API - Class ListFindingsRequest (3.0.0-beta05)\n\nVersion latestkeyboard_arrow_down\n\n- [3.0.0-beta05 (latest)](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.ListFindingsRequest)\n- [3.0.0-beta04](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/3.0.0-beta04/Google.Cloud.SecurityCenter.V1P1Beta1.ListFindingsRequest)\n- [2.0.0-beta07](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/2.0.0-beta07/Google.Cloud.SecurityCenter.V1P1Beta1.ListFindingsRequest) \n\n public sealed class ListFindingsRequest : IPageRequest, IMessage\u003cListFindingsRequest\u003e, IEquatable\u003cListFindingsRequest\u003e, IDeepCloneable\u003cListFindingsRequest\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Security Command Center v1p1beta1 API class ListFindingsRequest.\n\nRequest message for listing findings. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ListFindingsRequest \n\nImplements\n----------\n\n[IPageRequest](https://github.com/googleapis/gax-dotnet/blob/83f42b5edc4529818dbdb34d9ea9ecc3c04f7b6e/Google.Api.Gax.Grpc/PagedEnumerableCommon.cs), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ListFindingsRequest](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.ListFindingsRequest), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ListFindingsRequest](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.ListFindingsRequest), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ListFindingsRequest](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.ListFindingsRequest), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.SecurityCenter.V1P1Beta1](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1)\n\nAssembly\n--------\n\nGoogle.Cloud.SecurityCenter.V1P1Beta1.dll\n\nConstructors\n------------\n\n### ListFindingsRequest()\n\n public ListFindingsRequest()\n\n### ListFindingsRequest(ListFindingsRequest)\n\n public ListFindingsRequest(ListFindingsRequest other)\n\nProperties\n----------\n\n### CompareDuration\n\n public Duration CompareDuration { get; set; }\n\nWhen compare_duration is set, the ListFindingsResult's \"state_change\"\nattribute is updated to indicate whether the finding had its state changed,\nthe finding's state remained unchanged, or if the finding was added in any\nstate during the compare_duration period of time that precedes the\nread_time. This is the time between (read_time - compare_duration) and\nread_time.\n\nThe state_change value is derived based on the presence and state of the\nfinding at the two points in time. Intermediate state changes between the\ntwo times don't affect the result. For example, the results aren't affected\nif the finding is made inactive and then active again.\n\nPossible \"state_change\" values when compare_duration is specified:\n\n- \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time.\n- \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time.\n- \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time.\n- \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time.\n\nIf compare_duration is not specified, then the only possible state_change\nis \"UNUSED\", which will be the state_change set for all findings present at\nread_time.\n\n### FieldMask\n\n public FieldMask FieldMask { get; set; }\n\nA field mask to specify the Finding fields to be listed in the response.\nAn empty field mask will list all fields.\n\n### Filter\n\n public string Filter { get; set; }\n\nExpression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form `\u003cfield\u003e \u003coperator\u003e \u003cvalue\u003e` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n- name\n- source_properties.a_property\n- security_marks.marks.marka\n\nThe supported operators are:\n\n- `=` for all value types.\n- `\u003e`, `\u003c`, `\u003e=`, `\u003c=` for integer values.\n- `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n- string literals in quotes.\n- integer literals without quotes.\n- boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n- name: `=`\n- parent: `=`, `:`\n- resource_name: `=`, `:`\n- state: `=`, `:`\n- category: `=`, `:`\n- external_uri: `=`, `:`\n- event_time: `=`, `\u003e`, `\u003c`, `\u003e=`, `\u003c=`\n- severity: `=`, `:`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `event_time = \"2019-06-10T16:07:18-07:00\"`\n `event_time = 1560208038000`\n\nsecurity_marks.marks: `=`, `:`\nsource_properties: `=`, `:`, `\u003e`, `\u003c`, `\u003e=`, `\u003c=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `source_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-source_properties.my_property : \"\"`\n\n### OrderBy\n\n public string OrderBy { get; set; }\n\nExpression that defines what fields and order to use for sorting. The\nstring value should follow SQL syntax: comma separated list of fields. For\nexample: \"name,resource_properties.a_property\". The default sorting order\nis ascending. To specify descending order for a field, a suffix \" desc\"\nshould be appended to the field name. For example: \"name\ndesc,source_properties.a_property\". Redundant space characters in the\nsyntax are insignificant. \"name desc,source_properties.a_property\" and \"\nname desc , source_properties.a_property \" are equivalent.\n\nThe following fields are supported:\nname\nparent\nstate\ncategory\nresource_name\nevent_time\nsource_properties\nsecurity_marks.marks\n\n### PageSize\n\n public int PageSize { get; set; }\n\nThe maximum number of results to return in a single response. Default is\n10, minimum is 1, maximum is 1000.\n\n### PageToken\n\n public string PageToken { get; set; }\n\nThe value returned by the last `ListFindingsResponse`; indicates\nthat this is a continuation of a prior `ListFindings` call, and\nthat the system should return the next page of data.\n\n### Parent\n\n public string Parent { get; set; }\n\nRequired. Name of the source the findings belong to. Its format is\n\"organizations/\\[organization_id\\]/sources/\\[source_id\\],\nfolders/\\[folder_id\\]/sources/\\[source_id\\], or\nprojects/\\[project_id\\]/sources/\\[source_id\\]\". To list across all sources\nprovide a source_id of `-`. For example:\norganizations/{organization_id}/sources/-, folders/{folder_id}/sources/- or\nprojects/{projects_id}/sources/-\n\n### ParentAsSourceName\n\n public SourceName ParentAsSourceName { get; set; }\n\n[SourceName](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.SourceName)-typed view over the [Parent](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.ListFindingsRequest#Google_Cloud_SecurityCenter_V1P1Beta1_ListFindingsRequest_Parent) resource name property.\n\n### ReadTime\n\n public Timestamp ReadTime { get; set; }\n\nTime used as a reference point when filtering findings. The filter is\nlimited to findings existing at the supplied time and their values are\nthose at that specific time. Absence of this field will default to the\nAPI's version of NOW."]]