How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Cognite Time series API

A time series consists of a sequence of data points connected to asingle asset. For example, a water pump asset can have a temperature timeseries that records a data point in units of °C every second.A single asset can have several time series. The water pump could have additional time seriesmeasuring pressure within the pump, rpm, flow volume, power consumption, and more.Timeseries store data points as either numbers or strings. This is controlled by theis_string flag on the time series object. Numerical data points can be aggregatedbefore they are returned from a query (e.g., to find the average temperature fora day). String data points, on the other hand, can't be aggregated by CDF butcan store arbitrary information like states (e.g., “open”/”closed”) or more complexinformation (JSON).Cognite stores discrete data points, but the underlyingprocess measured by the data points can vary continuously. When interpolatingbetween data points, we can either assume that each value stays the same untilthe next measurement or linearly changes between the two measurements.The `isStep` flag controls this on the time series object. For example,if we estimate the average over a time containing two data points, the averagewill either be close to the first (`isStep`) or close to the mean of the two (not`isStep`).A data point stores a single piece of information, a number or astring, associated with a specific time. Data points are identified by their timestamps,measured in milliseconds since the unix epoch -- 00:00:00.000, January 1st, 1970.The time series service accepts timestamps in the range from 00:00:00.000, January 1st, 1900through 23:59:59.999, December 31st, 2099 (in other words, every millisecond in the twocenturies from 1900 to but not including 2100). Negative timestamps areused to define dates before 1970. Milliseconds is the finest time resolution supported by CDF, i.e.,fractional milliseconds are not supported. Leap seconds are not counted.Numerical data points can be aggregated before they are retrieved from CDF. This allows for faster queries by reducingthe amount of data transferred. You can aggregate data points by specifying oneor more aggregates (e.g., average, minimum, maximum) as well as the time granularityover which the aggregates should be applied (e.g., “1h” for one hour).Aggregates are aligned to the start time modulo the granularity unit. For example, if youask for daily average temperatures since Monday afternoon last week, the firstaggregated data point will contain averages for Monday, the second for Tuesday,etc. Determining aggregate alignment without considering data point timestampsallows CDF to pre-calculate aggregates (e.g., to quickly return daily average temperaturesfor a year). Consequently, aggregating over 60 minutes can return a differentresult than aggregating over 1 hour because the two queries will be aligned differently.Asset references obtained from a time series - through its asset ID - may be invalid simplyby the non-transactional nature of HTTP. They are maintained in an eventually consistentmanner.

Cognite Time series API is one of 90 APIs that Cognite publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Time Series. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 12 operations across 11 paths, and defines 124 schemas. It is described by OpenAPI 3.2.0, at version v1.

Requests are made against a single base URL, https://{cluster}.cognitedata.com/api/v1/projects/{project}.

12 operations 11 paths 124 schemas 1 GET11 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
v1
Base URL
https://api.cognitedata.com
Authentication
HTTP Bearer, OAuth 2.0, OAuth 2.0, OAuth 2.0, OpenID Connect
Resource Areas
1

Authentication & Security 5

Cognite Time series API declares 5 security schemes for authenticating requests. It accepts HTTP bearer tokens (OpenID Connect or OAuth2 token) (oidc-token). It supports OAuth 2.0 (oauth2-client-credentials) using the clientCredentials flow, exposing 1 scope. It supports OAuth 2.0 (oauth2-auth-code) using the authorizationCode flow, exposing 1 scope. It supports OAuth 2.0 (oauth2-open-industrial-data) using the clientCredentials flow, exposing 1 scope. It supports OpenID Connect (org-oidc-token) discovered at https://auth.cognite.com/.well-known/openid-configuration. By default, every request must be authenticated.

  • oidc-token — Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to acce…
  • oauth2-client-credentials — Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to acce…
  • oauth2-auth-code — Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to acce…
  • oauth2-open-industrial-data — Auth flow for Open Industrial Data. Get your client secret from https://hub.cognite.com/open-industrial-data-211.
  • org-oidc-token — Access token issued by the Cognite authorization server, and valid for the target organization. The token must be an OpenID Connect token, and it can be obtain…

Paths & Operations 12

Across 11 paths, the API surfaces 12 operations — 1 GET, 11 POST. Each is listed below with its method, path, parameters, and response codes.

Time series 12

A time series consists of a sequence of data points connected to a single asset. For example, a water pump asset can have a temperature time series that records a data point in un…

GET
/timeseries
List time series
getTimeSeries 7 params → 200
POST
/timeseries
Create time series
postTimeSeries body → 201400409422
POST
/timeseries/byids
Retrieve time series
getTimeSeriesByIds body → 200400422
POST
/timeseries/list
Filter time series
listTimeSeries body → 200
POST
/timeseries/aggregate
Aggregate time series
aggregateTimeSeries body → 200400
POST
/timeseries/search
Search time series
searchTimeSeries body → 200
POST
/timeseries/update
Update time series
alterTimeSeries body → 200400409422
POST
/timeseries/delete
Delete time series
deleteTimeSeries body → 200400422
POST
/timeseries/data
Insert data points
postMultiTimeSeriesDatapoints body → 200400422
POST
/timeseries/data/list
Retrieve data points
getMultiTimeSeriesDatapoints body → 200400
POST
/timeseries/data/latest
Retrieve latest data point
getLatest body → 200400
POST
/timeseries/data/delete
Delete data points
deleteDatapoints body → 200400

Schemas 124

The contract defines 124 schemas that model the data the API accepts and returns. The most detailed are GetTimeSeriesMetadataDTO (16 properties), Filter (15 properties), DatapointsQueryProperties (13 properties), PostTimeSeriesMetadataDTO (12 properties). Each schema is shown below with its type and property counts.

DataSetIdEither
NotFoundResponseWithoutInstanceId
object
1 property 1 required
TimeSeriesAdvancedAggregateDTO
object
DataGetTimeSeriesMetadataDTO
object
List of responses. The order matches the requests order.
1 property 1 required
JsonArrayInt64
string
TimeSeriesUniqueValuesAggregate
Aggregate
string
DatapointsOrAggregatesResponse
object
The list of responses. The order matches the requests order.
1 property 1 required
TimeSeriesPrefixAggregateFilter
object
1 property 1 required
CogniteInternalId
integer
A server-generated ID for the object.
TimeSeriesPatchDM
object
Changes will be applied to time series. Note that these changes will not be visible in data modeling.
1 property 1 required
DatapointsQueryProperties
object
13 properties
TimeSeriesLookupById
object
PostDatapoint
DatapointsGetDoubleDatapoint
PostTimeSeriesMetadataDTO
object
12 properties
TimeSeriesAggregateProperties
object
1 property 1 required
TimeSeriesBoolFilter
object
A query that matches items matching boolean combinations of other queries. It is built by nesting one or more Boolean clauses, each of which is one of and, or,…
TimeSeriesCreateRequest
object
1 property 1 required
DatapointStatus
object
The [status code]( ) of the datapoint. The most common status codes are:\ Good (0) (Default)\ Uncertain (1073741824)\ Bad (2147483648) Only one of code and sym…
2 properties
TimeSeriesMetadata
object
Custom, application specific metadata. String key - String value. Maximum length of key is 128 bytes, up to 256 key-value pairs, of total size of at most 10000…
TimeSeriesInFilter
object
1 property 1 required
DatapointsResponse
object
The list of responses. The order matches the requests order.
1 property 1 required
DatapointsInsertProperties
object
1 property 1 required
TimeSeriesUpdateByInstanceId
LatestDataPropertyFilter
object
6 properties
ArrayPatchLongAddOrRemove
object
2 properties
TimeSeriesInAggregateFilter
object
1 property 1 required
TimeSeriesCardinalityPropertiesAggregateResponse
object
1 property 1 required
AssetIdEither
TimeSeriesContainsAnyFilter
object
1 property 1 required
AssetExternalId
object
1 property 1 required
DatapointsInsertQuery
object
1 property 1 required
TimeSeriesSearchFilter
object
1 property 1 required
TimeSeriesAggregatePath
object
1 property 1 required
TimeSeriesSortItem
object
3 properties 1 required
TimeSeriesCountAggregateResponse
object
1 property 1 required
EpochTimestamp
integer
The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
DataWithCursorGetTimeSeriesMetadataDTO
object
A list of objects and possible cursors to get the next results page.
2 properties 1 required
TimeSeriesPrefixAggregateValue
string
A string value that represents either a property key or a property value, depending on the aggregate operation.
Search
object
3 properties
ObjectPatchAddRemove
object
2 properties
TimeSeriesUpdateByExternalId
NumericAggregateFunctions
object
11 properties
DatapointsLatestQuery
object
NullableSinglePatchString
The change that will be applied to the key.
TimeSeriesCardinalityPropertiesAggregate
CogniteExternalId
string
The external ID provided by the client. Must be unique for the resource type.
GetDoubleDatapoint
TimestampOrStringEnd
Get datapoints up to, but excluding, this point in time. Same format as for start. Note that when using aggregates, the end will be rounded up such that the la…
TimeSeriesRangeAggregateValue
An upper or lower bound for a property key or property value (depending on which aggregate was specified at the top level of the aggregation request).
DataSetId
integer
The dataSet Id for the item.
TimeSeriesCountAggregate
object
1 property
ObjectPatchSet
object
1 property 1 required
TimeSeriesUpdateRequest
object
1 property 1 required
CogniteExternalIdPrefix
string
Filter by this (case-sensitive) prefix for the external ID.
TimeSeriesUniqueValuesAggregateResponse
object
1 property 1 required
TimeSeriesLookupByIdWithoutInstanceId
object
IgnoreUnknownIdsField
object
1 property
DataSetExternalId
object
1 property 1 required
CogniteInstanceId
object
The ID of an [instance in Cognite Data Models](https://docs.cognite.com/cdf/dm/dmconcepts/dmspacesinstancesinstance).
2 properties 2 required
TimeSeriesLeafFilter
object
Leaf filter.
DatapointsDeleteQuery
object
1 property 1 required
TimeSeriesLeafAggregateFilter
object
Leaf filter.
LatestDataBeforeRequest
object
Describes the latest query.
Cursor
object
Cursor for paging through results. In general, if a response contains a nextCursor property, it means that there may be more results, and you should pass that…
1 property
Partition
string
Splits the data set into N partitions. The attribute is specified as a "M/N" string, where M is a natural number in the interval of [1, N]. You need to follow…
NotFoundResponse
object
1 property 1 required
DatapointsDeleteRequest
object
Select time series and data points to delete.
DatapointsPostDatapoint
object
TimeSeriesUniquePropertiesAggregateResponse
object
1 property 1 required
TimeSeriesRangeValue
An upper or lower bound in a range filter.
TimeSeriesCardinalityValuesAggregateResponse
object
1 property 1 required
DataSetInternalId
object
1 property 1 required
TimeSeriesInAggregateValues
array
The property keys or property values (depending on the aggregate operation) on which you want to filter the intermediate aggregate results.
DatapointsGetDatapoint
2 required
TimeSeriesFilterLanguage
object
A filter DSL (Domain Specific Language) to define advanced filter queries. At the top level, an advancedFilter expression is either a single Boolean filter or…
TimeSeriesRangeFilter
object
1 property 1 required
GetNumericAggregateDatapoint
TimeSeriesStringValue
string
A value that you wish to find in the provided property.
GetStringDatapoint
PartitionObject
object
1 property
TimeSeriesFilterProperty
array
The property on which you want to filter. May be either: - A single-element list that contains the name of one of the predefined top-level properties, in which…
Filter
object
15 properties
ExternalIdsAlreadyExistResponse
object
1 property 1 required
ArrayPatchLong
object
Change that will be applied to the array.
TimeSeriesEpochTimestamp
integer
The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds. Can be negative to define dates befor…
TimeSeriesValues
array
One or more values that you wish to find in the provided properties.
ObjectPatch
object
Custom, application specific metadata. String key - String value.
TimeSeriesRangeAggregateFilter
object
1 property 1 required
TimeSeriesUpdate
TimeSeriesEqualsFilter
object
1 property 1 required
TimeSeriesType
string
The type of the time series. Currently, time series can either be of type numeric or string. The available types of time series may be extended in the future.
ArrayPatchLongSet
object
1 property 1 required
DatapointsGetAggregateDatapoint
TimeSeriesPatch
object
Changes will be applied to time series.
1 property 1 required
DatapointsGetStringDatapoint
TimeSeriesBoolAggregateFilter
object
A query that matches items matching boolean combinations of other queries. It's built by nesting one or more Boolean clauses, each of which is one of and, or,…
DatapointsMultiQuery
object
TimeSeriesContainsAllFilter
object
1 property 1 required
TimeSeriesCardinalityValuesAggregate
NullableSinglePatchLong
The change that will be applied to the key.
SinglePatchBoolean
object
1 property 1 required
TimeSeriesSearchDTO
object
3 properties
TimeSeriesSort
object
1 property
TimeSeriesUpdateById
CommonAggregateFunctions
object
7 properties
AssetInternalId
object
1 property 1 required
TimeSeriesValue
A value that you wish to find in the provided property.
DatapointsQuery
object
Parameters describing a query for data points.
TimeSeriesInAggregateValue
The property key or property value (depending on the aggregate operation) on which you want to filter the intermediate aggregate results.
DatapointsMetadata
object
3 properties 1 required
Error
object
Cognite API error.
4 properties 2 required
TimeSeriesAggregateFilter
object
A filter DSL (Domain Specific Language) to define aggregate filters.
TimeSeriesListDTO
Filter request for time series. Filters exact field matching or timestamp ranges inclusive min and max.
DuplicatedIdsInRequestResponse
object
1 property 1 required
TimeSeriesPrefixFilter
object
1 property 1 required
TimeSeriesExistsFilter
object
1 property 1 required
DatapointsDeleteRange
object
2 properties 1 required
EpochTimestampRange
object
Range between two timestamps (inclusive).
2 properties
GetDatapointMetadata
object
1 property 1 required
TimestampOrStringStart
Get datapoints starting from, and including, this time. The format is N[timeunit]-ago where timeunit is w,d,h,m,s. Example: '2d-ago' gets datapoints that are u…
TimeSeriesUniquePropertiesAggregate
GetTimeSeriesMetadataDTO
object
16 properties 6 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

cognite-time-series-api-openapi.yml Raw ↑

Other APIs Cognite publishes across the network.

Cognite Data Fusion API
Cognite 3D Asset Mapping API
Cognite 3D Files API
Cognite 3D Jobs API
Cognite 3D Model Revisions API
Cognite 3D Models API
Cognite Annotations API
Cognite Assets API
Cognite Connections API
Cognite Containers API
Cognite Data models API
Cognite Data point subscriptions API
Where this information came from

This is an independent, third-party profile of Cognite Time series API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.