ListDetections (V2) parity mapping
This guide details the request and response mapping specifications and property parity analysis for migrating from the legacy Backstory Rules Engine V2 API (ListDetections) to the modern Chronicle API (LegacySearchDetections).
Protocol and mapping overview
| Feature | Legacy API (ListDetections V2) |
Modern Chronicle API (LegacySearchDetections) |
|---|---|---|
| HTTP method | GET |
GET |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/legacies.legacySearchDetections |
Request payload field-by-field parity
The modern Chronicle API LegacySearchDetectionsRequest scopes search queries under parent project instances and renames bounding range timestamps.
Legacy field (ListDetectionsRequest) |
Modern field (LegacySearchDetectionsRequest) |
Field type | Parity & migration notes |
|---|---|---|---|
| — | instance (in HTTP path) |
string |
Google Cloud scoping context / new field: Scopes structural queries under target instance environments: projects/{project}/locations/{location}/instances/{instance_uuid}. |
version_id |
rule_id |
string |
Renamed: Target rule identification path parameter segment name (can accept {rule_id}, {rule_id}@{version_ts}, {rule_id}@*, or *). Rename to ruleId in JSON. Note: Proto tag number changed from 1 to 2. |
alert_state |
alert_state |
enum |
Direct map / identical: Alert state filter (SecurityResult.AlertState enum: ALERTING, NOT_ALERTING). Rename to alertState in JSON. Note: Proto tag number changed from 2 to 3. |
start_time / detection_start_time |
start_time |
Timestamp |
Consolidated / tag shift: Legacy separate start time parameters are unified into start_time. Note: Proto tag number changed to 4. Rename to startTime in JSON. |
end_time / detection_end_time |
end_time |
Timestamp |
Consolidated / tag shift: Legacy separate end time parameters are unified into end_time. Note: Proto tag number changed to 5. Rename to endTime in JSON. |
list_basis |
list_basis |
enum |
Direct map: Selection metric used for filtering timestamps (DETECTION_TIME versus CREATED_TIME). Note: Proto tag number changed from 9 to 6. Rename to listBasis in JSON. |
page_size |
page_size |
int32 |
Direct map: Pagination window size limits. Note: Proto tag number changed from 5 to 7. Rename to pageSize in JSON. |
page_token |
page_token |
string |
Direct map: Pagination resumption token. Note: Proto tag number changed from 6 to 8. Rename to pageToken in JSON. |
include_simulated_detections |
include_simulated_detections or simulated_data_visibility |
bool or enum |
Direct map / enriched: Allows specifying simulated detection visibility. Note: Proto tag number changed from 10 to 11 and 12. |
| — | max_resp_size_bytes |
int32 |
New field: Restricts response size in bytes to prevent large message serialization heap overflows. Rename to maxRespSizeBytes in JSON. |
| — | include_nested_detections |
bool |
New field: Toggles whether to recursively nest dependent children detections in output streams. Rename to includeNestedDetections in JSON. |
Response payload field-by-field parity
The response returns repeated detections or nested detection structures depending on whether nesting query filters are enabled in requests.
Legacy field (ListDetectionsResponse) |
Modern field (LegacySearchDetectionsResponse) |
Field type | Parity & migration notes |
|---|---|---|---|
detections |
detections |
repeated Collection |
Direct map: Array list of matched detections (represented as backstory.Collection messages). |
next_page_token |
next_page_token |
string |
Direct map: Token to retrieve subsequent pages of detections. Rename to nextPageToken in JSON. |
| — | nested_detection_samples |
repeated DetectionWithSamples |
New field: Nested dependencies returned when include_nested_detections is set to true in requests. |
| — | resp_too_large_detections_truncated |
bool |
New field: Truncation status indicator flagging whether matching detections were omitted to respect max_resp_size_bytes limits. |
Key differences
- Google Cloud project scoping integration:
- Scoped natively under parent project instance folder bindings (
instancepath parameter).
- Scoped natively under parent project instance folder bindings (
- Proto tag rearrangements:
- Proto tags in requests shifted significantly to accommodate parent path integrations (for example,
rule_idtag from 1 to 2,start_timerenamed or moved to 4,end_timeto 5).
- Proto tags in requests shifted significantly to accommodate parent path integrations (for example,
- Response size protection:
- Adds
max_resp_size_bytesand truncation indicators (resp_too_large_detections_truncated) to secure clients against large memory allocations when querying wide detection intervals.
- Adds
- Nested detections support:
- Modern APIs introduce graph nesting capabilities (
include_nested_detectionsandnested_detection_samples) to reconstruct rule inheritance and dependencies.
- Modern APIs introduce graph nesting capabilities (
- IAM permissions:
- Request validation maps to standard Cloud IAM permission validation check (
chronicle.googleapis.com/legacies.legacySearchDetections).
- Request validation maps to standard Cloud IAM permission validation check (