CreateFeed parity mapping
This guide details the request and response mapping specifications and property parity analysis for migrating from the legacy Backstory Feed Management API (CreateFeed) to the modern Chronicle API (CreateFeed).
Protocol and mapping overview
| Feature | Legacy API (CreateFeed) |
Modern Chronicle API (CreateFeed) |
|---|---|---|
| HTTP method | POST |
POST |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/feeds.create |
Request payload field-by-field parity
The modern Chronicle API CreateFeedRequest requires parent scoping and maps feed configuration attributes to equivalent fields.
Legacy field (CreateFeedRequest / Feed) |
Modern field (CreateFeedRequest / Feed) |
Field type | Parity and migration notes |
|---|---|---|---|
| — | parent (in HTTP path) |
string |
Google Cloud scoping context: Scopes the creation target using the standard resource path in the HTTP URL path. Pattern: projects/{project}/locations/{location}/instances/{instance_uuid}. |
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). |
feed.name |
feed.name |
string |
Ignored / output-only: Although the field exists in the modern Feed structure, it is generated by the server and should not be provided in the request payload. |
feed.uid / feed.reference_id |
feed.uid / feed.reference_id |
string |
Ignored / output-only: Identifiers generated during creation. |
feed.feed_state |
feed.state |
enum |
Ignored / output-only: State is managed by the ingestion pipeline. |
feed.read_only / feed.failure_msg / timestamps |
— | — | Ignored / output-only: Status flags and error details are populated post-creation by backend collectors. |
Response payload field-by-field parity
Both the legacy Backstory Feed Management API (CreateFeed) and the modern Chronicle API (CreateFeed) responses return the created 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}/instance/{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.
- 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
- Proto tag number rearrangements:
- In binary wire protocol formatting, tag numbers for core fields changed (
display_namemoved from tag 6 to 2;detailsmoved from tag 2 to 3;read_onlymoved from tag 4 to 6).
- In binary wire protocol formatting, tag numbers for core fields changed (