GetRule (V1) parity mapping
This guide details the request and response mapping specifications and property parity analysis for migrating from the legacy Backstory Rules Engine V1 API (GetRule) to the modern Chronicle API (GetRule).
Protocol and mapping overview
| Feature | Legacy API (GetRule V1) |
Modern Chronicle API (GetRule) |
|---|---|---|
| HTTP method | GET |
GET |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/rules.get |
Request payload field-by-field parity
The modern request scopes retrieval parameters using Google Cloud canonical resource paths rather than separate UUIDs.
Legacy field (GetRuleRequest V1) |
Modern field (GetRuleRequest) |
Field type | Parity and migration notes |
|---|---|---|---|
rule_id |
name (in HTTP path) |
string |
Google Cloud scoping / consolidated ID: Legacy passed the raw {rule_id} in the URL path. The modern API routes this using the standard Google Cloud resource path: projects/{project}/locations/{location}/instances/{instance}/rules/{rule_id} (where you target the root YARA-L rule UUID). |
| — | view |
enum |
New parameter: Selects the rule view scope (RuleView enum: RULE_VIEW_UNSPECIFIED, BASIC, REVISION_METADATA_ONLY, CONFIG_ONLY, FULL, TRENDS). Defaults to FULL for single rule fetches. |
Response payload field-by-field parity
Both APIs return the retrieved Rule representation, with the modern API enriching return structures with compilation diagnostics and parsed metadata.
Legacy field (Rule response V1) |
Modern field (Rule response) |
Field type | Parity and migration notes |
|---|---|---|---|
rule_id |
name |
string |
Consolidated: Legacy separate identifier strings are unified into the canonical Google Cloud resource path: projects/{project}/locations/{location}/instances/{instance}/rules/{rule_id}. |
rule |
text |
string |
Renamed: The YARA-L rule content. Rename to text in JSON. |
etag |
etag |
string |
Direct map: Concurrency control token used in updates. |
| — | revision_id |
string |
New field: Represents the unique version checksum string. |
| — | display_name |
string |
New field: The user-specified title display name of the rule. |
| — | author |
string |
New field: Author name metadata extracted from YARA-L comments. |
| — | metadata |
map<string, string> |
New field: Structured user-defined YARA-L metadata headers. |
| — | create_time |
Timestamp |
New field: Timestamp of when the rule was originally created. |
| — | revision_create_time |
Timestamp |
New field: Timestamp when the rule revision was written. |
| — | compilation_state / compilation_diagnostics |
enum / repeated Message |
New fields: Detailed compilation status and parse diagnostic warnings. |
| — | type |
enum RuleType |
New field: Infers rule type (SINGLE_EVENT versus MULTI_EVENT). |
| — | reference_lists |
repeated string |
New field: Extracted list of resource names for Reference Lists referenced in the Yara-L rule. |
| — | allowed_run_frequencies |
repeated RunFrequency |
New field: Execution frequencies allowed for the rule based on Yara-L complexity (for example, LIVE, HOURLY, DAILY). |
| — | scope |
string |
New field: Data RBAC scope resource name associated with the rule. |
| — | near_real_time_live_rule_eligible |
bool |
New field: Flag indicating whether the rule is eligible for near-real-time streaming detection. |
| — | data_tables |
repeated string |
New field: Resource names of Data Tables referenced by this rule. |
| — | has_nonexistence_checks |
bool |
New field: Flag indicating whether the rule implements non-existence checks. |
Key differences
- Google Cloud project scoping integration:
- Scoped natively under parent project instance folder bindings (
projects/{project}/locations/{location}/instances/{instance}).
- Scoped natively under parent project instance folder bindings (
- YARA-L field renaming:
- The rule content parameter is renamed from
rulein V1 totextin the modern Chronicle API.
- The rule content parameter is renamed from
- Compilation reporting and syntax resolution:
- Modern APIs automatically run compilation validations and expose rich warning objects (
compilation_diagnostics), while resolving YARA-L references to Reference Lists and Data Tables.
- Modern APIs automatically run compilation validations and expose rich warning objects (
- IAM permissions:
- Request validation maps to standard Cloud IAM permission validation check (
chronicle.googleapis.com/rules.get).
- Request validation maps to standard Cloud IAM permission validation check (