The DataSet must be shown in a LOADED state in the results of list method; otherwise, all events from the append request will be dropped, and a NOT_FOUND status will be returned.
All events in a single request must have the same groupId if set; otherwise, an INVALID_ARGUMENT status will be returned.
If groupId is not set (or 0), there should be only 1 event; otherwise, an INVALID_ARGUMENT status will be returned.
The events must be newer than the current time minus DataSet TTL or they will be dropped.
Response body
Response for an appendEvents RPC.
If successful, the response body contains data with the following structure:
Optionally, an opaque group ID that allows clients to group logically related events (for example, all events representing payment transactions done by a user in a day can be assigned the same group ID). A group ID can be considered a generalization of a session ID. All events with the same group id are in the same group, and event slicing is applied to the groups. If a group ID is not provided, an internal one will be generated based on the content and eventTime, and each event is a group by itself.
NOTE:
Internally, we discretize time in equal-sized chunks and we assume an event has a 0 TimeseriesPoint.value in a chunk that does not contain any occurrences of an event in the input.
The number of Events with the same group ID should be limited.
Group ID cannot be queried.
Group ID does not correspond to a user ID or the like. If a user ID is of interest to be queried, use a user ID dimension instead.
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
EventDimension
Represents an event dimension.
JSON representation
{"name": string,// Union field value can be only one of the following:"stringVal": string,"longVal": string,"boolVal": boolean,"doubleVal": number// End of list of possible types for union field value.}
Fields
name
string
Dimension name.
NOTE: EventDimension names must be composed of alphanumeric characters only, and are case insensitive. Unicode characters are not supported. The underscore '_' is also allowed.
Union field value. Dimension value.
NOTE: All entries of the dimension name must have the same value type. Violating this assumption will cause such dimensions dropped. value can be only one of the following:
stringVal
string
String representation.
NOTE: String values are case insensitive. Unicode characters are supported.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-17 UTC."],[],[],null,["# Method: projects.locations.datasets.appendEvents\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.AppendEventsResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [IAM Permissions](#body.aspect_1)\n- [Event](#Event)\n - [JSON representation](#Event.SCHEMA_REPRESENTATION)\n- [EventDimension](#EventDimension)\n - [JSON representation](#EventDimension.SCHEMA_REPRESENTATION)\n- [Examples](#examples)\n\nAppend events to a `LOADED` [DataSet](/timeseries-insights/docs/reference/rest/v1/projects.locations.datasets#DataSet).\n\n### HTTP request\n\n`POST https://timeseriesinsights.googleapis.com/v1/{dataset=projects/*/locations/*/datasets/*}:appendEvents`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nResponse for an `appendEvents` RPC.\n\nIf successful, the response body contains data with the following structure:\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n\nFor more information, see the [Authentication Overview](https://cloud.google.com/docs/authentication/).\n\n### IAM Permissions\n\nRequires the following [IAM](https://cloud.google.com/iam/docs) permission on the `dataset` resource:\n\n- `timeseriesinsights.datasets.update`\n\nFor more information, see the [IAM documentation](https://cloud.google.com/iam/docs).\n\nEvent\n-----\n\nRepresents an entry in a data source.\n\nEach Event has:\n\n- A timestamp at which the event occurs.\n- One or multiple dimensions.\n- Optionally, an opaque group ID that allows clients to group logically related events (for example, all events representing payment transactions done by a user in a day can be assigned the same group ID). A group ID can be considered a generalization of a session ID. All events with the same group id are in the same group, and event slicing is applied to the groups. If a group ID is not provided, an internal one will be generated based on the content and `eventTime`, and each event is a group by itself.\n\n**NOTE**:\n\n- Internally, we discretize time in equal-sized chunks and we assume an event has a 0 [TimeseriesPoint.value](/timeseries-insights/docs/reference/rest/v1/EvaluatedSlice#TimeseriesPoint.FIELDS.value) in a chunk that does not contain any occurrences of an event in the input.\n- The number of Events with the same group ID should be limited.\n- Group ID **cannot** be queried.\n- Group ID does **not** correspond to a user ID or the like. If a user ID is of interest to be queried, use a user ID `dimension` instead.\n\nEventDimension\n--------------\n\nRepresents an event dimension."]]