Update time series

This can also be used to create a time series by setting allowMissing to true.

Updating a time series will usually create a new version of the time series. However, by explicitly setting a known time, any version may be changed or updated. If a value already exists with exactly the same timestamp and known time, it will be updated. Otherwise a new point will be created.

If a timestamp that is previously known is not included, its value is not deleted, even though it is within the range of this update. The old value will simply continue to exist at the new version. Data points without values are cleared from this version, meaning that the old value will continue to exist up until the new version, then cease to exist.

Time series storage is optimized by discarding values which haven't changed from the previous versions. Note that this optimization may cause surprising behavior when updating older versions. When older versions are updated, it is therefore recommended to perform a full backload from this version on.

The default knownTime for a data point is insertion time, i.e. same as setting currentTime to true. To override the default behaviour, set one of the defaultKnownTime fields.

Note: Exabel only supports processing time series with daily or lower resolution. Timestamps must be RFC 3339 timestamps, normalised to midnight UTC, e.g. 2020-01-01T00:00:00Z.

The optional view argument lets you request for time series data points to be returned within a date range. If this is not set, no values are returned.

Path Params
string
required

The ID of an entity type, e.g. entityTypeIdentifier or namespace.entityTypeIdentifier. The namespace must be empty (being global) or a namespace accessible to the customer. The entity type identifier must match the regex \w[\w-]{0,63}.

string
required

The ID of an entity, e.g. entityIdentifier or namespace.entityIdentifier. The namespace must be empty (being global) or a namespace accessible to the customer. The entity identifier must match the regex \w[\w-]{0,63}.

string
required

The ID of a signal, e.g. signalIdentifier or namespace.signalIdentifier. The namespace must be empty (being global) or a namespace accessible to the customer. The signal identifier must match the regex [a-zA-Z]\w{0,63}.

Query Params
date-time

Start of the time range, included in the range by default.

boolean

Set to true to exclude the start point from the range.

date-time

End of the time range, excluded from the range by default.

boolean

Set to true to include the end point in the range.

date-time

Specifies that the time series should be returned as it was known at this time (in the past). Data points known after this time are disregarded. If not set, the latest data points are returned.

boolean

Specifies the current system time as the default known time for all inserted data points.

date-time

Specifies a specific timestamp as the default known time for all inserted data points.

string

Specifies a time offset from each data point's timestamp to be its default known time in seconds. Formatted as a signed number with the suffix s.

boolean

This field is not in use anymore.

boolean

Whether time series storage optimisation should be enabled or not. If not set, optimisation is at the discretion of the server.

boolean

If set to true, new time series will be created if they did not exist.

boolean

Set to true to first delete all data from existing time series, including units. This means that all historical, point-in-time and units data for the time series will be destroyed and replaced with the data in this call. Use with care! For instance: If this flag is set, and an import job splits one time series over multiple calls, only the data in the last call will be kept.

boolean

Specifies that the known times of all inserted points are a fixed timestamp specified in insert_options.defaultKnownTime, and additionally that all existing values of the time series should be unset at this timestamp. If this is set, either insert_options.defaultKnownTime.currentTime or insert_options.defaultKnownTime.knownTime must be set, and it is an error to specify the known time of any inserted points. Use with care! For instance: If this flag is set, and an import job splits one time series over multiple calls, only the data in the last call will be kept.

boolean

Whether to remove existing data points for other known times of the inserted time series points. Data points for times not present in the request will be left untouched.

boolean

Specifies the current system time as the default known time for all inserted data points.

date-time

Specifies a specific timestamp as the default known time for all inserted data points.

string

Specifies a time offset from each data point's timestamp to be its default known time.

boolean

This field is deprecated and replaced with update_options.allowMissing.

boolean

This field is not in use anymore.

boolean

This field is deprecated and replaced with insert_options.should_optimise.

boolean

This field is deprecated and replaced with update_options.replace_knownTime.

Body Params

The time series to update. The data in this request and the existing data are merged together: All points in the request will overwrite the existing points with the same key, unless the new value is empty, in which case the point will be deleted.

points
array of objects

List of time series data points. Data points are always returned by Exabel in chronological order (earliest first).

points
units
object

The units of a time series. Not all time series have known units, in which case its units field is not present. If present, but empty, the unit of the time series is known to be dimensionless and unscaled.

Responses

Language
Credentials
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json