Skip to main content
POST
/
3d
/
contextualization
/
image360
Create 360 image contextualization
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

Authorization
string
header
required

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

application/json

The dmsContextualizationConfig and a list of CogniteAsset instances and 360 image instance ids with annotation data.

items
object[]
required
Required array length: 1 - 100 elements
dmsContextualizationConfig
object
required

Response

Empty response.

The response is of type object.

Last modified on July 10, 2026