Skip to main content
GET
/
3d
/
models
/
{modelId}
/
revisions
/
{revisionId}
/
nodes
JavaScript SDK
const nodes3d = await client.revisions3D.list3DNodes(8252999965991682, 4190022127342195);
{
  "items": [
    {
      "id": 1000,
      "treeIndex": 3,
      "depth": 2,
      "name": "Node name",
      "subtreeSize": 4,
      "parentId": 2,
      "properties": {
        "category1": {
          "property1": "value1",
          "property2": "value2"
        },
        "category2": {
          "property1": "value1",
          "property2": "value2"
        }
      },
      "boundingBox": {
        "max": [
          123
        ],
        "min": [
          123
        ]
      }
    }
  ],
  "nextCursor": "<string>"
}

Authorizations

Authorization
string
header
required

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 accept OpenID Connect tokens. Use a header key of 'Authorization' with a value of 'Bearer $accesstoken'. The token can be obtained through any flow supported by the identity provider.

Path Parameters

modelId
integer<int64>
required

Model ID.

revisionId
integer<int64>
required

Revision ID.

Query Parameters

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 the cursors within each partition in order to receive all the data.

To prevent unexpected problems and maximize read throughput, you should at most use 10 (N <= 10) partitions.

When using more than 10 partitions, CDF may reduce the number of partitions silently. For example, CDF may reduce the number of partitions to K = 10 so if you specify an X/N partition value where X = 8 and N = 20 - i.e. "partition": "8/20"- then CDF will change N to N = K = 10 and process the request. But if you specify the X/N partition value where X = 11 (X > K) and N = 20 - i.e. "partition": "11/20"- then CDF will reply with an empty result list and no cursor in the response.

In future releases of the resource APIs, Cognite may reject requests if you specify more than 10 partitions. When Cognite enforces this behavior, the requests will result in a 400 Bad Request status.

Example:

"1/10"

cursor
string

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 value as the cursor parameter in the next request.

Note that the cursor may or may not be encrypted, but either way, it is not intended to be decoded. Its internal structure is not a part of the public API, and may change without notice. You should treat it as an opaque string and not attempt to craft your own cursors.

Example:

"4zj0Vy2fo0NtNMb229mI9r1V3YG5NBL752kQz1cKtwo"

limit
integer
default:100

Limits the number of results to be returned. The maximum results returned by the server is 1000 even if you specify a higher limit.

Required range: 1 <= x <= 1000
depth
integer<int32>

Get sub nodes up to this many levels below the specified node. Depth 0 is the root node.

nodeId
integer<int64>

ID of a node that are the root of the subtree you request (default is the root node).

sortByNodeId
boolean
default:false

Enable sorting by nodeId. When this parameter is true, nodes will be listed in order of ascending nodeId. Enabling this option will likely result in faster response for many requests.

properties
string<jsonObject(jsonObject(string))>

Example: {"category1":{"property1":"value1"}}

Filter for node properties. Only nodes that match all the given properties exactly will be listed. The filter must be a JSON object with the same format as the properties field.

Response

A list of nodes of a revision.

items
object[]
required
nextCursor
string

Cursor to get the next page of results (if available).

Last modified on April 23, 2026