Cognite Views API

The Views API from Cognite — 3 operation(s) for views.

OpenAPI Specification

cognite-views-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cognite 3D Asset Mapping Views 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: Views
paths:
  /models/views:
    post:
      tags:
      - Views
      summary: Create or update views
      description: '


        > **Required capabilities:** `dataModelsAcl:WRITE`


        Add or update (upsert) views. For unchanged view specifications, the operation completes without making any changes.  We will not update the ```lastUpdatedTime``` value for views that remain unchanged.'
      operationId: ApplyViews
      requestBody:
        description: Views to add or update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ViewCreateCollection'
        required: true
      x-capability:
      - dataModelsAcl:WRITE
      responses:
        '200':
          $ref: '#/components/responses/ViewCollectionResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
        '409':
          description: View conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpsertConflict'
      x-code-samples:
      - lang: Python
        label: Python SDK
        source: "from cognite.client.data_classes.data_modeling import ViewApply, MappedPropertyApply, ContainerId\nviews = [\n    ViewApply(\n        space=\"mySpace\",\n        external_id=\"myView\",\n        version=\"v1\",\n        properties={\n            \"someAlias\": MappedPropertyApply(\n                container=ContainerId(\"mySpace\", \"myContainer\"),\n                container_property_identifier=\"someProperty\",\n            ),\n        }\n   )\n]\nres = client.data_modeling.views.apply(views)\n\nfrom cognite.client.data_classes.data_modeling import (\n    ContainerId,\n    DirectRelationReference,\n    MappedPropertyApply,\n    MultiEdgeConnectionApply,\n    ViewApply,\n    ViewId\n)\nacts_in_edge_type = DirectRelationReference(space=\"imdb\", external_id=\"acts-in\")\nmovie_view = ViewApply(\n    space=\"imdb\",\n    external_id=\"Movie\",\n    version=\"1\",\n    name=\"Movie\",\n    properties={\n        \"title\": MappedPropertyApply(\n            container=ContainerId(space=\"imdb\", external_id=\"Movie\"),\n            container_property_identifier=\"title\",\n        ),\n        \"actors\": MultiEdgeConnectionApply(\n            type=acts_in_edge_type,\n            direction=\"inwards\",\n            source=ViewId(\"imdb\", \"Actor\", \"1\"),\n            name=\"actors\",\n        ),\n    }\n)\nactor_view = ViewApply(\n    space=\"imdb\",\n    external_id=\"Actor\",\n    version=\"1\",\n    name=\"Actor\",\n    properties={\n        \"name\": MappedPropertyApply(\n            container=ContainerId(\"imdb\", \"Actor\"),\n            name=\"name\",\n            container_property_identifier=\"name\",\n        ),\n        \"movies\": MultiEdgeConnectionApply(\n            type=acts_in_edge_type,\n            direction=\"outwards\",\n            source=ViewId(\"imdb\", \"Movie\", \"1\"),\n            name=\"movies\",\n        ),\n    }\n)\nres = client.data_modeling.views.apply([movie_view, actor_view])\n"
    get:
      tags:
      - Views
      summary: List views defined in the project
      description: '


        > **Required capabilities:** `dataModelsAcl:READ`


        List of views defined in the current project. You can filter the list by specifying a space.'
      operationId: listViews
      parameters:
      - $ref: '#/components/parameters/ReducedLimit'
      - $ref: '#/components/parameters/Cursor'
      - $ref: '#/components/parameters/Space'
      - $ref: '#/components/parameters/IncludeInheritedProperties'
      - $ref: '#/components/parameters/AllVersions'
      - $ref: '#/components/parameters/IncludeGlobal'
      x-capability:
      - dataModelsAcl:READ
      responses:
        '200':
          $ref: '#/components/responses/ViewCollectionResponseWithCursor'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      x-code-samples:
      - lang: Python
        label: Python SDK
        source: "view_list = client.data_modeling.views.list(limit=5)\n\nfor view in client.data_modeling.views:\n    view # do something with the view\n\nfor view_list in client.data_modeling.views(chunk_size=10):\n    view_list # do something with the views\n"
  /models/views/byids:
    post:
      tags:
      - Views
      summary: Retrieve views by their external ids
      description: '


        > **Required capabilities:** `dataModelsAcl:READ`


        Retrieve up to 100 views by their external ids.'
      operationId: byExternalIdsViews
      parameters:
      - $ref: '#/components/parameters/IncludeInheritedProperties'
      requestBody:
        description: List of external-ids of views to retrieve.
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/ListOfVersionReferences'
              - $ref: '#/components/schemas/ListOfAllVersionsReferences'
        required: true
      x-capability:
      - dataModelsAcl:READ
      responses:
        '200':
          $ref: '#/components/responses/ViewCollectionResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      x-code-samples:
      - lang: Python
        label: Python SDK
        source: 'res = client.data_modeling.views.retrieve((''mySpace'', ''myView'', ''v1''))

          '
  /models/views/delete:
    post:
      tags:
      - Views
      summary: Delete views
      description: '


        > **Required capabilities:** `dataModelsAcl:WRITE`


        Delete one or more views.  Currently limited to 100 views at a time.'
      operationId: deleteViews
      requestBody:
        description: List of references to views you want to delete.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListOfVersionReferences'
        required: true
      x-capability:
      - dataModelsAcl:WRITE
      responses:
        '200':
          $ref: '#/components/responses/VersionReferencesCollectionResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      x-code-samples:
      - lang: Python
        label: Python SDK
        source: 'client.data_modeling.views.delete((''mySpace'', ''myView'', ''v1''))

          '
components:
  schemas:
    FilterValueList:
      oneOf:
      - $ref: '#/components/schemas/RawPropertyValueListV3'
      - $ref: '#/components/schemas/ReferencedPropertyValueV3'
    ViewCreateDefinition:
      allOf:
      - type: object
        required:
        - externalId
        properties:
          externalId:
            description: External id uniquely identifying this view. The values ```Query```, ```Mutation```, ```Subscription```, ```String```, ```Int32```, ```Int64```, ```Int```, ```Float32```, ```Float64```, ```Float```, ```Timestamp```, ```JSONObject```, ```Date```, ```Numeric```, ```Boolean```, ```PageInfo```, ```File```, ```Sequence``` and ```TimeSeries``` are reserved.
            allOf:
            - $ref: '#/components/schemas/DMSExternalId'
      - $ref: '#/components/schemas/ViewCommon'
      - type: object
        properties:
          properties:
            type: object
            description: 'View with included properties and expected edges, indexed by a unique space-local identifier. The view identifier has to have a length of between 1 and 255 characters.  It must also match the pattern ```^[a-zA-Z0-9][a-zA-Z0-9_-]{0,253}[a-zA-Z0-9]?$```, and it cannot be any of the following reserved identifiers: ```space```, ```externalId```, ```createdTime```, ```lastUpdatedTime```, ```deletedTime```, ```edge_id```, ```node_id```, ```project_id```, ```property_group```, ```seq```, ```tg_table_name```, and ```extensions```. The maximum number of properties depends on the project subscription and is by default 100.'
            additionalProperties:
              x-additionalPropertiesName: property-identifier
              allOf:
              - $ref: '#/components/schemas/ViewCreateDefinitionProperty'
    ViewCreateDefinitionProperty:
      description: 'A reference to a container property or a connection describing edges that are expected to

        exist (ConnectionDefinition).


        If the referenced container property is a direct relation, a view of the node can be specified. The view is

        a hint to the consumer on what type of data is expected to be of interest in the context of this view.


        A connection describes the edges that are likely to exist to aid in discovery and documentation of the view.

        A listed edge is not required. i.e. It does not have to exist when included in this list. The target nodes of

        this connection will match the view specified in the source property. A connection has a max distance of one hop

        in the underlying graph.

        '
      oneOf:
      - $ref: '#/components/schemas/CreateViewProperty'
      - $ref: '#/components/schemas/ConnectionDefinition'
    UsedFor:
      type: string
      description: Should this operation apply to nodes, edges, records, or both nodes and edges. **NB!** Currently ```all``` applies to nodes and edges, but not records.
      enum:
      - node
      - edge
      - record
      - all
      default: node
    ReverseDirectRelationConnectionRead:
      allOf:
      - $ref: '#/components/schemas/ReverseDirectRelationConnection'
      - type: object
        required:
        - targetsList
        properties:
          targetsList:
            description: Whether or not this reverse direct relation targets a _list_ of direct relations.
            type: boolean
    InstanceReferenceFilterV3:
      type: object
      title: instanceReferences
      required:
      - instanceReferences
      properties:
        instanceReferences:
          type: array
          description: Matches instances with any of the specified space/externalId pairs.
          items:
            type: object
            required:
            - space
            - externalId
            properties:
              space:
                $ref: '#/components/schemas/SpaceSpecification'
              externalId:
                $ref: '#/components/schemas/NodeOrEdgeExternalId'
    InFilterV3:
      type: object
      title: in
      required:
      - in
      properties:
        in:
          required:
          - property
          - values
          description: Matches items where the property **exactly** matches one of the given values.
          type: object
          properties:
            property:
              $ref: '#/components/schemas/DMSFilterProperty'
            values:
              $ref: '#/components/schemas/FilterValueList'
    CreateViewProperty:
      type: object
      required:
      - container
      - containerPropertyIdentifier
      properties:
        name:
          type: string
          description: Readable property name.
          maxLength: 255
        description:
          type: string
          description: Description of the content and suggested use for this property.
          maxLength: 1024
        container:
          $ref: '#/components/schemas/ContainerReference'
        containerPropertyIdentifier:
          description: The unique identifier for the property (Unique within the referenced container).
          allOf:
          - $ref: '#/components/schemas/PropertyIdentifierV3'
        source:
          description: Indicates on what type a referenced direct relation is expected to be (although not required). Only applicable for direct relation properties.
          allOf:
          - $ref: '#/components/schemas/ViewReference'
    ConstraintOrIndexState:
      type: string
      enum:
      - current
      - pending
      - failed
    RangeFilterV3:
      type: object
      title: range
      required:
      - range
      properties:
        range:
          required:
          - property
          description: "Matches items that contain terms within the provided range.\n\nThe range must include both an upper and a lower bound. It is not permitted to specify both inclusive\nand exclusive bounds together.  E.g. `gte` and `gt`.\n\n  `gte`: Greater than or equal to.\n  `gt`: Greater than.\n  `lte`: Less than or equal to.\n  `lt`: Less than.\n"
          type: object
          properties:
            property:
              $ref: '#/components/schemas/DMSFilterProperty'
            gte:
              $ref: '#/components/schemas/FilterValueRange'
            gt:
              $ref: '#/components/schemas/FilterValueRange'
            lte:
              $ref: '#/components/schemas/FilterValueRange'
            lt:
              $ref: '#/components/schemas/FilterValueRange'
    HasExistingDataFilterV3:
      type: object
      title: hasData
      required:
      - hasData
      properties:
        hasData:
          type: array
          description: Matches instances that have data in the referenced views or containers.
          items:
            $ref: '#/components/schemas/SourceReference'
    ContainsAnyFilterV3:
      type: object
      title: containsAny
      required:
      - containsAny
      properties:
        containsAny:
          required:
          - property
          - values
          description: Matches items where the property contains one or more of the given values. Only apply this filter to multivalued properties.
          type: object
          properties:
            property:
              $ref: '#/components/schemas/DMSFilterProperty'
            values:
              $ref: '#/components/schemas/FilterValueList'
    ViewDirectNodeRelation:
      description: Direct node relation. Can include a hint to specify the view that this direct relation points to. This hint is optional.
      allOf:
      - $ref: '#/components/schemas/DirectNodeRelation'
      - type: object
        properties:
          source:
            description: The hint showing the view what the direct relation points to.
            allOf:
            - $ref: '#/components/schemas/ViewReference'
    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
    EnumProperty:
      type: object
      description: 'An enum type property.


        An enum property can only consist of predefined values.

        '
      required:
      - type
      - values
      properties:
        type:
          type: string
          enum:
          - enum
        unknownValue:
          type: string
          description: 'The value to use when the enum value is unknown.

            This can optionally be used to provide forward-compatibility, Specifying what value to use if the client does not recognize the returned value. It is not possible to ingest the unknown value, but it must be part of the allowed values.'
        values:
          type: object
          description: 'A set of all possible values for the enum property. The enum value identifier has to have a length of between 1 and 127 characters.  It must also match the pattern ```^[_A-Za-z][_0-9A-Za-z]{0,127}$```, and not be `"true"`, `"false"` or `"null"`.


            Example: ```{ "value1": { "name": "Value 1", "description": "This is value 1" }, "value2": { } }```'
          additionalProperties:
            x-additionalPropertiesName: enumValueIdentifier
            minProperties: 1
            maxProperties: 32
            allOf:
            - $ref: '#/components/schemas/EnumValueProperties'
      example:
        unknownValue: unknown
        values:
          value1:
            name: Value 1
            description: This is value 1
          value2: {}
          unknown:
            name: Unknown
            description: Used if the client does not recognize the returned value.
    RangeValue:
      title: rangeBound
      description: Value you wish to find in the provided property using a range clause.
      oneOf:
      - type: string
        title: string
      - type: number
        title: number
      - type: integer
        title: integer
    PropertyIdentifierV3:
      type: string
      pattern: ^[a-zA-Z]([a-zA-Z0-9_]{0,253}[a-zA-Z0-9])?$
      minLength: 1
      maxLength: 255
    DMSExistsFilter:
      type: object
      title: exists
      required:
      - exists
      properties:
        exists:
          required:
          - property
          description: 'Will match items that have a value in the specified property.

            '
          type: object
          properties:
            property:
              $ref: '#/components/schemas/DMSFilterProperty'
    RawPropertyValueV3:
      title: raw value
      description: A value matching the data type of the defined property
      oneOf:
      - type: string
        title: string
        description: 'A string value without `null` characters and 128KB maximum size.

          Or a date string in the format `YYYY-MM-DD`.

          Or a timestamp string in the format: `YYYY-MM-DDTHH:MM:SS[.millis][Z|time zone]`.

          '
        maxLength: 128000
      - type: number
        title: number
        description: A number value matching the data type (integer(32/64), float, doable, etc) of the defined property.
      - type: boolean
        title: boolean
        description: A boolean value - `true` or `false`.
      - type: object
        title: object
        description: A JSON value. General limits for the JSON object are the next. The max key length is 128. The max number of keys 256. The max object total size is 40,960B. The max value size is 10,240B.
      - type: object
        title: direct relation
        description: A JSON value matching the direct relation type. Direct relation json object requires and allows only `space` and `externalId` attributes of the related instance.
      - type: array
        title: array of strings
        description: 'An array of string values without `null` characters in each item and sum of individual elements is no more than 128KB.

          Each item can be a date string in the format `YYYY-MM-DD` or a timestamp string in the format: `YYYY-MM-DDTHH:MM:SS[.millis][Z|time zone]`.

          '
        minItems: 1
        maxItems: 1000
        items:
          type: string
      - type: array
        title: array of booleans
        description: An array of boolean values.
        minItems: 1
        maxItems: 1000
        items:
          type: boolean
      - type: array
        title: array of numbers
        description: An array of number values.
        minItems: 1
        maxItems: 1000
        items:
          type: number
      - type: array
        title: array of direct relations
        description: An array of direct relations.
        minItems: 1
        maxItems: 100
        items:
          type: object
      - type: array
        title: array of objects
        description: An array of JSON objects. General limits for the JSON array are the next. The max JSON total size is 40,960B. Other JSON objects constraints are applicable to each item in the array (see object).
        minItems: 1
        maxItems: 1000
        items:
          type: object
    ContainerReference:
      type: object
      description: Reference to an existing container
      required:
      - type
      - space
      - externalId
      properties:
        type:
          type: string
          enum:
          - container
        space:
          description: Id of the space hosting (containing) the container
          allOf:
          - $ref: '#/components/schemas/SpaceSpecification'
        externalId:
          description: External-id of the container
          allOf:
          - $ref: '#/components/schemas/DMSExternalId'
    ListOfVersionReferences:
      type: object
      required:
      - items
      properties:
        items:
          type: array
          minItems: 1
          maxItems: 100
          items:
            type: object
            required:
            - space
            - externalId
            - version
            properties:
              externalId:
                description: External id for the requested item
                allOf:
                - $ref: '#/components/schemas/DMSExternalId'
              space:
                description: Space id for the requested item
                allOf:
                - $ref: '#/components/schemas/SpaceSpecification'
              version:
                description: Version of the requested item
                allOf:
                - $ref: '#/components/schemas/DMSVersion'
    ViewCommon:
      type: object
      required:
      - space
      - version
      properties:
        space:
          description: Id of the space that the view belongs to
          allOf:
          - $ref: '#/components/schemas/SpaceSpecification'
        name:
          type: string
          description: Readable name, meant for use in UIs
          maxLength: 255
        description:
          type: string
          description: Description. Intended to describe the content, and use, of this view.
          maxLength: 1024
        filter:
          $ref: '#/components/schemas/FilterDefinition'
        implements:
          type: array
          description: "References to the views from where this view will inherit properties - both mapped properties (properties pointing to container properties like text, integers, direct relations) and connection properties (like reverse direct relations). \n\n\nNote: The order you list the views in is significant. We use this order to deduce the priority when we encounter duplicate property references.\n\n\nIf you do not specify a view version, we will use the most recent version available at the time of creation. "
          items:
            $ref: '#/components/schemas/ViewReference'
        version:
          $ref: '#/components/schemas/DMSVersion'
    ParameterizedPropertyValueV3:
      title: parameter
      description: A parameterized value
      type: object
      required:
      - parameter
      properties:
        parameter:
          type: string
    DMSExternalId:
      type: string
      pattern: ^[a-zA-Z]([a-zA-Z0-9_]{0,253}[a-zA-Z0-9])?$
      minLength: 1
      maxLength: 255
    DataModelsBoolFilter:
      title: BoolFilter
      description: 'Build a new query by combining other queries, using boolean operators. We support the `and`, `or`, and

        `not` boolean operators.

        '
      type: object
      oneOf:
      - type: object
        title: and
        required:
        - and
        properties:
          and:
            description: All the sub-clauses in the query must return a matching item.
            type: array
            minItems: 1
            items:
              $ref: '#/components/schemas/FilterDefinition'
      - type: object
        title: or
        required:
        - or
        properties:
          or:
            description: One or more of the sub-clauses in the query must return a matching item.
            type: array
            minItems: 1
            items:
              $ref: '#/components/schemas/FilterDefinition'
      - type: object
        title: not
        required:
        - not
        properties:
          not:
            title: Filter DSL
            description: None of the sub-clauses in the query can return a matching item.
            type: object
            allOf:
            - $ref: '#/components/schemas/FilterDefinition'
    SpaceSpecification:
      type: string
      pattern: ^[a-zA-Z][a-zA-Z0-9_-]{0,41}[a-zA-Z0-9]?$
      minLength: 1
      maxLength: 43
    DirectNodeRelation:
      type: object
      description: Direct node relation
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - direct
        container:
          description: The (optional) required type for the node the direct relation points to. If specified, the node must exist before the direct relation is referenced and of the specified type. If no container specification is used, the node will be auto created with the built-in ```node``` container type, and it does not explicitly have to be created before the node that references it. For records, the container type constraint is not enforced and targets are not auto-created. Only the target space existence is validated.
          allOf:
          - $ref: '#/components/schemas/ContainerReference'
        list:
          description: 'Specifies that the data type is a list of values. The ordering of values is preserved.

            '
          type: boolean
          default: false
        maxListSize:
          type: integer
          description: Specifies the maximum number of values in the list
    DMSFilterProperty:
      title: property
      description: "A reference to either a DMS base property or a container property.\nFor nodes the DMS base properties are `instanceType`, `version`,\n`space`, `externalId`, `type`, `createdTime`, `lastUpdatedTime`,\nand `deletedTime`. For edges the DMS base properties\nare all of the node base properties with the addition of\n`startNode` and `endNode`.\n\nReferences to DMS base properties are on the form\n`[\"identifier\"]`, `[\"node\", \"identifier\"]` or `[\"edge\", \"identifier\"]` where\n`identifier` is a DMS base property.\n\nContainer properties can be referenced either through a view\n or through the container where it is defined.\n- To reference a property through the container where it\n    is defined the format is\n    `[\"space\", \"externalId\", \"identifier\"]` where `space`,\n    `externalId` is the space and\n    externalId of the container and `identifier` is one of the\n    property identifiers defined in the container.\n- To reference a property through one of the views mapping it the format\n  is `[\"space\", \"externalId/version\", \"identifier\"]`\n  where `space`, `externalId`, `version` is the space, externalId,\n  and version of the view respectively, and `identifier` is one of the\n  property identifiers defined in the view.\n"
      type: array
      minItems: 1
      items:
        type: string
    OverlapsFilterV3:
      type: object
      title: overlaps
      required:
      - overlaps
      properties:
        overlaps:
          type: object
          description: 'Matches items where the range made up of the two

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