{
  "opencollection": "1.0.0",
  "info": {
    "name": "Cognite 3D Asset Mapping 3D Model Revisions API",
    "version": "v1"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "3D Model Revisions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List 3D revisions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "Cursor for paging through results. In general, if a response contains a `nextCursor`\nproperty, it means that there may be more results, and you should pass that value as the\n`cursor` parameter in the next request.\n\nNote that the cursor may or may not be encrypted, but either way, it is not intended to be\ndecoded. Its internal structure is not a part of the public API, and may change without\nnotice. You should treat it as an opaque string and not attempt to craft your own cursors.\n"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 1000 even if you specify a higher limit."
              },
              {
                "name": "published",
                "value": "",
                "type": "query",
                "description": "Filter based on published status."
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n\nRetrieves a list of all revisions of a model. This operation supports pagination. You can also filter revisions if they are marked as published or not by using the query param published."
        },
        {
          "info": {
            "name": "Create 3D revisions",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:CREATE`\n\nCreates revision(s) and starts processing job(s).\n\nCheck beta API documentation for information about additional options.\n\nHybrid projects: Use the CreateRevision3DClassicAndHybridBody to create revisions.\n\nDataModelOnly: Please use the 3d/jobs endpoint (Beta for now) to create the revision(s) and start jobs. CreateRevision3DDmsOnlyBody will eventually be deprecated.\n"
        },
        {
          "info": {
            "name": "Update 3D revisions",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/update",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:UPDATE`\n"
        },
        {
          "info": {
            "name": "Delete 3D revisions",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/delete",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:DELETE`\n"
        },
        {
          "info": {
            "name": "Retrieve a 3D revision",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n"
        },
        {
          "info": {
            "name": "List 3D revision logs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId/logs",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              },
              {
                "name": "severity",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n\nList log entries for the revision"
        },
        {
          "info": {
            "name": "Update 3D revision thumbnail",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId/thumbnail",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:UPDATE`\n"
        },
        {
          "info": {
            "name": "List available outputs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId/outputs",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              },
              {
                "name": "format",
                "value": "",
                "type": "query",
                "description": "Format identifier, e.g. 'ept-pointcloud' (point cloud). Well known formats are:\n'ept-pointcloud' (point cloud data) or 'reveal-directory' (output supported by Reveal).\n'all-outputs' can be used to retrieve all outputs for a 3D revision. Note that some of\nthe outputs are internal, where the format and availability might change without warning.\n"
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n\nRetrieve a list of available outputs for a processed 3D model. An output can be a format that can be consumed by a viewer (e.g. Reveal) or import in external tools. Each of the outputs will have an associated version which is used to identify the version of output format (not the revision of the processed output). Note that the structure of the outputs will vary and is not covered here."
        },
        {
          "info": {
            "name": "List 3D nodes",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId/nodes",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              },
              {
                "name": "partition",
                "value": "",
                "type": "query",
                "description": "Splits the data set into `N` partitions.\nThe attribute is specified as a \"M/N\" string, where `M` is a natural number in the interval of `[1, N]`.\nYou need to follow the cursors within each partition in order to receive all the data.\n\nTo prevent unexpected problems and maximize read throughput, you should at most use 10 (N <= 10) partitions.\n\nWhen using more than 10 partitions, CDF may reduce the number of partitions silently.\nFor 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\nCDF will change `N` to `N = K = 10` and process the request.\nBut if you  specify the `X/N` `partition` value where `X = 11` (`X > K`) and `N = 20` - i.e. `\"partition\": \"11/20\"`- then\nCDF will reply with an empty result list and no cursor in the response.\n\nIn future releases of the resource APIs, Cognite may reject requests if you specify more than 10 partitions.\nWhen Cognite enforces this behavior, the requests will result in a 400 Bad Request status.\n"
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "Cursor for paging through results. In general, if a response contains a `nextCursor`\nproperty, it means that there may be more results, and you should pass that value as the\n`cursor` parameter in the next request.\n\nNote that the cursor may or may not be encrypted, but either way, it is not intended to be\ndecoded. Its internal structure is not a part of the public API, and may change without\nnotice. You should treat it as an opaque string and not attempt to craft your own cursors.\n"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 1000 even if you specify a higher limit."
              },
              {
                "name": "depth",
                "value": "",
                "type": "query",
                "description": "Get sub nodes up to this many levels below the specified node. Depth 0 is the root node."
              },
              {
                "name": "nodeId",
                "value": "",
                "type": "query",
                "description": "ID of a node that are the root of the subtree you request (default is the root node)."
              },
              {
                "name": "sortByNodeId",
                "value": "",
                "type": "query",
                "description": "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."
              },
              {
                "name": "properties",
                "value": "",
                "type": "query",
                "description": "Example: `{\"category1\":{\"property1\":\"value1\"}}`\n\nFilter for node properties. Only nodes that match all the given properties exactly will be listed.\nThe filter must be a JSON object with the same format as the `properties` field.\n"
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n\nRetrieves a list of nodes from the hierarchy in the 3D model. You can also request a specific subtree with the 'nodeId' query parameter and limit the depth of the resulting subtree with the 'depth' query parameter. By default, nodes are returned in order of ascending treeIndex. We suggest trying to set the query parameter `sortByNodeId` to `true` to check whether it makes your use case faster. The `partition` parameter can only be used if `sortByN"
        },
        {
          "info": {
            "name": "Filter 3D nodes",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId/nodes/list",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n\nList nodes in a project, filtered by node names or node property values specified by supplied filters. This operation supports pagination and partitions. If the model revision is still being processed, you will get a HTTP status 400 when accessing nodes too early. Wait until the retrieve revision response returns \"status\":\"Done\" before calling nodes endpoints."
        },
        {
          "info": {
            "name": "Get 3D nodes by ID",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId/nodes/byids",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n\nRetrieves specific nodes given by a list of IDs."
        },
        {
          "info": {
            "name": "List 3D ancestor nodes",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/models/:modelId/revisions/:revisionId/nodes/:nodeId/ancestors",
            "params": [
              {
                "name": "modelId",
                "value": "",
                "type": "path",
                "description": "Model ID."
              },
              {
                "name": "revisionId",
                "value": "",
                "type": "path",
                "description": "Revision ID."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "Cursor for paging through results. In general, if a response contains a `nextCursor`\nproperty, it means that there may be more results, and you should pass that value as the\n`cursor` parameter in the next request.\n\nNote that the cursor may or may not be encrypted, but either way, it is not intended to be\ndecoded. Its internal structure is not a part of the public API, and may change without\nnotice. You should treat it as an opaque string and not attempt to craft your own cursors.\n"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 1000 even if you specify a higher limit."
              },
              {
                "name": "nodeId",
                "value": "",
                "type": "path",
                "description": "ID of the node to get the ancestors of."
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `threedAcl:READ`\n\nRetrieves a list of ancestor nodes of a given node, including itself, in the hierarchy of the 3D model. This operation supports pagination. Will return error 400 if the revision is still being processed."
        }
      ]
    }
  ],
  "bundled": true
}