UnarchiveRule (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 (UnarchiveRule) to the modern Chronicle API (UpdateRuleDeployment).
Protocol and mapping overview
| Feature | Legacy API (UnarchiveRule V2) |
Modern Chronicle API (UpdateRuleDeployment) |
|---|---|---|
| HTTP method | POST |
PATCH |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/ruleDeployments.update |
Request payload field-by-field parity
The legacy backstory API implemented unarchiving as a dedicated POST RPC endpoint. The modern Chronicle API models unarchiving as a PATCH modification of the archived boolean attribute on RuleDeployment (setting it to false).
Legacy field (UnarchiveRuleRequest) |
Modern field (UpdateRuleDeploymentRequest / RuleDeployment) |
Field type | Parity & migration notes |
|---|---|---|---|
version_id |
rule_deployment.name (in HTTP path) |
string |
Google Cloud scoping / resource unification: Legacy passed {rule_id} (or {rule_id}@{version_ts}) in version_id. Modern unarchiving targets the Rule's deployment path (excluding revisions): projects/{project}/locations/{location}/instances/{instance}/rules/{rule_id}/deployment. |
| — | rule_deployment.archived |
bool |
Target attribute mapping: To unarchive a rule, set archived = false. |
| — | update_mask |
FieldMask |
Required mask: Include archived in JSON updateMask. |
Response payload field-by-field parity
In legacy backstory, UnarchiveRule returned an empty response. In the modern API, UpdateRuleDeployment returns the modified deployment state.
Legacy field (Empty response) |
Modern field (RuleDeployment response) |
Field type | Parity & migration notes |
|---|---|---|---|
google.protobuf.Empty |
name |
string |
Canonical resource path name: projects/{project}/locations/{location}/instances/{instance}/rules/{rule_id}/deployment. |
| — | archived |
bool |
Returns false confirming rule unarchived state. |
| — | archive_time |
Timestamp |
Cleared or empty since the rule is no longer archived. |
| — | enabled, alerting, or run_frequency |
bool or enum |
Returns other deployment properties (restored to inactive by default, allowing subsequent enable PATCH requests). |
Key differences
- Google Cloud project scoping integration:
- Scoped natively under parent project instance folder bindings (
rule_deployment.namepath parameter).
- Scoped natively under parent project instance folder bindings (
- Stateful attributes (archived):
- Rather than launching custom
POSTendpoints:archiveor:unarchive, unarchiving is parameterized as a boolean flagarchived = falseinside the sub-resourceRuleDeployment.
- Rather than launching custom
- IAM permissions:
- Request validation maps to standard Cloud IAM permission check (
chronicle.googleapis.com/ruleDeployments.update).
- Request validation maps to standard Cloud IAM permission check (