Cognite Previews API

A **preview** is a temporary job that runs until it times out, fails, or receives a single message, then stores the result. This is useful for development, as it allows you to easily inspect the output of a source. Previews require a source, but not a mapping or a destination. This API is in alpha. The endpoints listed here are available only when the `cdf-version` header with the value `alpha` is provided.

OpenAPI Specification

cognite-previews-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cognite 3D Asset Mapping Previews 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: Previews
  description: 'A **preview** is a temporary job that runs until it times out, fails, or receives a single message, then stores the result. This is useful for development, as it allows you to easily inspect the output of a source.

    Previews require a source, but not a mapping or a destination.

    This API is in alpha. The endpoints listed here are available only when the `cdf-version` header with the value `alpha` is provided.'
paths:
  /hostedextractors/preview:
    post:
      operationId: create_preview
      x-capability:
      - hostedExtractors:WRITE
      tags:
      - Previews
      description: '


        > **Required capabilities:** `hostedExtractors:WRITE`


        Create a preview job. Previews will run for up to 10 minutes, and return once they receive any data. Use the /result endpoint to check the status of the preview.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePreview'
        required: true
        description: Preview to create.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MinimalPreview'
          description: Created preview.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/ValidationError'
      summary: Create Preview
  /hostedextractors/preview/result:
    post:
      operationId: get_preview_result
      x-capability:
      - hostedExtractors:READ
      tags:
      - Previews
      description: '


        > **Required capabilities:** `hostedExtractors:READ`


        Get the result of a preview job. Note that previews may be automatically deleted as soon as 1 hour after they are created.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalIdWrapper'
        required: true
        description: External ID of preview job to get result for.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewResult'
          description: Current status of the preview.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/ValidationError'
      summary: Get preview result
  /hostedextractors/preview/download:
    post:
      operationId: download_preview_payload
      x-capability:
      - hostedExtractors:READ
      tags:
      - Previews
      description: '


        > **Required capabilities:** `hostedExtractors:READ`


        Download the raw, binary result of a preview job, before it is passed throguh any transformations. Note that this endpoint will return 404 if there is no raw data.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalIdWrapper'
        required: true
        description: External ID of preview job to get result for.
      responses:
        '200':
          content:
            application/binary:
              schema:
                type: string
                format: binary
          description: Raw result from the preview.
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '422':
          $ref: '#/components/responses/ValidationError'
      summary: Download preview result
components:
  schemas:
    InputConfig:
      type: object
      description: Optionally set input mapping input type. This defaults to json if left out. Any input type is converted to JSON before being passed to the mapping expression.
      discriminator:
        mapping:
          protobuf: '#/components/schemas/ProtobufConfig'
          csv: '#/components/schemas/CsvConfig'
          xml: '#/components/schemas/XmlConfig'
          json: '#/components/schemas/JsonConfig'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/ProtobufConfig'
      - $ref: '#/components/schemas/CsvConfig'
      - $ref: '#/components/schemas/XmlConfig'
      - $ref: '#/components/schemas/JsonConfig'
    CogniteExternalId:
      description: The external ID provided by the client. Must be unique for the resource type.
      type: string
      maxLength: 255
      example: my.known.id
    CreatePreview:
      type: object
      title: CreatePreview
      description: Create object for a preview job.
      properties:
        externalId:
          $ref: '#/components/schemas/CogniteExternalId'
        sourceId:
          title: Source ID
          description: ID of the source this preview job should read from.
          type: string
          maxLength: 255
        config:
          $ref: '#/components/schemas/JobConfig'
        format:
          type: object
          title: Format
          description: Input format parameters.
          properties:
            encoding:
              $ref: '#/components/schemas/EncodingType'
            compression:
              $ref: '#/components/schemas/CompressionType'
        input:
          $ref: '#/components/schemas/CreateInputConfig'
      required:
      - externalId
      - sourceId
      - config
    PreviewResultPayload:
      type: object
      title: PreviewResultPayload
      description: Result of a successful preview.
      properties:
        type:
          enum:
          - preview
          title: Type
          type: string
          description: Result type
        externalId:
          $ref: '#/components/schemas/CogniteExternalId'
        json:
          title: Json
          description: Arbitrary json that is the data that would be passed to the mapping. Note that if you have specified a custom `input` type, or custom `format` parameters, this is the data _after_ it has passed through those.
        context:
          title: Context
          description: Message context that would be passed to the mapping.
          type: object
        createdTime:
          $ref: '#/components/schemas/EpochTimestamp'
      required:
      - type
      - externalId
      - createdTime
    KafkaJobConfig:
      additionalProperties: false
      type: object
      title: Kafka
      required:
      - topic
      properties:
        topic:
          title: Topic
          type: string
          description: Kafka topic to connect to
          maxLength: 200
        partitions:
          title: Partitions
          type: integer
          minimum: 1
          maximum: 10
          default: 1
          description: Number of partitions on the topic.
    ExternalIdWrapper:
      additionalProperties: false
      properties:
        externalId:
          $ref: '#/components/schemas/CogniteExternalId'
      required:
      - externalId
      title: ExternalIdWrapper
      type: object
    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
    PreviewResult:
      type: object
      title: PreviewResult
      description: Result of a preview job.
      discriminator:
        mapping:
          error: '#/components/schemas/PreviewResultError'
          preview: '#/components/schemas/PreviewResultPayload'
          pending: '#/components/schemas/PreviewResultPending'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/PreviewResultError'
      - $ref: '#/components/schemas/PreviewResultPayload'
      - $ref: '#/components/schemas/PreviewResultPending'
    JsonConfig:
      additionalProperties: false
      type: object
      description: Treat the input as UTF-8 encoded JSON.
      title: JSON
      properties:
        type:
          type: string
          enum:
          - json
          description: Input type
          title: Type
      required:
      - type
    HeaderValueConfig:
      additionalProperties: false
      type: object
      title: HeaderValueConfig
      required:
      - key
      - value
      - type
      properties:
        type:
          title: Type
          type: string
          enum:
          - headerValue
        key:
          title: Key
          type: string
          description: Key to insert the generated value into
        value:
          title: Value
          type: string
          description: Expression that will be evaluated, and its result used as a header value
    PreviewResultPending:
      type: object
      title: PreviewResultPayload
      description: A result indicating the preview is still running.
      properties:
        type:
          enum:
          - pending
          title: Type
          type: string
          description: Result type
        externalId:
          $ref: '#/components/schemas/CogniteExternalId'
      required:
      - type
      - externalId
    ProtoFile:
      additionalProperties: false
      description: Description of a protobuf file used for loading input to the mapping.
      properties:
        fileName:
          type: string
          title: File Name
          format: '[a-zA-Z0-9_-]+\.proto'
          maxLength: 128
          description: Name of protobuf file. Must contain only letters, numbers, underscores, and hyphens, and must end with '.proto'.
      required:
      - fileName
    RestJobConfig:
      additionalProperties: false
      type: object
      title: Rest
      properties:
        interval:
          $ref: '#/components/schemas/RestInterval'
        path:
          type: string
          title: Path
          description: Path of resource to access on the server, without query.
          minLength: 1
          maxLength: 2048
        method:
          type: string
          title: Method
          description: HTTP method to use for each request.
          enum:
          - get
          - post
          default: get
        body:
          title: Body
          description: 'Initial JSON body to send with request. Only applicable if method is `post`. Maximum of 10000 bytes total.

            '
        query:
          type: object
          title: Query
          description: 'Query parameters to include in request. String key -> String value. Limits: Maximum 255 characters per key, 2048 per value, and at most 32 pairs.

            '
          x-maxKeyLength: 255
          maxProperties: 32
          additionalProperties:
            type: string
            maxLength: 2048
        headers:
          type: object
          title: Query
          description: 'Headers to include in request. String key -> String value. Limits: Maximum 255 characters per key, 2048 per value, and at most 32 pairs.

            '
          x-maxKeyLength: 255
          maxProperties: 32
          additionalProperties:
            type: string
            maxLength: 2048
        incrementalLoad:
          type: object
          discriminator:
            mapping:
              queryParam: '#/components/schemas/QueryParameterConfig'
              headerValue: '#/components/schemas/HeaderValueConfig'
              body: '#/components/schemas/BodyPaginationConfig'
            propertyName: type
          oneOf:
          - $ref: '#/components/schemas/QueryParameterConfig'
          - $ref: '#/components/schemas/HeaderValueConfig'
          - $ref: '#/components/schemas/BodyPaginationConfig'
          title: Incremental load
          description: The format of the messages from the source. This is used to convert messages coming from the source system to a format that can be inserted into CDF.
        pagination:
          type: object
          discriminator:
            mapping:
              queryParam: '#/components/schemas/QueryParameterConfig'
              headerValue: '#/components/schemas/HeaderValueConfig'
              nextUrl: '#/components/schemas/NextUrlConfig'
              body: '#/components/schemas/BodyPaginationConfig'
            propertyName: type
          oneOf:
          - $ref: '#/components/schemas/QueryParameterConfig'
          - $ref: '#/components/schemas/HeaderValueConfig'
          - $ref: '#/components/schemas/NextUrlConfig'
          - $ref: '#/components/schemas/BodyPaginationConfig'
          title: Incremental load
          description: The format of the messages from the source. This is used to convert messages coming from the source system to a format that can be inserted into CDF.
      required:
      - interval
      - path
    PreviewResultError:
      type: object
      title: PreviewResultError
      description: Result of a failed preview.
      properties:
        type:
          enum:
          - error
          title: Type
          type: string
          description: Result type
        externalId:
          $ref: '#/components/schemas/CogniteExternalId'
        kind:
          enum:
          - startup_error
          - connection_error
          - transform_error
          type: string
          title: Kind
          description: The type of error that occured. If the type is transform_error, raw data is usually available in the /download endpoint.
        message:
          type: string
          title: Message
          description: Error message.
        createdTime:
          $ref: '#/components/schemas/EpochTimestamp'
      required:
      - type
      - externalId
      - createdTime
      - kind
    XmlConfig:
      additionalProperties: false
      type: object
      title: XML
      description: 'Transform the input from an XML file to a JSON object.

        '
      properties:
        type:
          type: string
          enum:
          - xml
          description: Input type
          title: Type
      required:
      - type
    NextUrlConfig:
      additionalProperties: false
      type: object
      title: HeaderValueConfig
      required:
      - type
      - value
      properties:
        type:
          title: Type
          type: string
          enum:
          - nextUrl
        value:
          title: Value
          type: string
          description: Expression yielding the next URL to call
    MQTTJobConfig:
      additionalProperties: false
      type: object
      title: MQTT
      required:
      - topicFilter
      properties:
        topicFilter:
          title: TopicFilter
          type: string
          description: Topic filter.
          maxLength: 200
    CreateProtobufConfig:
      additionalProperties: false
      description: List of protobuf files used to define input to the mapping. This will be compiled to a collection of definitions which will be used to convert the input to JSON.
      title: ProtoBuf
      properties:
        type:
          type: string
          enum:
          - protobuf
          description: Input type
          title: Type
        messageName:
          type: string
          description: Name of root message in the protobuf files.
          maxLength: 128
          title: Message Name
        files:
          type: array
          maxItems: 20
          minItems: 1
          description: List of protobuf files as text.
          items:
            $ref: '#/components/schemas/CreateProtoFile'
      required:
      - messageName
      - files
      - type
    EpochTimestamp:
      description: The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
      type: integer
      minimum: 0
      format: int64
      example: 1730204346000
    CsvConfig:
      additionalProperties: false
      type: object
      title: CSV
      description: 'Transform the input from a CSV (Comma Separated Values) file to a list of JSON objects. The input to the mapping will be a list on the form `[{\"header1\": \"value1\", ...}, ...]`.

        '
      properties:
        type:
          type: string
          enum:
          - csv
          description: Input type
          title: Type
        delimiter:
          type: string
          description: A single ASCII character used as the separator in the CSV file. Defaults to `,`
          maxLength: 1
          minLength: 1
          title: Delimiter
        customKeys:
          type: array
          minItems: 1
          maxItems: 20
          description: List of headers. If this is not set, the headers will be retrieved from the CSV file.
          items:
            type: string
            description: CSV file header value.
            title: CSV_Header
      required:
      - type
    CreateProtoFile:
      additionalProperties: false
      description: Definition of a protobuf file used for loading input to the mapping.
      properties:
        fileName:
          type: string
          title: File Name
          format: '[a-zA-Z0-9_-]+\.proto'
          maxLength: 128
          description: Name of protobuf file. Must contain only letters, numbers, underscores, and hyphens, and must end with '.proto'.
        content:
          type: string
          title: Content
          description: Protobuf file content. Must be a valid protobuf file.
          maxLength: 10000
      required:
      - fileName
      - content
    JobConfig:
      description: 'Source specific job configuration. The type depends on the type of source, and is required for some sources.

        '
      title: Job Config
      oneOf:
      - $ref: '#/components/schemas/MQTTJobConfig'
      - $ref: '#/components/schemas/KafkaJobConfig'
      - $ref: '#/components/schemas/RestJobConfig'
    CompressionType:
      enum:
      - gzip
      title: CompressionType
      description: 'The compression applied to incoming messages. The messages are decompressed before being passed to transformations.

        This is usually not relevant for REST, where this is handled automatically, but MQTT, Kafka, and EventHub have no such mechanisms.'
      type: string
    ValidationErrorContent:
      type: object
      required:
      - code
      - message
      description: Cognite API error.
      properties:
        code:
          type: integer
          description: HTTP status code.
          format: int32
          example: 422
        message:
          type: string
          description: Error message.
          example: 'Extra inputs are not permitted: type'
    QueryParameterConfig:
      additionalProperties: false
      type: object
      title: QueryParameterConfig
      required:
      - key
      - value
      - type
      properties:
        type:
          title: Type
          type: string
          enum:
          - queryParam
        key:
          title: Key
          type: string
          description: Key to insert the generated value into
        value:
          title: Value
          type: string
          description: Expression that will be evaluated, and its result used as a query parameter
    RestInterval:
      enum:
      - 5m
      - 15m
      - 1h
      - 6h
      - 12h
      - 1d
      title: RestInterval
      type: string
    CreateInputConfig:
      type: object
      description: Optionally set input mapping input type. This defaults to json if left out. Each input type is converted to JSON before being passed to the mapping expression.
      discriminator:
        mapping:
          protobuf: '#/components/schemas/CreateProtobufConfig'
          csv: '#/components/schemas/CsvConfig'
          xml: '#/components/schemas/XmlConfig'
          json: '#/components/schemas/JsonConfig'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/CreateProtobufConfig'
      - $ref: '#/components/schemas/CsvConfig'
      - $ref: '#/components/schemas/XmlConfig'
      - $ref: '#/components/schemas/JsonConfig'
    ProtobufConfig:
      additionalProperties: false
      description: List of protobuf files used to define input to the mapping. This will be compiled to a collection of definitions which will be used to convert the input to JSON.
      title: ProtoBuf
      properties:
        type:
          type: string
          enum:
          - protobuf
          description: Input type
          title: Type
        messageName:
          type: string
          description: Name of root message in the protobuf files.
          maxLength: 128
          title: Message Name
        files:
          type: array
          maxItems: 20
          minItems: 1
          items:
            $ref: '#/components/schemas/ProtoFile'
      required:
      - messageName
      - files
      - type
    BodyPaginationConfig:
      additionalProperties: false
      type: object
      title: BodyPaginationConfig
      required:
      - type
      - value
      properties:
        type:
          title: Type
          type: string
          enum:
          - body
        value:
          title: Value
          type: string
          description: 'Expression yielding next message body. Note that body-based pagination is not allowed to be used if `method` is not set to `post`.

            '
    EncodingType:
      enum:
      - utf8
      - utf16
      - utf16le
      - latin1
      title: EncodingType
      description: 'The type of encoding to convert from.

        - `utf8`, UTF-8, default.

        - `utf16`, UTF-16 big endian.

        - `utf16le`, UTF-16 little endian.

        - `latin1`, Latin 1, Specifically Windows CP 1252.'
      type: string
    MinimalPreview:
      type: object
      title: MinimalPreview
      description: Preview create response
      properties:
        externalId:
          $ref: '#/components/schemas/CogniteExternalId'
        sourceId:
          title: Source ID
          description: ID of the source this preview job should read from.
          type: string
          maxLength: 255
        config:
          $ref: '#/components/schemas/JobConfig'
        format:
          type: object
          title: Format
          description: Input format parameters.
          properties:
            encoding:
              $ref: '#/components/schemas/EncodingType'
            compression:
              $ref: '#/components/schemas/CompressionType'
        input:
          $ref: '#/components/schemas/InputConfig'
        createdTime:
          $ref: '#/components/schemas/EpochTimestamp'
      required:
      - externalId
      - sourceId
      - config
      - createdTime
      - input
  responses:
    ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            type: object
            required:
            - error
            properties:
              error:
                $ref: '#/components/schemas/ValidationErrorContent'
    400ErrorResponse:
      description: The response for a bad request.
      content:
        application/json:
          schema:
            type: object
            required:
            - error
            properties:
              error:
                $ref: '#/components/schemas/Error'
          example:
            error:
              code: 400
              message: '`null` values aren''t allowed.'
  securitySchemes:
    oidc-token:
      type: http
      scheme: bearer
      bearerFormat: OpenID Connect or OAuth2 token
      description: 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.
    oauth2-client-credentials:
      type: oauth2
      description: 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.
      flows:
        clientCredentials:
          tokenUrl: https://your-idps.token.url/
          scopes:
            default: https://{cluster}.cognitedata.com/.default
    oauth2-auth-code:
      type: oauth2
      description: 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.
      flows:
        authorizationCode:
          authorizationUrl: https://your-idps.authorization.url/
          tokenUrl: https://your-idps.token.url/
          scopes:
            default: https://{cluster}.cognitedata.com/.default
    oauth2-open-industrial-data:
      type: oauth2
      description: Auth flow for Open Industrial Data. Get your client secret from https://hub.cognite.com/open-industrial-data-211.
      flows:
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/48d5043c-cf70-4c49-881c-c638f5796997/oauth2/v2.0/token
          scopes:
            default: https://api.cognitedata.com/.default
    org-oidc-token:
      type: openIdConnect
      openIdConnectUrl: https://auth.cognite.com/.well-known/openid-configuration
      description: 'Access token issued by the Cognite authorization server, and valid for the target organization. The token must

        be an OpenID Connect token, and it can be obtained by performing an OIDC login flow toward `auth.cognite.com`.

        This is a single URL for all CDF organizations.'
x-tagGroups:
- name: Changelog
  tags:
  - Changelog
- name: Organizations and projects
  tags:
  - Organizations
  - Projects
- name: Identity and access management
  tags:
  - Principals
  - Groups
  - Security categories
  - Sessions
  - Token
  - User profiles
  - Project Deletion Reporting
- name: Data modeling
  tags:
  - Data Modeling
  - Data models
  - Spaces
  - Views
  - Containers
  - Nodes
  - Instances
  - Statistics
  - Streams
  - Records
- name: Asset-centric data model
  tags:
  - Assets
  - Time series
  - Synthetic Time Series
  - Data point subscriptions
  - Events
  - Files
  - Sequences
  - Geospatial
  - Seismic
- name: 3D
  tags:
  - 3D Models
  - 3D Model Revisions
  - 3D Files
  - 3D Asset Mapping
  - 3D Contextualization
  - 3

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