UpdateFeed parity mapping
This guide details the request and response mapping specifications and property parity analysis for migrating from the legacy Backstory Feed Management API (UpdateFeed) to the modern Chronicle API (UpdateFeed).
Protocol and mapping overview
| Feature | Legacy API (UpdateFeed) |
Modern Chronicle API (UpdateFeed) |
|---|---|---|
| HTTP method | PATCH |
PATCH |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/feeds.update |
Request payload field-by-field parity
The modern Chronicle API UpdateFeedRequest targets resources using Google Cloud resource name paths and enforces strict validation rules on field masking.
Legacy field (UpdateFeedRequest / Feed) |
Modern field (UpdateFeedRequest / Feed) |
Field type | Parity and migration notes |
|---|---|---|---|
feed.name |
feed.name (in HTTP path) |
string |
Google Cloud scoping context: The legacy request used path format feeds/<id>. The modern API routes this using the standard Google Cloud resource tree structure: projects/{project}/locations/{region}/instances/{instance}/feeds/{id}. |
feed.display_name |
feed.display_name |
string |
Parity mapped: Customer-provided feed name. Rename to displayName in JSON payloads. Note: Proto tag number changed from 6 (legacy) to 2 (modern). |
feed.details |
feed.details |
FeedDetails |
Parity mapped: Configuration details block for the specific feed source type. Note: Proto tag number changed from 2 (legacy) to 3 (modern). |
update_mask |
update_mask |
FieldMask |
Parity mapped / restriction note: Standard FieldMask selecting updated properties. In the modern Chronicle API, to update displayName, pass only displayName in update_mask. To update other parameters, omit displayName. Passing an existing displayName alongside other updates fails. |
feed.uid / reference_id |
feed.uid / reference_id |
string |
Ignored / output-only: System identifiers generated during creation and ignored in update payloads. |
feed.feed_state |
feed.state |
enum |
Ignored / output-only: Ingestion state is managed by pipeline workers. Use EnableFeed/DisableFeed to modify state. |
feed.read_only / failure_msg / timestamps |
— | — | Ignored / output-only: Status flags and error details are populated post-execution by backend collectors. |
Response payload field-by-field parity
Both the legacy Backstory Feed Management API (UpdateFeed) and the modern Chronicle API (UpdateFeed) responses return the modified Feed message representation.
Legacy field (Feed message) |
Modern field (Feed message) |
Field type | Parity and migration notes |
|---|---|---|---|
name |
name |
string |
Parity mapped: Contains the standard canonical resource path: projects/{project}/locations/{location}/instances/{instances}/feeds/{feed_id}. |
display_name |
display_name |
string |
Rename to displayName in JSON responses. |
details |
details |
FeedDetails |
Contains dynamic source-specific configuration properties. |
feed_state |
state |
enum |
Renamed / value alignment: Renamed from feed_state to state. Note enum value changes:• ACTIVE → ACTIVE• INACTIVE → INACTIVE• IN_PROGRESS → RUNNING• COMPLETED → SUCCEEDED• FAILED → FAILED. |
uid |
uid |
string |
Unique UUID4 identifier for the feed. |
reference_id |
reference_id |
string |
Reference identifier containing legacy ID references. |
read_only |
read_only |
bool |
Rename to readOnly in JSON. |
failure_msg |
failure_msg |
string |
Rename to failureMsg in JSON. |
failure_details |
failure_details |
FeedFailureDetails |
Structured error details (error_code, http_error_code, error_cause, error_action). Rename to failureDetails in JSON. |
last_feed_initiation_time |
last_feed_initiation_time |
Timestamp |
Rename to lastFeedInitiationTime in JSON. |
Key differences between the Backstory and Chronicle APIs
- Google Cloud project scoping integration:
- Scoped natively under parent project instance folder bindings.
- Strict fieldmask restrictions:
- The modern Chronicle API imposes stricter validation on
update_mask: updating the display name must be isolated from updating other feed details, preventing unintended name collisions.
- The modern Chronicle API imposes stricter validation on
- State naming and enum shifts:
- The status enum field is renamed from
feed_statetostate. Ingestion progress stages changed names fromIN_PROGRESStoRUNNING, and fromCOMPLETEDtoSUCCEEDED.
- The status enum field is renamed from