UpdateReferenceList parity mapping
This guide details the request and response mapping specifications and property parity analysis for migrating from the legacy Backstory Reference List API (UpdateReferenceList) to the modern Chronicle API (UpdateReferenceList).
Protocol and mapping overview
| Feature | Legacy API (UpdateReferenceList) |
Modern Chronicle API (UpdateReferenceList) |
|---|---|---|
| HTTP Method | PATCH |
PATCH |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/referenceLists.update |
Request payload field-by-field parity
The modern Chronicle API UpdateReferenceListRequest scopes updates using canonical Google Cloud resource paths and renames payload attributes.
Legacy Field (UpdateReferenceListRequest / ReferenceList) |
Modern Field (UpdateReferenceListRequest / ReferenceList) |
Field type | Parity & Migration Notes |
|---|---|---|---|
list.name |
reference_list.name (in HTTP path) |
string |
Google Cloud Scoping Context / Renaming: The legacy request used path format lists/{list} under list.name. The modern API routes this using canonical Google Cloud resource paths under reference_list.name: projects/{project}/locations/{location}/instances/{instance}/referenceLists/{reference_list}. |
list |
reference_list |
ReferenceList |
Parity Mapped / Renamed: The payload containing reference list properties. Rename from list to referenceList in JSON requests. |
update_mask |
update_mask |
FieldMask |
Parity Mapped / Behavior Note: Standard FieldMask selecting updated properties. When no mask is supplied, all non-empty fields will be updated. A mask of * updates all fields, whether empty or not. Rename to updateMask in JSON. |
Nested ReferenceList payload fields mapped
The fields mapping inside the ReferenceList request is as follows:
Legacy Field (ReferenceList request) |
Modern Field (ReferenceList request) |
Field type | Parity & Migration Notes |
|---|---|---|---|
name |
name |
string |
Contains canonical Google Cloud resource path identifying the list to update. |
description |
description |
string |
Parity Mapped: User-provided description text. |
lines |
entries |
repeated string $\rightarrow$ repeated ReferenceListEntry |
Restructured: Legacy flat array of string lines is restructured into a repeated list of ReferenceListEntry messages (entries[].value). |
content_type |
syntax_type |
enum |
Renamed / Value Alignment: Renamed from content_type to syntax_type. Enum mappings:• CONTENT_TYPE_DEFAULT_STRING $\rightarrow$ REFERENCE_LIST_SYNTAX_TYPE_PLAIN_TEXT_STRING• REGEX $\rightarrow$ REFERENCE_LIST_SYNTAX_TYPE_REGEX (for regular expressions)• CIDR $\rightarrow$ REFERENCE_LIST_SYNTAX_TYPE_CIDR. Rename to syntaxType in JSON. |
| — | scope_info |
ScopeInfo |
New Field: Specifies Data RBAC access scopes (scope_info.reference_list_scope.scope_names). If requested to be updated, this field must be set. Rename to scopeInfo in JSON. |
create_time |
revision_create_time |
Timestamp |
Ignored / Output-Only: Populated post-update by backend storage engines. |
Response payload field-by-field parity
Both responses return the updated reference list representation, with the modern API enriching return payloads with rule associations and RBAC scopes.
Legacy Field (ReferenceList response) |
Modern Field (ReferenceList response) |
Field type | Parity & Migration Notes |
|---|---|---|---|
name |
name |
string |
Parity Mapped: Contains standard Google Cloud canonical resource path: projects/{pr}/locations/{loc}/instances/{in}/referenceLists/{id}. |
| — | display_name |
string |
New Field: The unique display title of the reference list. Rename to displayName in JSON responses. |
description |
description |
string |
User-provided description text. |
lines |
entries |
repeated ReferenceListEntry |
Restructured: Each item is returned as a ReferenceListEntry message containing string value = 1;. |
content_type |
syntax_type |
enum |
Renamed: Returns ReferenceListSyntaxType enum representing list validation rules (PLAIN_TEXT_STRING, REGEX, CIDR). Rename to syntaxType in JSON. |
create_time |
revision_create_time |
Timestamp |
Renamed: Timestamp recording when the updated revision was created. Rename to revisionCreateTime in JSON. |
| — | rules |
repeated string |
New Field: Array of self-authored detection rule names associating with this list. |
| — | rule_associations_count |
int32 |
New Field: Total count of active self-authored rules referencing this list. Rename to ruleAssociationsCount in JSON. |
| — | scope_info |
ScopeInfo |
New Field: Data RBAC scoping boundaries assigned to the list. Rename to scopeInfo in JSON. |
Key differences
- Google Cloud Project Scoping and Field Renaming:
- Scoped natively under parent project instance folder bindings (
reference_list.namepath parameter). - Notice that on the request message, the payload field is renamed from
listtoreference_list.
- Scoped natively under parent project instance folder bindings (
- Payload Restructuring:
- Plain string line arrays in legacy
linesare wrapped inside structuredReferenceListEntrymessages underentries(for example,repeated string$\rightarrow$repeated ReferenceListEntry).
- Plain string line arrays in legacy
- Syntax Type and Field Renaming:
- Legacy
content_typeis renamed tosyntax_typewith clearer enum prefixing (REFERENCE_LIST_SYNTAX_TYPE_*). Legacycreate_timeis renamed torevision_create_time.
- Legacy
- Rule Tracking and Scoping Enrichment:
- The modern response enriches return payloads with RBAC scoping (
scope_info) and rule association analytics (rulesarray andrule_associations_count).
- The modern response enriches return payloads with RBAC scoping (