Create or update views

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.

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required

Views to add or update.

required
Array of objects (ViewCreateDefinition) [ 1 .. 100 ] items

List of views to create/update

Responses
200

List of views

400

The response for a failed request.

409

View conflict

post/models/views
Request samples
from cognite.client.data_classes.data_modeling import ViewApply, MappedPropertyApply, ContainerId
views = [
    ViewApply(
        space="mySpace",
        external_id="myView",
        version="v1",
        properties={
            "someAlias": MappedPropertyApply(
                container=ContainerId("mySpace", "myContainer"),
                container_property_identifier="someProperty",
            ),
        }
   )
]
res = client.data_modeling.views.apply(views)

from cognite.client.data_classes.data_modeling import (
    ContainerId,
    DirectRelationReference,
    MappedPropertyApply,
    MultiEdgeConnectionApply,
    ViewApply,
    ViewId
)
acts_in_edge_type = DirectRelationReference(space="imdb", external_id="acts-in")
movie_view = ViewApply(
    space="imdb",
    external_id="Movie",
    version="1",
    name="Movie",
    properties={
        "title": MappedPropertyApply(
            container=ContainerId(space="imdb", external_id="Movie"),
            container_property_identifier="title",
        ),
        "actors": MultiEdgeConnectionApply(
            type=acts_in_edge_type,
            direction="inwards",
            source=ViewId("imdb", "Actor", "1"),
            name="actors",
        ),
    }
)
actor_view = ViewApply(
    space="imdb",
    external_id="Actor",
    version="1",
    name="Actor",
    properties={
        "name": MappedPropertyApply(
            container=ContainerId("imdb", "Actor"),
            name="name",
            container_property_identifier="name",
        ),
        "movies": MultiEdgeConnectionApply(
            type=acts_in_edge_type,
            direction="outwards",
            source=ViewId("imdb", "Movie", "1"),
            name="movies",
        ),
    }
)
res = client.data_modeling.views.apply([movie_view, actor_view])
Response samples
application/json
{
  • "items": [
    • {
      }
    ]
}