curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"asset": {
"instanceId": {
"space": "<string>",
"externalId": "<string>"
}
},
"image360": {
"instanceId": {
"space": "<string>",
"externalId": "<string>"
}
},
"polygon": {
"version": "2.0.0",
"data": [
4,
0.9270756358319165,
2.2174037424638806,
0.7257584085532073,
2.3363920019987128,
0.5705610346411107,
1.4057349929548537,
0.8149227563644923,
1.438327658871614,
4,
0.4054357034082108,
1.9334182037803302,
0.3161133722927196,
2.1237903923558683,
0.2849443437943124,
1.2575840792945063,
0.3874849796030885,
1.3717664614350102
]
}
}
],
"dmsContextualizationConfig": {
"object3DSpace": "<string>",
"contextualizationSpace": "<string>",
"revisionInstanceId": {
"space": "<string>",
"externalId": "<string>"
}
}
}
'import requests
url = "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360"
payload = {
"items": [
{
"asset": { "instanceId": {
"space": "<string>",
"externalId": "<string>"
} },
"image360": { "instanceId": {
"space": "<string>",
"externalId": "<string>"
} },
"polygon": {
"version": "2.0.0",
"data": [4, 0.9270756358319165, 2.2174037424638806, 0.7257584085532073, 2.3363920019987128, 0.5705610346411107, 1.4057349929548537, 0.8149227563644923, 1.438327658871614, 4, 0.4054357034082108, 1.9334182037803302, 0.3161133722927196, 2.1237903923558683, 0.2849443437943124, 1.2575840792945063, 0.3874849796030885, 1.3717664614350102]
}
}
],
"dmsContextualizationConfig": {
"object3DSpace": "<string>",
"contextualizationSpace": "<string>",
"revisionInstanceId": {
"space": "<string>",
"externalId": "<string>"
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{
asset: {instanceId: {space: '<string>', externalId: '<string>'}},
image360: {instanceId: {space: '<string>', externalId: '<string>'}},
polygon: {
version: '2.0.0',
data: [
4,
0.9270756358319165,
2.2174037424638806,
0.7257584085532073,
2.3363920019987128,
0.5705610346411107,
1.4057349929548537,
0.8149227563644923,
1.438327658871614,
4,
0.4054357034082108,
1.9334182037803302,
0.3161133722927196,
2.1237903923558683,
0.2849443437943124,
1.2575840792945063,
0.3874849796030885,
1.3717664614350102
]
}
}
],
dmsContextualizationConfig: {
object3DSpace: '<string>',
contextualizationSpace: '<string>',
revisionInstanceId: {space: '<string>', externalId: '<string>'}
}
})
};
fetch('https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'items' => [
[
'asset' => [
'instanceId' => [
'space' => '<string>',
'externalId' => '<string>'
]
],
'image360' => [
'instanceId' => [
'space' => '<string>',
'externalId' => '<string>'
]
],
'polygon' => [
'version' => '2.0.0',
'data' => [
4,
0.9270756358319165,
2.2174037424638806,
0.7257584085532073,
2.3363920019987128,
0.5705610346411107,
1.4057349929548537,
0.8149227563644923,
1.438327658871614,
4,
0.4054357034082108,
1.9334182037803302,
0.3161133722927196,
2.1237903923558683,
0.2849443437943124,
1.2575840792945063,
0.3874849796030885,
1.3717664614350102
]
]
]
],
'dmsContextualizationConfig' => [
'object3DSpace' => '<string>',
'contextualizationSpace' => '<string>',
'revisionInstanceId' => [
'space' => '<string>',
'externalId' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360"
payload := strings.NewReader("{\n \"items\": [\n {\n \"asset\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"image360\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"polygon\": {\n \"version\": \"2.0.0\",\n \"data\": [\n 4,\n 0.9270756358319165,\n 2.2174037424638806,\n 0.7257584085532073,\n 2.3363920019987128,\n 0.5705610346411107,\n 1.4057349929548537,\n 0.8149227563644923,\n 1.438327658871614,\n 4,\n 0.4054357034082108,\n 1.9334182037803302,\n 0.3161133722927196,\n 2.1237903923558683,\n 0.2849443437943124,\n 1.2575840792945063,\n 0.3874849796030885,\n 1.3717664614350102\n ]\n }\n }\n ],\n \"dmsContextualizationConfig\": {\n \"object3DSpace\": \"<string>\",\n \"contextualizationSpace\": \"<string>\",\n \"revisionInstanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"asset\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"image360\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"polygon\": {\n \"version\": \"2.0.0\",\n \"data\": [\n 4,\n 0.9270756358319165,\n 2.2174037424638806,\n 0.7257584085532073,\n 2.3363920019987128,\n 0.5705610346411107,\n 1.4057349929548537,\n 0.8149227563644923,\n 1.438327658871614,\n 4,\n 0.4054357034082108,\n 1.9334182037803302,\n 0.3161133722927196,\n 2.1237903923558683,\n 0.2849443437943124,\n 1.2575840792945063,\n 0.3874849796030885,\n 1.3717664614350102\n ]\n }\n }\n ],\n \"dmsContextualizationConfig\": {\n \"object3DSpace\": \"<string>\",\n \"contextualizationSpace\": \"<string>\",\n \"revisionInstanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"asset\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"image360\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"polygon\": {\n \"version\": \"2.0.0\",\n \"data\": [\n 4,\n 0.9270756358319165,\n 2.2174037424638806,\n 0.7257584085532073,\n 2.3363920019987128,\n 0.5705610346411107,\n 1.4057349929548537,\n 0.8149227563644923,\n 1.438327658871614,\n 4,\n 0.4054357034082108,\n 1.9334182037803302,\n 0.3161133722927196,\n 2.1237903923558683,\n 0.2849443437943124,\n 1.2575840792945063,\n 0.3874849796030885,\n 1.3717664614350102\n ]\n }\n }\n ],\n \"dmsContextualizationConfig\": {\n \"object3DSpace\": \"<string>\",\n \"contextualizationSpace\": \"<string>\",\n \"revisionInstanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{}{
"error": {
"code": 401,
"message": "Could not authenticate.",
"missing": [
{}
],
"duplicated": [
{}
]
}
}Create 360 image contextualization
Create links between 360 image annotations and CogniteAsset instances.
Use this endpoint to connect 360 image annotations in a specific 3D model revision to assets in data modeling projects. One CogniteAsset can be linked to many Cognite360ImageAnnotation instances.
These links let users navigate between 360 image content and related assets.
The 360 image annotations are scoped to the referenced 3D model revision. Asset references use the space and externalId of CogniteAsset instances.
Note: This endpoint is available only in data modeling projects.
Note: The request body variants without RC in the name (for example, ContextualizeImage360AnnotationBody) are deprecated and will be removed before this endpoint is released.
Use the RC (release candidate) variants instead.
curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"asset": {
"instanceId": {
"space": "<string>",
"externalId": "<string>"
}
},
"image360": {
"instanceId": {
"space": "<string>",
"externalId": "<string>"
}
},
"polygon": {
"version": "2.0.0",
"data": [
4,
0.9270756358319165,
2.2174037424638806,
0.7257584085532073,
2.3363920019987128,
0.5705610346411107,
1.4057349929548537,
0.8149227563644923,
1.438327658871614,
4,
0.4054357034082108,
1.9334182037803302,
0.3161133722927196,
2.1237903923558683,
0.2849443437943124,
1.2575840792945063,
0.3874849796030885,
1.3717664614350102
]
}
}
],
"dmsContextualizationConfig": {
"object3DSpace": "<string>",
"contextualizationSpace": "<string>",
"revisionInstanceId": {
"space": "<string>",
"externalId": "<string>"
}
}
}
'import requests
url = "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360"
payload = {
"items": [
{
"asset": { "instanceId": {
"space": "<string>",
"externalId": "<string>"
} },
"image360": { "instanceId": {
"space": "<string>",
"externalId": "<string>"
} },
"polygon": {
"version": "2.0.0",
"data": [4, 0.9270756358319165, 2.2174037424638806, 0.7257584085532073, 2.3363920019987128, 0.5705610346411107, 1.4057349929548537, 0.8149227563644923, 1.438327658871614, 4, 0.4054357034082108, 1.9334182037803302, 0.3161133722927196, 2.1237903923558683, 0.2849443437943124, 1.2575840792945063, 0.3874849796030885, 1.3717664614350102]
}
}
],
"dmsContextualizationConfig": {
"object3DSpace": "<string>",
"contextualizationSpace": "<string>",
"revisionInstanceId": {
"space": "<string>",
"externalId": "<string>"
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{
asset: {instanceId: {space: '<string>', externalId: '<string>'}},
image360: {instanceId: {space: '<string>', externalId: '<string>'}},
polygon: {
version: '2.0.0',
data: [
4,
0.9270756358319165,
2.2174037424638806,
0.7257584085532073,
2.3363920019987128,
0.5705610346411107,
1.4057349929548537,
0.8149227563644923,
1.438327658871614,
4,
0.4054357034082108,
1.9334182037803302,
0.3161133722927196,
2.1237903923558683,
0.2849443437943124,
1.2575840792945063,
0.3874849796030885,
1.3717664614350102
]
}
}
],
dmsContextualizationConfig: {
object3DSpace: '<string>',
contextualizationSpace: '<string>',
revisionInstanceId: {space: '<string>', externalId: '<string>'}
}
})
};
fetch('https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'items' => [
[
'asset' => [
'instanceId' => [
'space' => '<string>',
'externalId' => '<string>'
]
],
'image360' => [
'instanceId' => [
'space' => '<string>',
'externalId' => '<string>'
]
],
'polygon' => [
'version' => '2.0.0',
'data' => [
4,
0.9270756358319165,
2.2174037424638806,
0.7257584085532073,
2.3363920019987128,
0.5705610346411107,
1.4057349929548537,
0.8149227563644923,
1.438327658871614,
4,
0.4054357034082108,
1.9334182037803302,
0.3161133722927196,
2.1237903923558683,
0.2849443437943124,
1.2575840792945063,
0.3874849796030885,
1.3717664614350102
]
]
]
],
'dmsContextualizationConfig' => [
'object3DSpace' => '<string>',
'contextualizationSpace' => '<string>',
'revisionInstanceId' => [
'space' => '<string>',
'externalId' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360"
payload := strings.NewReader("{\n \"items\": [\n {\n \"asset\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"image360\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"polygon\": {\n \"version\": \"2.0.0\",\n \"data\": [\n 4,\n 0.9270756358319165,\n 2.2174037424638806,\n 0.7257584085532073,\n 2.3363920019987128,\n 0.5705610346411107,\n 1.4057349929548537,\n 0.8149227563644923,\n 1.438327658871614,\n 4,\n 0.4054357034082108,\n 1.9334182037803302,\n 0.3161133722927196,\n 2.1237903923558683,\n 0.2849443437943124,\n 1.2575840792945063,\n 0.3874849796030885,\n 1.3717664614350102\n ]\n }\n }\n ],\n \"dmsContextualizationConfig\": {\n \"object3DSpace\": \"<string>\",\n \"contextualizationSpace\": \"<string>\",\n \"revisionInstanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"asset\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"image360\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"polygon\": {\n \"version\": \"2.0.0\",\n \"data\": [\n 4,\n 0.9270756358319165,\n 2.2174037424638806,\n 0.7257584085532073,\n 2.3363920019987128,\n 0.5705610346411107,\n 1.4057349929548537,\n 0.8149227563644923,\n 1.438327658871614,\n 4,\n 0.4054357034082108,\n 1.9334182037803302,\n 0.3161133722927196,\n 2.1237903923558683,\n 0.2849443437943124,\n 1.2575840792945063,\n 0.3874849796030885,\n 1.3717664614350102\n ]\n }\n }\n ],\n \"dmsContextualizationConfig\": {\n \"object3DSpace\": \"<string>\",\n \"contextualizationSpace\": \"<string>\",\n \"revisionInstanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster}.cognitedata.com/api/v1/projects/{project}/3d/contextualization/image360")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"asset\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"image360\": {\n \"instanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n },\n \"polygon\": {\n \"version\": \"2.0.0\",\n \"data\": [\n 4,\n 0.9270756358319165,\n 2.2174037424638806,\n 0.7257584085532073,\n 2.3363920019987128,\n 0.5705610346411107,\n 1.4057349929548537,\n 0.8149227563644923,\n 1.438327658871614,\n 4,\n 0.4054357034082108,\n 1.9334182037803302,\n 0.3161133722927196,\n 2.1237903923558683,\n 0.2849443437943124,\n 1.2575840792945063,\n 0.3874849796030885,\n 1.3717664614350102\n ]\n }\n }\n ],\n \"dmsContextualizationConfig\": {\n \"object3DSpace\": \"<string>\",\n \"contextualizationSpace\": \"<string>\",\n \"revisionInstanceId\": {\n \"space\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{}{
"error": {
"code": 401,
"message": "Could not authenticate.",
"missing": [
{}
],
"duplicated": [
{}
]
}
}Authorizations
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.
Body
The dmsContextualizationConfig and a list of CogniteAsset instances and 360 image instance ids with annotation data.
Response
Empty response.
The response is of type object.
Was this page helpful?