{
  "opencollection": "1.0.0",
  "info": {
    "name": "Cognite 3D Asset Mapping Integrations API",
    "version": "v1"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Integrations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Integrations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations",
            "params": [
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 100 even if you specify a higher limit."
              },
              {
                "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:** `integrationsAcl:READ`\n\nList integrations, with optional pagination."
        },
        {
          "info": {
            "name": "Create Integrations",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `integrationsAcl:WRITE`\n\nCreate integrations."
        },
        {
          "info": {
            "name": "Retrieve Integrations",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/byids",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `integrationsAcl:READ`\n\nRetrieve integrations by ID, optionally ignoring unknown ids."
        },
        {
          "info": {
            "name": "Delete Integrations",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/delete",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `integrationsAcl:WRITE`\n\nDelete integrations by ID, optionally ignoring unknown ids."
        },
        {
          "info": {
            "name": "Update Integrations",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/update",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `integrationsAcl:WRITE`\n\nUpdate up to 20 integrations."
        },
        {
          "info": {
            "name": "Fetch config revision",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/config",
            "params": [
              {
                "name": "externalId",
                "value": "",
                "type": "query",
                "description": "Integration to fetch config revision for."
              },
              {
                "name": "revision",
                "value": "",
                "type": "query",
                "description": "Revision number of config to fetch. If left out, fetches the latest revision."
              },
              {
                "name": "activeAtTime",
                "value": "",
                "type": "query",
                "description": "This is for backwards compatibility with extraction pipelines API therefore has no effect on integrations API."
              }
            ]
          },
          "docs": "\n\n> **Required capabilities:** `integrationConfigsAcl:READ`\n\nFetch a specific config revision."
        },
        {
          "info": {
            "name": "Create config revision.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/config",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `integrationConfigsAcl:WRITE`\n\nCreate a new config revision. The extractor will be notified of this when it next checks in."
        },
        {
          "info": {
            "name": "List config revisions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/config/revisions",
            "params": [
              {
                "name": "externalId",
                "value": "",
                "type": "query",
                "description": "Return config revisions belonging to a specific integration."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 100 even if you specify a higher limit."
              },
              {
                "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:** `integrationConfigsAcl:READ`\n\nList config revisions, optionally filtering by a specific integration.\nThis is backwards compatible with extraction pipelines API.\n"
        },
        {
          "info": {
            "name": "List Errors",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/errors",
            "params": [
              {
                "name": "externalId",
                "value": "",
                "type": "query",
                "description": "Return errors belonging to a specific integration."
              },
              {
                "name": "task",
                "value": "",
                "type": "query",
                "description": "Return errors belonging to a specific task. Requires `integration` to be specified."
              },
              {
                "name": "minStartTime",
                "value": "",
                "type": "query",
                "description": "Return errors that started at or after this timestamp."
              },
              {
                "name": "maxEndTime",
                "value": "",
                "type": "query",
                "description": "Return errors that ended at or before this timestamp."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 100 even if you specify a higher limit."
              },
              {
                "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:** `integrationsAcl:READ`\n\nList errors, filtering by tasks and integration. With optional pagination."
        },
        {
          "info": {
            "name": "Get Task History",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/history",
            "params": [
              {
                "name": "externalId",
                "value": "",
                "type": "query",
                "description": "Return task histories belonging to a specific integration."
              },
              {
                "name": "taskName",
                "value": "",
                "type": "query",
                "description": "Return task histories belonging to a specific task. Requires `integration` to be specified."
              },
              {
                "name": "lastPerTask",
                "value": "",
                "type": "query",
                "description": "If true, return the last task history entry for each task."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 100 even if you specify a higher limit."
              },
              {
                "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:** `integrationsAcl:READ`\n\nList task history with optional filtering and pagination."
        },
        {
          "info": {
            "name": "Sync Integration History",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/sync",
            "params": [
              {
                "name": "externalId",
                "value": "",
                "type": "query",
                "description": "Return task histories and errors belonging to a specific integration."
              },
              {
                "name": "taskName",
                "value": "",
                "type": "query",
                "description": "Return task histories and errors belonging to a specific task."
              },
              {
                "name": "includeErrors",
                "value": "",
                "type": "query",
                "description": "If true, include errors in the response. One of this and `includeTaskHistory` must be true."
              },
              {
                "name": "includeTaskUpdates",
                "value": "",
                "type": "query",
                "description": "If true, include task history in the response. One of this and `includeErrors` must be true."
              },
              {
                "name": "startTime",
                "value": "",
                "type": "query",
                "description": "The earliest date by which to filter the task history."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limits the number of results to be returned. The maximum results returned by the server is 100 even if you specify a higher limit."
              },
              {
                "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:** `integrationsAcl:READ`\n\nRetrieve task history and errors for a specific integration. This endpoint will always return a cursor. If `moreData` is false, you should wait a bit before calling this endpoint again."
        },
        {
          "info": {
            "name": "Report Extractor Info",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/startup",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `integrationsAcl:USE`\n\nReport changes to general information about the extractor, and indicates to the API that the extractor has started. This will close any currently running tasks with an error."
        },
        {
          "info": {
            "name": "Check in",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `integrationsAcl:USE`\n\nCheck in with the integrations service. This endpoint is called periodically by extractors to signal that they are still alive, and report any events that may have happened since the last check in."
        },
        {
          "info": {
            "name": "Extraction pipeline runs",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/extpipes/runs",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "\n\n> **Required capabilities:** `extractionrunsAcl:WRITE`\n\nThis is an endpoint for backwards compatible with extraction pipelines API.\nIt will be used to upload extractor runs.\n"
        }
      ]
    }
  ],
  "bundled": true
}