UnarchiveRule (V2) parity mapping

Supported in:

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.name path parameter).
  • Stateful attributes (archived):
    • Rather than launching custom POST endpoints :archive or :unarchive, unarchiving is parameterized as a boolean flag archived = false inside the sub-resource RuleDeployment.
  • IAM permissions:
    • Request validation maps to standard Cloud IAM permission check (chronicle.googleapis.com/ruleDeployments.update).