{
  "opencollection": "1.0.0",
  "info": {
    "name": "Cognite 3D Asset Mapping Raw API",
    "version": "v1"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Raw",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List databases",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs",
            "params": [
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit on the number of databases to be returned."
              },
              {
                "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"
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:LIST`\n"
        },
        {
          "info": {
            "name": "Create databases",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:WRITE`\n\nCreate databases in a project. It is possible to post a maximum of 1000 databases per request."
        },
        {
          "info": {
            "name": "Delete databases",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/delete",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:WRITE`\n\nIt deletes a database, but fails if the database is not empty and recursive is set to false (default)."
        },
        {
          "info": {
            "name": "List tables in a database",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "The name of a database to retrieve tables from."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit on the number of tables to be returned."
              },
              {
                "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"
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:LIST`\n"
        },
        {
          "info": {
            "name": "Create tables in a database",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "Name of the database to create tables in."
              },
              {
                "name": "ensureParent",
                "value": "",
                "type": "query",
                "description": "Create database if it doesn't exist already"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:WRITE`\n\nCreate tables in a database. It is possible to post a maximum of 1000 tables per request."
        },
        {
          "info": {
            "name": "Delete tables in a database",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables/delete",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "Name of the database to delete tables in."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:WRITE`\n"
        },
        {
          "info": {
            "name": "Retrieve cursors for parallel reads",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables/:tableName/cursors",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "Name of the database."
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Name of the table."
              },
              {
                "name": "minLastUpdatedTime",
                "value": "",
                "type": "query",
                "description": "An exclusive filter, specified as the number of milliseconds that have elapsed since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds."
              },
              {
                "name": "maxLastUpdatedTime",
                "value": "",
                "type": "query",
                "description": "An inclusive filter, specified as the number of milliseconds that have elapsed since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds."
              },
              {
                "name": "numberOfCursors",
                "value": "",
                "type": "query",
                "description": "The number of cursors to return, by default it's 10."
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:READ`\n\nRetrieve cursors based on the last updated time range. Normally this endpoint is used for reading in parallel.\n\nEach cursor should be supplied as the 'cursor' query parameter on GET requests to [Read Rows](#operation/getRows).\n**Note** that the 'minLastUpdatedTime' and the 'maxLastUpdatedTime' query parameter on [Read Rows](#operation/getRows) are ignored when a cursor is specified.\n"
        },
        {
          "info": {
            "name": "Retrieve rows from a table",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables/:tableName/rows",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "Name of the database."
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Name of the table."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit the number of results. The API may return fewer than the specified limit."
              },
              {
                "name": "columns",
                "value": "",
                "type": "query",
                "description": "Ordered list of column keys, separated by commas. Leave empty for all, use single comma to retrieve only row keys."
              },
              {
                "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": "minLastUpdatedTime",
                "value": "",
                "type": "query",
                "description": "An exclusive filter, specified as the number of milliseconds that have elapsed since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds."
              },
              {
                "name": "maxLastUpdatedTime",
                "value": "",
                "type": "query",
                "description": "An inclusive filter, specified as the number of milliseconds that have elapsed since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds."
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:READ`\n"
        },
        {
          "info": {
            "name": "Insert rows into a table",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables/:tableName/rows",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "Name of the database."
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Name of the table."
              },
              {
                "name": "ensureParent",
                "value": "",
                "type": "query",
                "description": "Create database/table if it doesn't exist already"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:WRITE`\n\nInsert rows into a table. It is possible to post a maximum of 10000 rows per request.\nIt will replace the columns of an existing row if the rowKey already exists.\n\nThe rowKey is limited to 1024 characters which also includes Unicode characters.\nThe maximum size of columns are 5 MiB, however the maximum size of one column name and value is 2621440 characters each.\nIf you want to store huge amount of data per row or column we recommend using the Files"
        },
        {
          "info": {
            "name": "Retrieve row by key",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables/:tableName/rows/:rowKey",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "Name of the database to retrieve the row from."
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Name of the table to retrieve the row from."
              },
              {
                "name": "rowKey",
                "value": "",
                "type": "path",
                "description": "Row key of the row to retrieve."
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:READ`\n"
        },
        {
          "info": {
            "name": "Delete rows in a table",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/raw/dbs/:dbName/tables/:tableName/rows/delete",
            "params": [
              {
                "name": "dbName",
                "value": "",
                "type": "path",
                "description": "Name of the database containing the rows."
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Name of the table containing the rows."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `rawAcl:WRITE`\n"
        }
      ]
    }
  ],
  "bundled": true
}