curl --request POST \
--url https://auth.cognite.com/api/v1/orgs/{org}/orgs \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"id": "my-org",
"idp": {
"idpVendor": "AZURE_AD",
"issuer": "https://login.microsoftonline.com/some-tenant-id/v2.0"
},
"adminGroupId": "my-external-group",
"adminsCanCreateOrgsInSubtree": false,
"adminsCanCreateProjectsInSubtree": false,
"allowedClusters": [
"westeurope-1",
"asia-northeast1-1"
]
}
]
}
'import requests
url = "https://auth.cognite.com/api/v1/orgs/{org}/orgs"
payload = { "items": [
{
"id": "my-org",
"idp": {
"idpVendor": "AZURE_AD",
"issuer": "https://login.microsoftonline.com/some-tenant-id/v2.0"
},
"adminGroupId": "my-external-group",
"adminsCanCreateOrgsInSubtree": False,
"adminsCanCreateProjectsInSubtree": False,
"allowedClusters": ["westeurope-1", "asia-northeast1-1"]
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{
id: 'my-org',
idp: {
idpVendor: 'AZURE_AD',
issuer: 'https://login.microsoftonline.com/some-tenant-id/v2.0'
},
adminGroupId: 'my-external-group',
adminsCanCreateOrgsInSubtree: false,
adminsCanCreateProjectsInSubtree: false,
allowedClusters: ['westeurope-1', 'asia-northeast1-1']
}
]
})
};
fetch('https://auth.cognite.com/api/v1/orgs/{org}/orgs', 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://auth.cognite.com/api/v1/orgs/{org}/orgs",
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' => [
[
'id' => 'my-org',
'idp' => [
'idpVendor' => 'AZURE_AD',
'issuer' => 'https://login.microsoftonline.com/some-tenant-id/v2.0'
],
'adminGroupId' => 'my-external-group',
'adminsCanCreateOrgsInSubtree' => false,
'adminsCanCreateProjectsInSubtree' => false,
'allowedClusters' => [
'westeurope-1',
'asia-northeast1-1'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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://auth.cognite.com/api/v1/orgs/{org}/orgs"
payload := strings.NewReader("{\n \"items\": [\n {\n \"id\": \"my-org\",\n \"idp\": {\n \"idpVendor\": \"AZURE_AD\",\n \"issuer\": \"https://login.microsoftonline.com/some-tenant-id/v2.0\"\n },\n \"adminGroupId\": \"my-external-group\",\n \"adminsCanCreateOrgsInSubtree\": false,\n \"adminsCanCreateProjectsInSubtree\": false,\n \"allowedClusters\": [\n \"westeurope-1\",\n \"asia-northeast1-1\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://auth.cognite.com/api/v1/orgs/{org}/orgs")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"id\": \"my-org\",\n \"idp\": {\n \"idpVendor\": \"AZURE_AD\",\n \"issuer\": \"https://login.microsoftonline.com/some-tenant-id/v2.0\"\n },\n \"adminGroupId\": \"my-external-group\",\n \"adminsCanCreateOrgsInSubtree\": false,\n \"adminsCanCreateProjectsInSubtree\": false,\n \"allowedClusters\": [\n \"westeurope-1\",\n \"asia-northeast1-1\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://auth.cognite.com/api/v1/orgs/{org}/orgs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"id\": \"my-org\",\n \"idp\": {\n \"idpVendor\": \"AZURE_AD\",\n \"issuer\": \"https://login.microsoftonline.com/some-tenant-id/v2.0\"\n },\n \"adminGroupId\": \"my-external-group\",\n \"adminsCanCreateOrgsInSubtree\": false,\n \"adminsCanCreateProjectsInSubtree\": false,\n \"allowedClusters\": [\n \"westeurope-1\",\n \"asia-northeast1-1\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "my-org",
"parentId": "my-org",
"idp": {
"idpVendor": "AZURE_AD",
"issuer": "https://login.microsoftonline.com/some-tenant-id/v2.0"
},
"adminsCanCreateOrgsInSubtree": false,
"adminsCanCreateProjectsInSubtree": false,
"allowedClusters": [
"westeurope-1",
"asia-northeast1-1"
],
"adminGroupId": "my-external-group"
}
]
}Create an organization
Create a child organization under the specified organization.
Access control
Requires the caller to be an admin in the parent organization (i.e. the one on the path), or any of its ancestors.
In addition, the flag adminsCanCreateOrgsInSubtree must be set to true in that organization.
Example: Assume an organization hierarchy like: org-a -> org-b -> org-c.
To create a new organization under org-c, which means calling ‘POST /api/v1/orgs/org-c/orgs’, the caller must be an
admin in at least one of org-a, org-b, or org-c, and adminsCanCreateOrgsInSubtree must be true in that same organization.
curl --request POST \
--url https://auth.cognite.com/api/v1/orgs/{org}/orgs \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"id": "my-org",
"idp": {
"idpVendor": "AZURE_AD",
"issuer": "https://login.microsoftonline.com/some-tenant-id/v2.0"
},
"adminGroupId": "my-external-group",
"adminsCanCreateOrgsInSubtree": false,
"adminsCanCreateProjectsInSubtree": false,
"allowedClusters": [
"westeurope-1",
"asia-northeast1-1"
]
}
]
}
'import requests
url = "https://auth.cognite.com/api/v1/orgs/{org}/orgs"
payload = { "items": [
{
"id": "my-org",
"idp": {
"idpVendor": "AZURE_AD",
"issuer": "https://login.microsoftonline.com/some-tenant-id/v2.0"
},
"adminGroupId": "my-external-group",
"adminsCanCreateOrgsInSubtree": False,
"adminsCanCreateProjectsInSubtree": False,
"allowedClusters": ["westeurope-1", "asia-northeast1-1"]
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{
id: 'my-org',
idp: {
idpVendor: 'AZURE_AD',
issuer: 'https://login.microsoftonline.com/some-tenant-id/v2.0'
},
adminGroupId: 'my-external-group',
adminsCanCreateOrgsInSubtree: false,
adminsCanCreateProjectsInSubtree: false,
allowedClusters: ['westeurope-1', 'asia-northeast1-1']
}
]
})
};
fetch('https://auth.cognite.com/api/v1/orgs/{org}/orgs', 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://auth.cognite.com/api/v1/orgs/{org}/orgs",
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' => [
[
'id' => 'my-org',
'idp' => [
'idpVendor' => 'AZURE_AD',
'issuer' => 'https://login.microsoftonline.com/some-tenant-id/v2.0'
],
'adminGroupId' => 'my-external-group',
'adminsCanCreateOrgsInSubtree' => false,
'adminsCanCreateProjectsInSubtree' => false,
'allowedClusters' => [
'westeurope-1',
'asia-northeast1-1'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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://auth.cognite.com/api/v1/orgs/{org}/orgs"
payload := strings.NewReader("{\n \"items\": [\n {\n \"id\": \"my-org\",\n \"idp\": {\n \"idpVendor\": \"AZURE_AD\",\n \"issuer\": \"https://login.microsoftonline.com/some-tenant-id/v2.0\"\n },\n \"adminGroupId\": \"my-external-group\",\n \"adminsCanCreateOrgsInSubtree\": false,\n \"adminsCanCreateProjectsInSubtree\": false,\n \"allowedClusters\": [\n \"westeurope-1\",\n \"asia-northeast1-1\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://auth.cognite.com/api/v1/orgs/{org}/orgs")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"id\": \"my-org\",\n \"idp\": {\n \"idpVendor\": \"AZURE_AD\",\n \"issuer\": \"https://login.microsoftonline.com/some-tenant-id/v2.0\"\n },\n \"adminGroupId\": \"my-external-group\",\n \"adminsCanCreateOrgsInSubtree\": false,\n \"adminsCanCreateProjectsInSubtree\": false,\n \"allowedClusters\": [\n \"westeurope-1\",\n \"asia-northeast1-1\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://auth.cognite.com/api/v1/orgs/{org}/orgs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"id\": \"my-org\",\n \"idp\": {\n \"idpVendor\": \"AZURE_AD\",\n \"issuer\": \"https://login.microsoftonline.com/some-tenant-id/v2.0\"\n },\n \"adminGroupId\": \"my-external-group\",\n \"adminsCanCreateOrgsInSubtree\": false,\n \"adminsCanCreateProjectsInSubtree\": false,\n \"allowedClusters\": [\n \"westeurope-1\",\n \"asia-northeast1-1\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "my-org",
"parentId": "my-org",
"idp": {
"idpVendor": "AZURE_AD",
"issuer": "https://login.microsoftonline.com/some-tenant-id/v2.0"
},
"adminsCanCreateOrgsInSubtree": false,
"adminsCanCreateProjectsInSubtree": false,
"allowedClusters": [
"westeurope-1",
"asia-northeast1-1"
],
"adminGroupId": "my-external-group"
}
]
}Path Parameters
ID of an organization The ID of an organization
3 - 64^([a-z][a-z0-9-]{1,62}[a-z0-9])$"my-org"
Body
A request to create an organization.
1 elementShow child attributes
Show child attributes
Response
A successfully created organization
1 elementShow child attributes
Show child attributes
Was this page helpful?