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 Events API

Events objects store complex information about multiple assets over a time period.Typical types of events that would be stored in this service might include Alarms, Process Data, and Logs.\For the storage of low volume, manually generated, schedulable activities (such as maintenance schedules,work orders or other ‘appointment’ type activities, the Data Modeling service is now recommended.#### Important Note:Events and Time Series are somewhat closely related in that both are high volume types of data,capable of recording data in microsecond resolutions. However, Events is not recommended as a Time Series store,such as where the data flow is from a single instance of sensors (i.e. temperature, pressure, voltage),simulators or state machines (on, off, disconnected, etc).\Time Series offers very low latency read and write performance, as well as specialised filters and aggregations thatare tailored to the analysis of time series data.An event’s time period is defined by a start time and end time, both millisecond timestamps since the UNIX epoch.The timestamps can be in the future. In addition, events can have a text description as well as arbitrary metadata and properties.\When storing event information in metadata, it should be considered that all data is stored as string format.#### Note:In Events API, timestamps are treated as strings when added tometadata fields and aren’t converted to the user’s local time zone.**Caveats:**\Due to the eventually consistent nature of Asset IDs stored in Events,it should be noted that Asset ID references obtained from the Events API mayoccasionally be invalid (such as if an Asset ID is deleted,but the reference to that ID remains in the Event record for a time).Asset references obtained from an event - through asset ids - may beinvalid, simply by the non-transactional nature of HTTP.They are maintained in an eventual consistent manner.## Rate and concurrency limitsBoth the rate of requests (denoted as request per second, or ‘**rps**’) and the number of concurrent (parallel) requests are governed by limits,for all CDF API endpoints. If a request exceeds one of the limits,it will be throttled with a `429: Too Many Requests` response. More on limit typesand how to avoid being throttled is described[here](https://docs.cognite.com/dev/concepts/resource_throttling).Limits are defined at both the overall API service level, and on the API endpoints belonging to the service.\Some types of requests consume more resources (compute, storage IO) than others, and where a service handlesmultiple concurrent requests with varying resource consumption.For example, ‘CRUD’ type requests (**C**reate, **R**etrieve, **R**equest ByIDs, **U**pdate and **D**elete) are far less resourceintensive than ‘Analytical’ type requests (List, Search and Filter) and in addition, the most resourceintensive Analytical endpoint of all, Aggregates, receives its own request budget within the overall Analytical request budget.\The version 1.0 limits for the overall API service and its constituent endpoints are illustrated in the diagram below.\These limits are subject to change, pending review of changing consumption patterns and resource availability over time:### Translating RPS into data speedA single request may retrieve up to 1000 items. In the context of Events, 1 item = 1 event record\Therefore, the maximum theoretical data speed at the top API service level is 200,000 items per second for all consumers,and 150,000 for a single identity or client in a project.### Use of Partitions / Parallel RetrievalAs a general guidance, Parallel Retrieval is a technique that should be used where due to query complexity, retrieval of data in asingle request session turns out to be slow. By parallelizing such requests, data retrieval performance can be tuned to meet theclient application needs. Parallel retrieval may also be used where retrieval of large sets of data is required, up to thecapacity limits defined for a given API service. For example (using the Events API request budget):* A single request may retrieve up to 1000 items* Up to 23 requests per second may be issued for an analytical query (per identity), such as when using /list or /filter API endpoints* This provides a theoretical maximum of 23,000 items read per second per identity* The query complexity may result in it taking longer than 1s to read or write 1000 items in a single request* Therefore, it is appropriate to specify the query to retrieve a lower number of items per request, and retrieve more items in parallel, up to the theoretical maximum performance of 23,000 items per second.**Important Note:**Parallel retrieval should be only used in situations where, due to query complexity,a single request flow provides data retrieval speeds that are significantly less than the theoretical maximum.\Parallel retrieval does not act as a speed multiplier on optimally running queries. Regardless of the numberof concurrent requests issued, the overall requests per second limit still applies.\So for example, a single request returning data at approximately 18,000 items per second will onlybenefit from adding a second parallel request, the capacity of which goes somewhat wastedas only an additional 5,000 items per second will return before the request rate budget limit is reached.

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

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

This API exposes 9 operations across 8 paths, and defines 107 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}.

9 operations 8 paths 107 schemas 2 GET7 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 Events 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 9

Across 8 paths, the API surfaces 9 operations — 2 GET, 7 POST. Each is listed below with its method, path, parameters, and response codes.

Events 9

Events objects store complex information about multiple assets over a time period. Typical types of events that would be stored in this service might include Alarms, Process Data,…

POST
/events
Create events
createEvents body → 201400429
GET
/events
List events
listEvents 23 params → 200400429
GET
/events/{id}
Receive an event by its ID
getEventByInternalId 1 param → 200400429
POST
/events/list
Filter events
advancedListEvents body → 200400429
POST
/events/aggregate
Aggregate events
aggregateEvents body → 200400429
POST
/events/byids
Retrieve events
byIdsEvents body → 200400429
POST
/events/update
Update events
updateEvents body → 200400429
POST
/events/search
Search events
searchEvents body → 200400429
POST
/events/delete
Delete events
deleteEvents body → 200400429

Schemas 107

The contract defines 107 schemas that model the data the API accepts and returns. The most detailed are EventFilter (14 properties), InternalEvent (10 properties), ExternalEvent (10 properties), Error (4 properties). Each schema is shown below with its type and property counts.

DataSetIdEither
EventAggregateProperties
object
1 property 1 required
CountAggregateResult
object
Common aggregate structure to represent aggregate result which have one count for filter resultset (Documents Count, Property Cardinality, etc).
1 property 1 required
EventSubType
string
SubType of the event, e.g 'electrical'.
429Error
object
Cognite API throttling.
2 properties 2 required
JsonArrayInt64
string
IsNull
object
1 property
EventType
string
Type of the event, e.g 'failure'.
PrefixFilter
object
1 property 1 required
Event
DataWithCursorEvent
object
A list of objects along with possible cursors to get the next or previous page of results.
2 properties 1 required
SinglePatchEventSource
object
Set a new value for the source, or remove the value.
ExternalId
object
1 property 1 required
CogniteInternalId
integer
A server-generated ID for the object.
AggregateResult
object
EventAggregateBoolFilter
object
A query that matches items matching boolean combinations of other queries. It is built using one or more boolean clauses of the following types: and, or, or no…
AggregateStringValues
object
3 properties 2 required
EventUniquePropertiesAggregate
EventChangeByExternalId
ExternalEvent
object
An event represents something that happened at a given interval in time, e.g a failure, a work order, etc.
10 properties
EventWithCursorResponse
object
ResourceDescription
string
The description of the resource type.
SearchFilter
object
1 property 1 required
EventChangeById
ActiveAtTimeFilter
Event is considered active from its startTime to endTime inclusive. If startTime is null, event is never active. If endTime is null, event is active from start…
ValuesAggregateResult
object
Common aggregate structure to represent aggregate result which have count buckets for filter resultset (Unique Property Values, Not Null Document Properties, e…
1 property 1 required
SetEventSubType
object
1 property 1 required
EventDataIds
object
SetLongField
object
1 property 1 required
Value
Value you wish to find in the provided property.
ArrayPatchLongAddOrRemove
object
2 properties
ContainsAllFilter
object
1 property 1 required
EventDescription
string
Textual description of the event.
ExistsFilter
object
1 property 1 required
EventSearch
object
1 property
AggregatePropertyValues
object
A single bucket to represent uniqueProperties aggregate result.
3 properties 2 required
AssetIdEither
AssetExternalId
object
1 property 1 required
FilterProperty
array
Property you want to filter. Use a list of strings to specify nested properties. Example: You have the object { "room": { "id": "b53" }, "roomId": "a23" } Use…
PartitionLimited10
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…
StringValue
object
A unique string value in the field.
1 property 1 required
EventFilter
object
Filter on events filter with exact match
14 properties
EpochTimestamp
integer
The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
EventAggregateFilter
object
A filter DSL (Domain Specific Language) to define aggregate filter queries. See more information about filtering DSL [here](https://docs.cognite.com/dev/concep…
ObjectPatchEventSet
object
1 property 1 required
InternalEvent
object
An event represents something that happened at a given interval in time, for example, a failure, a work order, etc.
10 properties
EventResponse
object
GenericRangeFilter
object
1 property 1 required
SinglePatchLong
object
Set a new value for the long, or remove the value.
EventAggregateRequest
object
Aggregation request of events. Filters behave the same way as for the filter endpoint. Default aggregation is count.
CogniteExternalId
string
The external ID provided by the client. Must be unique for the resource type.
EventFilterRequest
object
CogniteExternalIdPrefix
string
Filter by this (case-sensitive) prefix for the external ID.
EventPatch
object
Changes will be applied to event.
1 property 1 required
EventSource
string
The source of this event.
SinglePatchEventType
object
IgnoreUnknownIdsField
object
1 property
DataSetExternalId
object
1 property 1 required
ContainsAnyFilter
object
1 property 1 required
EventAdvancedFilter
object
A filter DSL (Domain Specific Language) to define advanced filter queries. See more information about filtering DSL [here](https://docs.cognite.com/dev/concept…
Values
array
One or more values you wish to find in the provided property.
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
AggregatePrefixFilter
object
1 property 1 required
EitherId
object
JsonArrayString
string
DataEvent
object
1 property 1 required
RemoveField
object
1 property 1 required
DataSetInternalId
object
1 property 1 required
AggregateIntegerValues
object
3 properties 2 required
SetDescription
object
1 property 1 required
EqualsFilter
object
1 property 1 required
LegacyAggregationFields
object
1 property 1 required
EventLeafFilter
object
Leaf filter.
EventWithPropertyCountAggregate
ObjectPatchEvent
object
Custom, application specific metadata. String key - String value. Limits of updated event: Maximum length of key is 128 bytes, value 128000 bytes, up to 256 ke…
EventAggregateLeafFilter
object
Aggregate leaf filter.
ArrayPatchLong
object
Change that will be applied to the array.
AggregateRangeFilter
object
1 property 1 required
UniqueValues
ArrayPatchLongSet
object
1 property 1 required
SinglePatchResourceDescription
object
SinglePatchExternalId
object
Set a new value for the externalId, or remove the value. Must be unique for the resource type.
EventChange
object
SortProperty
object
3 properties 1 required
SetExternalId
object
1 property 1 required
SetEventSource
object
1 property 1 required
EventCardinalityValuesAggregate
RangeValue
Value you wish to find in the provided property using a range clause.
InFilter
object
1 property 1 required
DataExternalEvent
object
1 property 1 required
InternalId
object
1 property 1 required
ObjectPatchEventAddRemove
object
2 properties
SinglePatchEventSubType
object
AggregateInFilter
object
1 property 1 required
EventCardinalityPropertiesAggregate
SetEventType
object
1 property 1 required
AssetInternalId
object
1 property 1 required
EndTimeFilter
Either range between two timestamps or isNull filter condition.
EventSearchRequest
object
Filter on events filter with exact match
3 properties
EventMetadata
object
Custom, application specific metadata. String key - String value. Limits: Maximum length of key is 128 bytes, value 128000 bytes, up to 256 key-value pairs, of…
AggregateProperty
array
Property you want to aggregate. Use a list of strings to specify nested properties. The same way the properties are represented in aggregate responses. Example…
EventCountAggregate
object
Request aggregate to count the number of Events matching the filters. Default aggregate for the endpoint.
3 properties
EventBoolFilter
object
A query that matches items matching boolean combinations of other queries. It's built using one or more boolean clauses of the following types: and, or, or not
Error
object
Cognite API error.
4 properties 2 required
DataEventChange
object
1 property 1 required
EpochTimestampRange
object
Range between two timestamps (inclusive).
2 properties
PartitionObjectLimited10
object
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

cognite-events-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 Events 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.