Cognite Integrations API

Each integration represents an application running on-premises.

OpenAPI Specification

cognite-integrations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cognite 3D Asset Mapping Integrations API
  description: "# Introduction\nThis is the reference documentation for the Cognite API with\nan overview of all the available methods.\n\n# Postman\nSelect the **Download** button to download our OpenAPI specification to get started.\n\nTo import your data into Postman, select **Import**, and the Import modal opens.\nYou can import items by dragging or dropping files or folders. You can choose how to import your API and manage the import settings in **View Import Settings**.\n\nIn the Import Settings, set the **Folder organization** to **Tags**, select\n**Enable optional parameters** to turn off the settings, and select **Always inherit authentication** to turn on the settings. Select **Import**.\n\nSet the Authorization to **Oauth2.0**. By default, the settings are for Open Industrial Data. Navigate to [Cognite Hub](https://hub.cognite.com/open-industrial-data-211) to understand how to get the credentials for use in Postman.\n\nFor more information, see [Getting Started with Postman](https://developer.cognite.com/dev/guides/postman/).\n\n# Pagination\nMost resource types can be paginated, indicated by the field `nextCursor` in the response.\nBy passing the value of `nextCursor` as the cursor you will get the next page of `limit` results.\nNote that all parameters except `cursor` has to stay the same.\n\n# Parallel retrieval\nAs general guidance, Parallel Retrieval is a technique that should be used when due to query complexity, retrieval of data in a single request is significantly slower than it would otherwise be for a simple request.  Parallel retrieval does not act as a speed multiplier on optimally running queries.  By parallelizing such requests, data retrieval performance can be tuned to meet the client application needs. \n\nCDF supports parallel retrieval through the `partition` parameter, which has the format `m/n` where `n` is the amount of partitions you would like to split the entire data set into.\nIf you want to download the entire data set by splitting it into 10 partitions, do the following in parallel with `m` running from 1 to 10:\n  - Make a request to `/events` with `partition=m/10`.\n  - Paginate through the response by following the cursor as explained above. Note that the `partition` parameter needs to be passed to all subqueries.\n\nProcessing of parallel retrieval requests is subject to concurrency quota availability. The request returns the `429` response upon exceeding concurrency limits. See the Request throttling chapter below.\n\nTo prevent unexpected problems and to maximize read throughput, you should at most use 10 partitions. \nSome CDF resources will automatically enforce a maximum of 10 partitions.\nFor more specific and detailed information, please read the ```partition``` attribute documentation for the CDF resource you're using.  \n\n# Requests throttling\nCognite Data Fusion (CDF) returns the HTTP `429` (too many requests) response status code when project capacity exceeds the limit.\n\nThe throttling can happen:\n  - If a user or a project sends too many (more than allocated) concurrent requests.\n  - If a user or a project sends a too high (more than allocated) rate of requests in a given amount of time.\n\nCognite recommends using a retry strategy based on truncated exponential backoff to handle sessions with HTTP response codes 429.\n\nCognite recommends using a reasonable number (up to 10) of  `Parallel retrieval` partitions.\n\nFollowing these strategies lets you slow down the request frequency to maximize productivity without having to re-submit/retry failing requests.\n\nSee more [here](https://docs.cognite.com/dev/concepts/resource_throttling).\n\n# API versions\n## Version headers\nThis API uses calendar versioning, and version names follow the `YYYYMMDD` format.\nYou can find the versions currently available by using the version selector at the top of this page.\n\nTo use a specific API version, you can pass the `cdf-version: $version` header along with your requests to the API.\n\n## Beta versions\nThe beta versions provide a preview of what the stable version will look like in the future.\nBeta versions contain functionality that is reasonably mature, and highly likely to become a part of the stable API.\n\nBeta versions are indicated by a `-beta` suffix after the version name. For example, the beta version header for the\n2023-01-01 version is then `cdf-version: 20230101-beta`.\n\n## Alpha versions\nAlpha versions contain functionality that is new and experimental, and not guaranteed to ever become a part of the stable API.\nThis functionality presents no guarantee of service, so its use is subject to caution.\n\nAlpha versions are indicated by an `-alpha` suffix after the version name. For example, the alpha version header for\nthe 2023-01-01 version is then `cdf-version: 20230101-alpha`."
  version: v1
  contact:
    name: Cognite Support
    url: https://support.cognite.com
    email: support@cognite.com
servers:
- url: https://{cluster}.cognitedata.com/api/v1/projects/{project}
  description: The URL for the CDF cluster to connect to
  variables:
    cluster:
      enum:
      - api
      - az-tyo-gp-001
      - az-eastus-1
      - az-power-no-northeurope
      - westeurope-1
      - asia-northeast1-1
      - gc-dsm-gp-001
      default: api
      description: The CDF cluster to connect to
    project:
      default: publicdata
      description: The CDF project name.
security:
- oidc-token:
  - https://{cluster}.cognitedata.com/.default
- oauth2-client-credentials:
  - https://{cluster}.cognitedata.com/.default
- oauth2-open-industrial-data:
  - https://api.cognitedata.com/.default
- oauth2-auth-code:
  - https://{cluster}.cognitedata.com/.default
tags:
- name: Integrations
  description: Each integration represents an application running on-premises.
paths:
  /integrations:
    get:
      tags:
      - Integrations
      operationId: list_integrations
      description: '


        > **Required capabilities:** `integrationsAcl:READ`


        List integrations, with optional pagination.'
      parameters:
      - $ref: '#/components/parameters/100Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemsWithCursor_Integration_'
          description: List of integrations and an optional cursor.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: List Integrations
      x-capability:
      - integrationsAcl:READ
    post:
      tags:
      - Integrations
      operationId: create_integrations
      description: '


        > **Required capabilities:** `integrationsAcl:WRITE`


        Create integrations.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Items_CreateIntegration_'
        required: true
        description: Integrations to create.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items_Integration_'
          description: List of created integrations
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Create Integrations
      x-capability:
      - integrationsAcl:WRITE
  /integrations/byids:
    post:
      tags:
      - Integrations
      operationId: retrieve_integrations
      description: '


        > **Required capabilities:** `integrationsAcl:READ`


        Retrieve integrations by ID, optionally ignoring unknown ids.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemsWithIgnoreUnknownIds_ExternalId'
        required: true
        description: External IDs to retrieve.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items_Integration_'
          description: List of integrations.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Retrieve Integrations
      x-capability:
      - integrationsAcl:READ
  /integrations/delete:
    post:
      tags:
      - Integrations
      operationId: delete_integrations
      description: '


        > **Required capabilities:** `integrationsAcl:WRITE`


        Delete integrations by ID, optionally ignoring unknown ids.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemsWithIgnoreUnknownIds_ExternalId'
        required: true
        description: External IDs of integrations to delete.
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
          description: Empty response
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Delete Integrations
      x-capability:
      - integrationsAcl:WRITE
  /integrations/update:
    post:
      tags:
      - Integrations
      operationId: update_integrations
      description: '


        > **Required capabilities:** `integrationsAcl:WRITE`


        Update up to 20 integrations.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Items_UpdateIntegrationItem_'
        required: true
        description: Integration updates.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items_Integration_'
          description: List of updated integrations.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Update Integrations
      x-capability:
      - integrationsAcl:WRITE
  /integrations/config:
    post:
      tags:
      - Integrations
      operationId: new_integration_config
      description: '


        > **Required capabilities:** `integrationConfigsAcl:WRITE`


        Create a new config revision. The extractor will be notified of this when it next checks in.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewConfigRevision'
        required: true
        description: New config revision.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FullConfigRevision'
          description: Metadata of created config revision.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
          description: Response for a failed request
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Create config revision.
      x-capability:
      - integrationConfigsAcl:WRITE
    get:
      tags:
      - Integrations
      operationId: get_integration_config
      description: '


        > **Required capabilities:** `integrationConfigsAcl:READ`


        Fetch a specific config revision.'
      parameters:
      - in: query
        name: externalId
        required: true
        schema:
          type: string
          title: Integration External ID
        description: Integration to fetch config revision for.
      - in: query
        name: revision
        required: false
        schema:
          type: integer
          title: Revision
        description: Revision number of config to fetch. If left out, fetches the latest revision.
      - in: query
        name: activeAtTime
        schema:
          type: integer
          title: ActiveAtTime
        description: This is for backwards compatibility with extraction pipelines API therefore has no effect on integrations API.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FullConfigRevision'
          description: Retrieved config revision.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
          description: Response for a failed request
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Fetch config revision
      x-capability:
      - integrationConfigsAcl:READ
  /integrations/config/revisions:
    get:
      tags:
      - Integrations
      operationId: list_integration_configs
      description: '


        > **Required capabilities:** `integrationConfigsAcl:READ`


        List config revisions, optionally filtering by a specific integration.

        This is backwards compatible with extraction pipelines API.

        '
      parameters:
      - in: query
        name: externalId
        required: false
        schema:
          type: string
          title: Integration External Id
        description: Return config revisions belonging to a specific integration.
      - $ref: '#/components/parameters/100Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items_ConfigRevisionMetadata_'
          description: Listed config revisions ordered by revision number descending.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
          description: Response for a failed request
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: List config revisions
      x-capability:
      - integrationConfigsAcl:READ
  /integrations/errors:
    get:
      tags:
      - Integrations
      operationId: get_integration_errors
      description: '


        > **Required capabilities:** `integrationsAcl:READ`


        List errors, filtering by tasks and integration. With optional pagination.'
      parameters:
      - in: query
        name: externalId
        required: false
        schema:
          type: string
          title: Integration External Id
        description: Return errors belonging to a specific integration.
      - in: query
        name: task
        required: false
        schema:
          type: string
          title: TaskName
        description: Return errors belonging to a specific task. Requires `integration` to be specified.
      - in: query
        name: minStartTime
        required: false
        schema:
          type: integer
          title: MinStartTime
        description: Return errors that started at or after this timestamp.
      - in: query
        name: maxEndTime
        required: false
        schema:
          type: integer
          title: MaxEndTime
        description: Return errors that ended at or before this timestamp.
      - $ref: '#/components/parameters/100Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemsWithCursor_ErrorWithTaskRead_'
          description: List of errors and an optional cursor.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: List Errors
      x-capability:
      - integrationsAcl:READ
  /integrations/history:
    get:
      tags:
      - Integrations
      operationId: get_integration_task_history
      description: '


        > **Required capabilities:** `integrationsAcl:READ`


        List task history with optional filtering and pagination.'
      parameters:
      - in: query
        name: externalId
        required: false
        schema:
          type: string
          title: Integration External Id
        description: Return task histories belonging to a specific integration.
      - in: query
        name: taskName
        required: false
        schema:
          type: string
          title: TaskName
        description: Return task histories belonging to a specific task. Requires `integration` to be specified.
      - in: query
        name: lastPerTask
        required: false
        schema:
          type: boolean
          title: LastPerTask
        description: If true, return the last task history entry for each task.
      - $ref: '#/components/parameters/100Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemsWithCursor_TaskHistoryWithErrors_'
          description: List of task histories.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Get Task History
      x-capability:
      - integrationsAcl:READ
  /integrations/sync:
    get:
      tags:
      - Integrations
      operationId: sync_integration_history
      summary: Sync Integration History
      description: '


        > **Required capabilities:** `integrationsAcl:READ`


        Retrieve 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.'
      parameters:
      - in: query
        name: externalId
        required: true
        schema:
          type: string
          title: Integration External Id
        description: Return task histories and errors belonging to a specific integration.
      - in: query
        name: taskName
        required: false
        schema:
          type: string
          title: TaskName
        description: Return task histories and errors belonging to a specific task.
      - in: query
        name: includeErrors
        required: false
        schema:
          type: boolean
          title: IncludeErrors
        description: If true, include errors in the response. One of this and `includeTaskHistory` must be true.
      - in: query
        name: includeTaskUpdates
        required: false
        schema:
          type: boolean
          title: IncludeTaskUpdates
        description: If true, include task history in the response. One of this and `includeErrors` must be true.
      - in: query
        name: startTime
        required: false
        schema:
          type: integer
          title: StartTime
        description: The earliest date by which to filter the task history.
      - $ref: '#/components/parameters/100Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncResponse'
          description: List of task histories and errors, with a cursor.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      x-capability:
      - integrationsAcl:READ
  /integrations/startup:
    post:
      tags:
      - Integrations
      operationId: integration_startup
      description: '


        > **Required capabilities:** `integrationsAcl:USE`


        Report 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.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartupRequest'
        required: true
        description: Update to extractor information.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckinResponse'
          description: Response with updates for the extractor.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
          description: Response for a failed request
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Report Extractor Info
      x-capability:
      - integrationsAcl:USE
  /integrations/checkin:
    post:
      tags:
      - Integrations
      operationId: integration_checkin
      description: '


        > **Required capabilities:** `integrationsAcl:USE`


        Check 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.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckinRequest'
        required: true
        description: Extractor status update.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckinResponse'
          description: Response with updates for the extractor.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
          description: Response for a failed request
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      summary: Check in
      x-capability:
      - integrationsAcl:USE
  /integrations/extpipes/runs:
    post:
      summary: Extraction pipeline runs
      tags:
      - Integrations
      operationId: integrations_extpipe_runs
      description: '


        > **Required capabilities:** `extractionrunsAcl:WRITE`


        This is an endpoint for backwards compatible with extraction pipelines API.

        It will be used to upload extractor runs.

        '
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Items_NewExtpipeRun_'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items_ExtpipeRun_'
          description: Response with updates for the extractor.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
          description: Response for a failed request
        '422':
          $ref: '#/components/responses/422ErrorResponse'
      x-capability:
      - extractionrunsAcl:WRITE
components:
  schemas:
    UpdateItem_Name_:
      additionalProperties: false
      properties:
        set:
          title: Set
          type: string
          minLength: 1
          maxLength: 50
      required:
      - set
      title: UpdateSet
      type: object
      description: Set a new integration name.
    Integration:
      allOf:
      - $ref: '#/components/schemas/IntegrationWritableProperties'
      - type: object
        description: An integration instance representing an on-premises extractor.
        title: Integration
        properties:
          lastSeen:
            $ref: '#/components/schemas/EpochTimestamp'
          lastConfigRevision:
            type: integer
            description: Last published config revision.
          activeConfigRevision:
            $ref: '#/components/schemas/ActiveConfigRevision'
          tasks:
            type: array
            description: List of tasks for this integration.
            items:
              $ref: '#/components/schemas/Task'
          createdTime:
            $ref: '#/components/schemas/EpochTimestamp'
          lastUpdatedTime:
            $ref: '#/components/schemas/EpochTimestamp'
        required:
        - createdTime
        - lastUpdatedTime
    ActiveConfigRevision:
      description: The currently active config revision, or "local" if a local config file is in use.
      oneOf:
      - type: integer
        title: Revision
        description: The currently active config revision.
      - type: string
        enum:
        - local
        description: Value if a local config file is currently in use.
    SyncResponse:
      type: object
      title: SyncResponse
      description: Response for the sync endpoint.
      properties:
        nextCursor:
          type: string
          title: Next cursor
          description: Cursor for pagination
        moreData:
          type: boolean
          title: MoreData
          description: If true, there is more data available, and you should call this endpoint again with the returned cursor.
        history:
          type: array
          title: History
          description: List of task histories.
          items:
            $ref: '#/components/schemas/TaskHistoryWithErrors'
        errors:
          type: array
          title: Errors
          description: List of errors.
          items:
            $ref: '#/components/schemas/ErrorWithTaskRead'
      required:
      - nextCursor
      - moreData
    CogniteExternalId:
      description: The external ID provided by the client. Must be unique for the resource type.
      type: string
      maxLength: 255
      example: my.known.id
    CreateIntegration:
      allOf:
      - $ref: '#/components/schemas/IntegrationWritableProperties'
      - type: object
        description: Request to create an integration.
        title: CreateIntegration
    TaskUpdateType:
      type: string
      description: Type of task update.
      enum:
      - started
      - ended
    ItemsWithCursor_Integration_:
      type: object
      properties:
        items:
          type: array
          title: Items
          maxItems: 100
          minItems: 0
          items:
            $ref: '#/components/schemas/Integration'
        nextCursor:
          type: string
          title: Next cursor
          description: Cursor for pagination
      required:
      - items
    CheckinRequest:
      type: object
      title: CheckinRequest
      description: Request sent on extractor check-in.
      properties:
        externalId:
          $ref: '#/components/schemas/IntegrationsExternalId'
        taskEvents:
          type: array
          description: A list of task updates.
          items:
            $ref: '#/components/schemas/TaskUpdate'
        errors:
          type: array
          description: A list of errors that occurred since the last checkin.
          items:
            $ref: '#/components/schemas/ErrorWithTask'
      required:
      - externalId
    Items_Integration_:
      type: object
      properties:
        items:
          type: array
          title: Items
          maxItems: 100
          minItems: 0
          items:
            $ref: '#/components/schemas/Integration'
      required:
      - items
    IntegrationsExternalId:
      description: The external ID provided by the client. Must be unique for the resource type.
      type: string
      minLength: 1
      maxLength: 255
      example: my.integrations.id
    Error:
      type: object
      required:
      - code
      - message
      description: Cognite API error.
      properties:
        code:
          type: integer
          description: HTTP status code.
          format: int32
          example: 401
        message:
          type: string
          description: Error message.
          example: Could not authenticate.
        missing:
          type: array
          description: List of lookup objects that do not match any results.
          items:
            type: object
            additionalProperties: true
        duplicated:
          type: array
          description: List of objects that are not unique.
          items:
            type: object
            additionalProperties: true
    integrationTaskType:
      type: string
      description: Type of task, either running continuously, or for finite periods of time.
      enum:
      - continuous
      - batch
    NewExtpipeRun:
      type: object
      title: NewExtpipeRun
      description: Request of a run operation.
      properties:
        externalId:
          $ref: '#/components/schemas/IntegrationsExternalId'
        status:
          type: string
          description: The type of run being reported
          enum:
          - failure
          - seen
          - success
        message:
          type: string
          description: Run message
        created_time:
          type: integer
          description: The time when the run was created.
      required:
      - externalId
      - status
    FullConfigRevision:
      type: object
      title: FullConfigRevision
      description: A full config revision with the config object and metadata.
      properties:
        externalId:
          $ref: '#/components/schemas/IntegrationsExternalId'
        revision:
          type: integer
          description: Revision number.
          title: Revision
        description:
          type: string
          description: Config revision description.
        config:
          type: string
          description: Content of the config revision.
          maxLength: 100000
          minLength: 1
        createdTime:
          $ref: '#/components/schemas/EpochTimestamp'
        lastUpdatedTime:
          $ref: '#/components/schemas/EpochTimestamp'
      required:
      - config
      - externalId
      - revision
      - createdTime
      - lastUpdatedTime
    IntegrationWritableProperties:
      type: object
      description: Common writable properties for integrations.
      title: IntegrationWritableProperties
      properties:
        externalId:
          $ref: '#/components/schemas/IntegrationsExternalId'
        name:
          type: string
          description: Descriptive integration name.
          minLength: 1
          maxLength: 50
        description:
          type: string
          description: Integration description.
          maxLength: 500
        documentation:
          type: string
          description: Documentation for the integration in markdown format.
          maxLength: 10000
        metadata:
          type: object
          description: 'Custom metadata for the integration. String key -> String value. Limits: Key are at most 32 bytes. Values are at most 512 bytes. Up to 16 key-value pairs. Total size is at most 4096.'
          additionalProperties:
            type: string
            maxLength: 512
          maxProperties: 16
          x-maxKeyLength: 32
          x-maxTotalSize: 4096
        allowedNotSeenMinutes:
          type: integer
          description: The maximum number of minutes allowed without a checkin before the integration is marked as inactive. Must be between 5 and 1440 (1 day).
          minimum: 5
          maximum: 1440
        extractor:
          $ref: '#/components/schemas/IntegrationExtractor'
      required:
      - externalId
      - extractor
    Task:
      type: object
      description: Object representing a task the extractor performs while executing.
      title: Task
      properties:
        type:
          $ref: '#/components/schemas/integrationTaskType'
        name:
          type: string
          description: Task name, must be unique per integration.
        action:
          type: boolean
          description: Whether or not this task can be triggered through an external action.
          default: false
        description:
          type: string
          description: Task description.
      required:
      - type
      - name
    UpdateIntegration:
      type: object
      description: Update an integration.
      properties:
        name:
          oneOf:
          - $ref: '#/components/schemas/UpdateItem_Name_'
          - $ref: '#/components/schemas/UpdateSetNull'
          description: Set or remove integration name.
        description:
          oneOf:
          - $ref: '#/components/schemas/UpdateItem_Description_'
          - $ref: '#/components/schemas/UpdateSetNull'
          description: Set or remove integration description.
        documentation:
          oneOf:
          - $ref: '#/components/schemas/UpdateItem_Documentation_'
          - $ref: '#/components/schemas/UpdateSetNull'
          description: Set or remove integration documentation.
        allowedNotSeenMinutes:
          oneOf:
          - $ref: '#/components/schemas/UpdateItem_AllowedNotSeenMinutes_'
          - $ref: '#/components/schemas/UpdateSetNull'
          description: Set or remove the allowed not seen time in minutes.
        metadata:
          $ref: '#/components/schemas/ObjectPatch'
          description: Add or r

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cognite/refs/heads/main/openapi/cognite-integrations-api-openapi.yml