state field to constraints returned from the service, describing whether the constraint is validated or failed.state field to indexes returned from the service, describing whether the index is successfully built, or if building failed.maxListSize and maxTextSize to the constraintState field in properties returned from the service, describing whether the associated property-level constraints are valdiated or failed.agentId in the /ai/agents/chat endpoint has been deprecated in favor of agentExternalId. agentId will be retired from 2025-11-29. constraintState to properties returned from the service, describing the state of any property-level constraints. Currently includes the field nullability which tracks the state of any non-null constraint.debug parameter to the /models/instances/query, /models/instances/sync, and /models/instances/list endpoints.notices providing insights into query execution, which can be used for performance analysis and optimization.name and description fields for the /update endpoint to disallow empty strings.POST /3d/contextualization/pointcloudPOST /3d/contextualization/pointcloud/deleteazure/o3, azure/o4-mini, azure/gpt-4.1, azure/gpt-4.1-nano, azure/gpt-4.1-mini, azure/gpt-5, azure/gpt-5-mini, azure/gpt-5-nanogcp/gemini-2.5-pro, gcp/gemini-2.5-flashaws/claude-4-sonnet, aws/claude-4-opus, aws/claude-4.1-opusNote: Availability of models may differ between the chosen cloud provider and region of the CDF cluster.
/ai/agents) to programmatically build and interact with Atlas agents are now in beta state./api/v1/orgs/{org}/principals/{principal}/sessions: List login sessions for a user principal in an organization./api/v1/orgs/{org}/principals/{principal}/sessions/revoke: Revoke one or more login sessions for a user principal
in an organization.nodeId and CogniteAssetassetInstanceId pairs. This creates connections between instances in data modelling and 3D CAD nodes. Only available in Hybrid and DMSFirst CDF projects.assetInstanceId based mappings, enabled with the getDmsInstances=true parameter.mode to table expressions in the /sync endpoint, to select between sync modes:onePhase (default, current behavior): All instances are returned while following the cursortwoPhase: Existing instances are returned first, then new instances are returned by following the cursornoBackfill: Existing instances are not returned, only new instances are yielded by following the cursor.backfillSort to table expressions in the /sync endpoint, to optionally specify how to sort existing instances with syncMode: twoPhase.attributes to group creation in the POST /api/v1/projects/:project/groups endpoint to set attributes for groups./api/v1/projects/{projectName} prefix from all agents endpoints./api/v1/projects/{projectName} prefix from all documents AI endpoints.POST /simulators/routines/revisions to create simulator routines revisions: 50KBPOST /simulators/run to run a simulation: 50KBPOST /3d/nodes/list to filter nodes within an area definition.POST /3d/job/results/list to list the results of a jobPOST /3d/job/result/rejections to add or remove job result rejectionsPOST /3d/job/result/rejections/list to list job result rejectionsPOST /3d/jobs to create a 3d jobPOST /3d/jobs/list to list jobsPOST /3d/jobs/delete to delete jobsPOST /context/entitymatching/byids can retrieve max 1000 models per request.POST /context/entitymatching/update can update max 1000 models per request.POST /context/entitymatching/delete can delete max 1000 models per request.POST /ai/agents to create or update one or more agentsGET /ai/agents to list all agentsPOST /ai/agents/ids to retrieve one or more agents by externalIdPOST /ai/agents/delete to delete one or more agents by externalIdPOST /ai/agents/chat to send messages new messages and receive an answer to a specific agent/ai/tools/documents/summarize).space and externalId properties of an instanceId object.maxDatapoint and minDatapoint, that gives back both the value and the timestamp of the maximum/minimum data point.POST /postgresgateway to create postgres users.POST /postgresgateway/delete to delete postgres users.POST /postgresgateway/list to filter postgres users.GET /postgresgateway to list postgres users.POST /postgresgateway/byids to retrieve postgres users by their username.POST /postgresgateway/update to update postgres users.POST /postgresgateway/tables/{username} to create postgres foreign tables.POST /postgresgateway/tables/{username}/delete to delete postgres foreign tables.GET /postgresgateway/tables/{username} to list postgres foreign tables.POST /postgresgateway/tables/{username}/byids to retrieve postgres foreign tables by name.GET /writeback/sap/instances to list SAP instance destinationsPOST /writeback/sap/instances to create SAP instance destinationsPOST /writeback/sap/instances/delete to delete SAP instance destinationsPOST /writeback/sap/instances/byids to retrieve SAP instance destinations by externalIdGET /writeback/sap/endpoints to list SAP endpoint destinationsPOST /writeback/sap/endpoints to create SAP endpoint destinationsPOST /writeback/sap/endpoints/delete to delete SAP endpoint destinationsPOST /writeback/sap/endpoints/byids to retrieve SAP instance destinations by externalIdPOST /writeback/sap/endpoints/verify to verify connectivity between CDF and the SAP endpoint destinationGET /writeback/sap/mappings to list schema mappingsPOST /writeback/sap/mappings to create schema mappingsPOST /writeback/sap/mappings/delete to delete schema mappingsPOST /writeback/sap/mappings/byids to retrieve schema mappings destinations by externalIdGET /writeback/sap/requests to list writeback requestsPOST /writeback/sap/requests to create writeback requests. Maximum concurrent limit of 50 requests per CDF project.POST /writeback/sap/requests/byids to retrieve writeback requests by externalIdPOST /simulators/* to access the simulators API and list simulators enabled for the projectPOST /simulators/integrations/* to list simulator connectors and their statePOST /simulators/models/* to create/list/remove simulator models and their revisionsPOST /simulators/routines/* to create/list/remove simulator routines and their revisionsPOST /simulators/runs/* to create/schedule simulation runsPOST /simulators/logs/* to access simulator logs/ai/tools/documents/ask and /ai/tools/documents/summarize) reaches General Availability (GA).GET /api/v1/{projectName}/profiles/me is deprecated in favor of the new endpoint.GET /api/v1/orgs/{org}/projects?includeAdminProperties=true now includes state and deletionTimeSources, Mappings, Destinations and Jobs, for MQTT and Kafka extractors.POST /api/v1/orgs/{orgId}/orgs can be called to create organization with AWS Cognito as IdP.GET /api/v1/orgs/{orgId}/projects can be called by all users of an organization.apiUrl when listing projects in an organization.GET /api/v1/orgs/{orgId}/projects will include apiUrl for each project.GET subscriptions/members can contain members with instanceId.POST subscriptions can be used to create subscriptions with an defined set of instance ids.POST subscriptions/update can be used to add/remove/set the instance id time series members.POST /simulators/* to access the simulators API and list simulators enabled for the projectPOST /simulators/integrations/* to list simulator connectors and their statePOST /simulators/models/* to create/list/remove simulator models and their revisionsPOST /simulators/routines/* to create/list/remove simulator routines and their revisionsPOST /simulators/runs/* to create/schedule simulation runsPOST /simulators/logs/* to access simulator logs/timeseries/* endpoints will return data modeling instance Id in time series objects where applicable.POST /timeseries/update can be used to update properties of data modeling time series, but only fields that are not managed by data modeling.POST /timeseries/byids can be used to retrieve time series by instance Id.POST /timeseries/list and POST /timeseries/aggregate support advanced filters with instanceId.space and instanceId.externalId fields. (No changes to regular filters)POST /timeseries/data/* can be used with instance Id to ingest/delete/query data points.POST /timeseries/synthetic/query can lookup by instance Id.instanceId.space and instanceId.externalId fields.POST /files/uploadlink to get upload links for filesPOST /files/multiuploadlink to get multipart upload link for filesPOST /files/completemultipartupload to complete a multipart file uploadPOST /files/downloadlink to get download links for filesGET /files/icon to get an image representation of a filePOST /files/byids to retrieve metadata information about multiple specific filesPOST /files/update to updates the information for the filesPOST /workflows/triggers to create a UNIX cron trigger for a workflowGET /workflows/triggers to list all triggersPOST /workflows/triggers/delete to delete a triggerGET /workflows/triggers/{triggerExternalId}/history which keeps a ledger of when the trigger fired and if it successfully started a workflow or not.GET /api/v1/orgs/{orgId} to get organization infoPOST /api/v1/orgs/{orgId}/orgs to create an organizationPOST /api/v1/orgs/{orgId}/delete to delete an organizationGET /api/v1/orgs/{orgId}/orgs to list the child organizations of an organizationPOST /api/v1/orgs/{orgId}/projects to create a project in an organizationGET /api/v1/orgs/{orgId}/projects to list the projects in an organizationdirect_relation[], allowing direct relations to point to multiple nodes.month (mo) granularity.month (mo) granularity.members field on the group object. Members can either be explicitly enumerated or one declare a group to include all users accounts. The latter is useful if one wants all existing users and new users who joins a project to automatically receive certain capabilities.Conversion between unit types for returned values during filter and query operations.
targetUnit by externalId or unitSystemName parameters for the data source in a query.source object. When querying data in centimeters by setting targetUnit on a property in the source, the filter value for that property will also be considered to be in centimeters.typing - type.unit on a property in a typing object is now always the same as the unit for the returned data.typing to following endpoints:host in kafka sources has been replaced with bootstrapBrokers, which is an array of objects with host and port.targetUnit or targetUnitSystem on time series or aggregates with a compatible unitExternalId field.oneshotTokenExchange flag. One-shot sessions are short-lived sessions that are not refreshed and do not require support for token exchange from the identity provider.float32 and float64 properties in containers.pollTimeoutSeconds parameter. The request will be kept active for the specified number of seconds, or until new data is available, whichever comes first./documents/list endpoint. It works exactly the same as the sorting
in /documents/search except that you can not sort on search relevance.Identity providers (IdP) are required to be compatible with the OpenID Connect Discovery 1.0 standard, and compliance will now be enforced by the Projects API.
oidcConfiguration.jwksUrl and oidcConfiguration.tokenUrl can be entirely omitted when updating the OIDC configuration for a project.oidcConfiguration.jwksUrl and oidcConfiguration.tokenUrl are preserved for backwards compatibility of the API. However, if these are specified as part of the request body, the value must match excatly the values that are specified in the OpenID provider configuration document for the configured issuer (can be found at https://{issuer-url}/.well-known/openid-configuration). If the values does not match, the API will return an error message.The oidcConfiguration.skewMs has been deprecated but remains part of the API for backwards compatibility. It can be omitted from the request. If included, it must always be set to 0.
The oidcConfiguration.isGroupCallbackEnabled has been deprecated but remains part of the API for backwards compatibility. It can be omitted from the request.
true.autoCreateDirectRelations option on the endpoint for ingesting instances.
This option lets the user specify whether to create missing target nodes of direct relations.sources field on the /instances/byids endpoint.image.InstanceLink and diagrams.InstanceLink annotation types to allow you to link from objects discovered in images and engineering diagrams to data model instances.Fixed the API documentation for the request body of the POST /projects/{project}/sessions/byids endpoint.
The documentation incorrectly stated the request body schema as specifying the list of session IDs to retrieve, in the form {"items": [42]} - it should in fact be {"items": [{"id": 42}]}. The documentation has been updated to reflect this.
Fixed the API documentation for the response body of the POST /projects/{project}/sessions/byids endpoint.
The documentation incorrectly stated nextCursor and previousCursor fields as being returned from the response, which was not the case, and these fields have now been removed from the API documentation.
nodes and edges.highlight field in the search endpoint to indicate whether matches in search results should be highlighted.We've removed authentication via CDF service accounts and API keys, and user sign-in via /login.
nextCursor field to Retrieve data points, to support cursor paginationPOST /documents/aggregate endpoint. The endpoint allows you to count documents optionally grouped by a property and also to retrieve all unique values of a property.POST /documents/list endpoint. The endpoint allows you to iterate through all the documents in a project.POST /documents/{documentId}/content endpoint. The endpoint lets you download the entire extracted plain text of a document.isStep parameter to be editable (i.e. removed description stating it is not updatable) in POST /timeseries/create.isStep parameter to the TimeSeriesPatch object used in POST /timeseries/updateignoreUnknownIds parameter to POST /sequences/delete. Setting this to true will prevent the operation from failing if one or more of the given sequences do not exist; instead, those given sequences that do exist will be deleted.documentation attribute that supports Markdown (rendered as Markdown in Fusion).success, failure and seen. They enable extractor developers to report status and error message after ingesting data. As well enables for reporting heartbeat through seen status by the extractor to easily identify issues related to crushed applications and scheduling issues.partition parameter to the GET /sequences endpoint to support parallel retrieval.partition parameter to the GET /timeseries endpoint to support parallel retrieval.Added sessions to v1. Sessions let you securely delegate access to CDF resources for CDF services (such as Functions) by an external principal and for an extended time.
dataSetIds.remove columns, modify existing columns, and add new columns as well.You can now ask for a granularity of up to 100000 hours (previously 48 hours), both in normal aggregates and in synthetic time series.
We are deprecating authentication via CDF service accounts and API keys, and user sign-in via /login, in favor of registering applications and services with your IdP (identity provider) and using OpenID Connect and the IdP framework to manage CDF access securely.
The legacy authentication flow is available for customers using Cognite Data Fusion (CDF) on GCP until further notice. We strongly encourage customers to adopt the new authentication flows as soon as possible.
The following API endpoints are deprecated:
/api/v1/projects/*/apikeys/api/v1/projects/*/serviceaccounts/login/logout/api/v1/projects/*/groups/serviceaccounts **only the sub-resources for listing, adding, and removing members of groups.
CDF API 0.5, 0.6 reached their end-of-life after its initial deprecation announcement in Summer 2019.
partition parameter to the List 3D Nodes endpoint for supporting parallel requests.sortByNodeId parameter to the List 3D Nodes endpoint, improving request latency in most cases if set to true.status shall be capitalized string.fileType inside derivedFields to refer to a pre-defined subset of MIME types.fileType inside derivedFields to find files with a pre-defined subset of MIME types.geoLocation to refer to the geographic location of the file.geoLocation to find files matching a certain geographic location.To learn how to leverage new geoLocation features, follow our guide.
directory referring to the directory in the source containing the file.directoryPrefix allows you to find Files matching a certain directory prefix.labels allows you to attach labels to Files upon creation or updating.labels allows you to find Files that have been annotated with specific labels.applicationDomains. If this field is set, users only sign in to the project through applications hosted on
a whitelisted domain. Read more.uniqueValues allows you to find different types, subtypes of events in your project.labels allows you to find resources that have been annotated with specific labels.endTime=null.datasetId introduced in assets, files, events, time series and sequences.dataSetIds allows you to narrow down results to resources containing datasetId by a list of ids or externalIds of a data set. Supported by assets, files, events, time series and sequences.count.datasetsAcl for managing access to data set resources.datasetScope for assets, files, events, time series and sequences ACLs. Allows you to scope down access to resources contained within a specified set of data sets.count.count.depth and path. You can use the properties in the filter and retrieve endpoints.parentExternalId which is returned for all assets which have a parent with a defined externalId.assetSubtreeIds as a parameter to filter, search, and list endpoints for all core resources. assetSubtreeIds allows you to specify assets that are subtree roots, and then only retrieve resources that are related to assets within those subtrees.search.query parameter. This uses an improved search algorithm that tries a wider range of variations of the input terms and gives much better relevancy ranking than the existing search.name and search.description fields.search.query parameter for time series search now uses an improved search algorithm that tries a wider range of variations of the input terms, and gives much better relevancy ranking.Time series expanded their filtering capabilities with new Filter time series endpoint, allowing for additional filtering by:
Endpoint in addition support pagination and partitioning. Check out detailed API documentation here.
externalId and metadata support. Read more here.rootAssetIds in files GET /files (using query parameter) and POST /files/list (in request body).partition in /assets and /events to support parallel retrieval. See guide for usage hereintersectsBoundingBox to the list asset mappings endpoint. The parameter filters asset mappings to the assets where the bounding box intersects (or is contained within) the specified bounding box.rootAssetIds to list time series endpoint. Returns time series that are linked to an asset that has one of the root assets as an ancestor.externalId added across resource types. externalId lets you define a unique ID for a data object. Learn more: External IDsexternalIdPrefix added as a parameter to the list events, assets and files operations.data object.limit, cursor and nextCursor parameters.limit parameter no longer implicitly rounds down requested page size to maximum page size.sourceId field has been removed from resources. Use externalId instead of sourceId+source to define unique IDs for data objects.offset and previousCursor parameters are no longer supported for pagination across resources.root filter.rootId field to specify the top element in an asset hierarchy.rootIds.rootIds.name property.boostName has been removed from the search for assets operation.path and depth fields.rootAssetIds allows for narrowing down events belonging only to list or specified root assets. Supported by Filter and Search APIassetIds in list files operations now support multiple assets in the same request.fileType field to mimeType. The field now requires a MIME formatted string (e.g. text/plain).uploadedAt field to uploadedTime.name or mimeType of a file through the update multiple files operation is no longer supported.id and externalId of time series. Adding datapoints to time series by name has been removed.externalId attribute for time series.externalId during creation of time series. ExternalId requires uniqueness across time series.id and externalId of the time series.legacyName on time series creation. Value is required to be unique.id and externalId lookup as well retrieval for multiple time series within the same request.id and externalId.id and externalId. Selecting by name is no longer available.externalId.externalId.boostName has been removed from search operation.name have been removed as names are no longer unique identifiers.name is no longer available.isString and isStep attributes is removed. The attributes are not intended to be modified after creation of time series.id. Use the update multiple time series endpoint instead.name has been removed. Use externalId instead.id from a single time series has been removed. Use retrieve multiple datapoints for multiple time series instead.name has been removed.name has been removed.apiKeyId), if the request used an API key.userId attribute to serviceAccountId.permissions and source attributes.