Skip to main content
POST
/
org
/
{org}
/
gvc
/
{gvc}
/
identity
Create an identity
curl --request POST \
  --url https://api.cpln.io/org/{org}/gvc/{gvc}/identity \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "tags": {},
  "aws": {
    "cloudAccountLink": "<string>",
    "policyRefs": [
      "<string>"
    ],
    "trustPolicy": {
      "Version": "2012-10-17",
      "Statement": [
        {}
      ]
    },
    "roleName": "<string>"
  },
  "gcp": {
    "cloudAccountLink": "<string>",
    "scopes": [
      "<string>"
    ],
    "serviceAccount": "<string>",
    "bindings": [
      {
        "resource": "<string>",
        "roles": [
          "<string>"
        ]
      }
    ]
  },
  "azure": {
    "cloudAccountLink": "<string>",
    "roleAssignments": [
      {
        "scope": "<string>",
        "roles": [
          "<string>"
        ]
      }
    ]
  },
  "ngs": {
    "cloudAccountLink": "<string>",
    "pub": {
      "allow": [
        "<string>"
      ],
      "deny": [
        "<string>"
      ]
    },
    "sub": {
      "allow": [
        "<string>"
      ],
      "deny": [
        "<string>"
      ]
    },
    "resp": {
      "max": 123,
      "ttl": "<string>"
    },
    "subs": 123,
    "data": 123,
    "payload": 123
  },
  "networkResources": [
    {
      "name": "<string>",
      "agentLink": "<string>",
      "IPs": [
        "<string>"
      ],
      "FQDN": "<string>",
      "resolverIP": "<string>",
      "ports": [
        123
      ]
    }
  ],
  "nativeNetworkResources": [
    {
      "name": "<string>",
      "FQDN": "<string>",
      "ports": [
        123
      ],
      "awsPrivateLink": {
        "endpointServiceName": "<string>"
      },
      "gcpServiceConnect": {
        "targetService": "<string>"
      }
    }
  ],
  "memcacheAccess": [
    {
      "clusterLink": "<string>",
      "role": "readWrite"
    }
  ],
  "spicedbAccess": [
    {
      "clusterLink": "<string>"
    }
  ],
  "gvc": "<string>"
}
'
import requests

url = "https://api.cpln.io/org/{org}/gvc/{gvc}/identity"

payload = {
"name": "<string>",
"description": "<string>",
"tags": {},
"aws": {
"cloudAccountLink": "<string>",
"policyRefs": ["<string>"],
"trustPolicy": {
"Version": "2012-10-17",
"Statement": [{}]
},
"roleName": "<string>"
},
"gcp": {
"cloudAccountLink": "<string>",
"scopes": ["<string>"],
"serviceAccount": "<string>",
"bindings": [
{
"resource": "<string>",
"roles": ["<string>"]
}
]
},
"azure": {
"cloudAccountLink": "<string>",
"roleAssignments": [
{
"scope": "<string>",
"roles": ["<string>"]
}
]
},
"ngs": {
"cloudAccountLink": "<string>",
"pub": {
"allow": ["<string>"],
"deny": ["<string>"]
},
"sub": {
"allow": ["<string>"],
"deny": ["<string>"]
},
"resp": {
"max": 123,
"ttl": "<string>"
},
"subs": 123,
"data": 123,
"payload": 123
},
"networkResources": [
{
"name": "<string>",
"agentLink": "<string>",
"IPs": ["<string>"],
"FQDN": "<string>",
"resolverIP": "<string>",
"ports": [123]
}
],
"nativeNetworkResources": [
{
"name": "<string>",
"FQDN": "<string>",
"ports": [123],
"awsPrivateLink": { "endpointServiceName": "<string>" },
"gcpServiceConnect": { "targetService": "<string>" }
}
],
"memcacheAccess": [
{
"clusterLink": "<string>",
"role": "readWrite"
}
],
"spicedbAccess": [{ "clusterLink": "<string>" }],
"gvc": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
tags: {},
aws: {
cloudAccountLink: '<string>',
policyRefs: ['<string>'],
trustPolicy: {Version: '2012-10-17', Statement: [{}]},
roleName: '<string>'
},
gcp: {
cloudAccountLink: '<string>',
scopes: ['<string>'],
serviceAccount: '<string>',
bindings: [{resource: '<string>', roles: ['<string>']}]
},
azure: {
cloudAccountLink: '<string>',
roleAssignments: [{scope: '<string>', roles: ['<string>']}]
},
ngs: {
cloudAccountLink: '<string>',
pub: {allow: ['<string>'], deny: ['<string>']},
sub: {allow: ['<string>'], deny: ['<string>']},
resp: {max: 123, ttl: '<string>'},
subs: 123,
data: 123,
payload: 123
},
networkResources: [
{
name: '<string>',
agentLink: '<string>',
IPs: ['<string>'],
FQDN: '<string>',
resolverIP: '<string>',
ports: [123]
}
],
nativeNetworkResources: [
{
name: '<string>',
FQDN: '<string>',
ports: [123],
awsPrivateLink: {endpointServiceName: '<string>'},
gcpServiceConnect: {targetService: '<string>'}
}
],
memcacheAccess: [{clusterLink: '<string>', role: 'readWrite'}],
spicedbAccess: [{clusterLink: '<string>'}],
gvc: '<string>'
})
};

fetch('https://api.cpln.io/org/{org}/gvc/{gvc}/identity', 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://api.cpln.io/org/{org}/gvc/{gvc}/identity",
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([
'name' => '<string>',
'description' => '<string>',
'tags' => [

],
'aws' => [
'cloudAccountLink' => '<string>',
'policyRefs' => [
'<string>'
],
'trustPolicy' => [
'Version' => '2012-10-17',
'Statement' => [
[

]
]
],
'roleName' => '<string>'
],
'gcp' => [
'cloudAccountLink' => '<string>',
'scopes' => [
'<string>'
],
'serviceAccount' => '<string>',
'bindings' => [
[
'resource' => '<string>',
'roles' => [
'<string>'
]
]
]
],
'azure' => [
'cloudAccountLink' => '<string>',
'roleAssignments' => [
[
'scope' => '<string>',
'roles' => [
'<string>'
]
]
]
],
'ngs' => [
'cloudAccountLink' => '<string>',
'pub' => [
'allow' => [
'<string>'
],
'deny' => [
'<string>'
]
],
'sub' => [
'allow' => [
'<string>'
],
'deny' => [
'<string>'
]
],
'resp' => [
'max' => 123,
'ttl' => '<string>'
],
'subs' => 123,
'data' => 123,
'payload' => 123
],
'networkResources' => [
[
'name' => '<string>',
'agentLink' => '<string>',
'IPs' => [
'<string>'
],
'FQDN' => '<string>',
'resolverIP' => '<string>',
'ports' => [
123
]
]
],
'nativeNetworkResources' => [
[
'name' => '<string>',
'FQDN' => '<string>',
'ports' => [
123
],
'awsPrivateLink' => [
'endpointServiceName' => '<string>'
],
'gcpServiceConnect' => [
'targetService' => '<string>'
]
]
],
'memcacheAccess' => [
[
'clusterLink' => '<string>',
'role' => 'readWrite'
]
],
'spicedbAccess' => [
[
'clusterLink' => '<string>'
]
],
'gvc' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://api.cpln.io/org/{org}/gvc/{gvc}/identity"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": {},\n \"aws\": {\n \"cloudAccountLink\": \"<string>\",\n \"policyRefs\": [\n \"<string>\"\n ],\n \"trustPolicy\": {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {}\n ]\n },\n \"roleName\": \"<string>\"\n },\n \"gcp\": {\n \"cloudAccountLink\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"serviceAccount\": \"<string>\",\n \"bindings\": [\n {\n \"resource\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"azure\": {\n \"cloudAccountLink\": \"<string>\",\n \"roleAssignments\": [\n {\n \"scope\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"ngs\": {\n \"cloudAccountLink\": \"<string>\",\n \"pub\": {\n \"allow\": [\n \"<string>\"\n ],\n \"deny\": [\n \"<string>\"\n ]\n },\n \"sub\": {\n \"allow\": [\n \"<string>\"\n ],\n \"deny\": [\n \"<string>\"\n ]\n },\n \"resp\": {\n \"max\": 123,\n \"ttl\": \"<string>\"\n },\n \"subs\": 123,\n \"data\": 123,\n \"payload\": 123\n },\n \"networkResources\": [\n {\n \"name\": \"<string>\",\n \"agentLink\": \"<string>\",\n \"IPs\": [\n \"<string>\"\n ],\n \"FQDN\": \"<string>\",\n \"resolverIP\": \"<string>\",\n \"ports\": [\n 123\n ]\n }\n ],\n \"nativeNetworkResources\": [\n {\n \"name\": \"<string>\",\n \"FQDN\": \"<string>\",\n \"ports\": [\n 123\n ],\n \"awsPrivateLink\": {\n \"endpointServiceName\": \"<string>\"\n },\n \"gcpServiceConnect\": {\n \"targetService\": \"<string>\"\n }\n }\n ],\n \"memcacheAccess\": [\n {\n \"clusterLink\": \"<string>\",\n \"role\": \"readWrite\"\n }\n ],\n \"spicedbAccess\": [\n {\n \"clusterLink\": \"<string>\"\n }\n ],\n \"gvc\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "<api-key>")
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://api.cpln.io/org/{org}/gvc/{gvc}/identity")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": {},\n \"aws\": {\n \"cloudAccountLink\": \"<string>\",\n \"policyRefs\": [\n \"<string>\"\n ],\n \"trustPolicy\": {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {}\n ]\n },\n \"roleName\": \"<string>\"\n },\n \"gcp\": {\n \"cloudAccountLink\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"serviceAccount\": \"<string>\",\n \"bindings\": [\n {\n \"resource\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"azure\": {\n \"cloudAccountLink\": \"<string>\",\n \"roleAssignments\": [\n {\n \"scope\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"ngs\": {\n \"cloudAccountLink\": \"<string>\",\n \"pub\": {\n \"allow\": [\n \"<string>\"\n ],\n \"deny\": [\n \"<string>\"\n ]\n },\n \"sub\": {\n \"allow\": [\n \"<string>\"\n ],\n \"deny\": [\n \"<string>\"\n ]\n },\n \"resp\": {\n \"max\": 123,\n \"ttl\": \"<string>\"\n },\n \"subs\": 123,\n \"data\": 123,\n \"payload\": 123\n },\n \"networkResources\": [\n {\n \"name\": \"<string>\",\n \"agentLink\": \"<string>\",\n \"IPs\": [\n \"<string>\"\n ],\n \"FQDN\": \"<string>\",\n \"resolverIP\": \"<string>\",\n \"ports\": [\n 123\n ]\n }\n ],\n \"nativeNetworkResources\": [\n {\n \"name\": \"<string>\",\n \"FQDN\": \"<string>\",\n \"ports\": [\n 123\n ],\n \"awsPrivateLink\": {\n \"endpointServiceName\": \"<string>\"\n },\n \"gcpServiceConnect\": {\n \"targetService\": \"<string>\"\n }\n }\n ],\n \"memcacheAccess\": [\n {\n \"clusterLink\": \"<string>\",\n \"role\": \"readWrite\"\n }\n ],\n \"spicedbAccess\": [\n {\n \"clusterLink\": \"<string>\"\n }\n ],\n \"gvc\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.cpln.io/org/{org}/gvc/{gvc}/identity")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"tags\": {},\n \"aws\": {\n \"cloudAccountLink\": \"<string>\",\n \"policyRefs\": [\n \"<string>\"\n ],\n \"trustPolicy\": {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {}\n ]\n },\n \"roleName\": \"<string>\"\n },\n \"gcp\": {\n \"cloudAccountLink\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"serviceAccount\": \"<string>\",\n \"bindings\": [\n {\n \"resource\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"azure\": {\n \"cloudAccountLink\": \"<string>\",\n \"roleAssignments\": [\n {\n \"scope\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"ngs\": {\n \"cloudAccountLink\": \"<string>\",\n \"pub\": {\n \"allow\": [\n \"<string>\"\n ],\n \"deny\": [\n \"<string>\"\n ]\n },\n \"sub\": {\n \"allow\": [\n \"<string>\"\n ],\n \"deny\": [\n \"<string>\"\n ]\n },\n \"resp\": {\n \"max\": 123,\n \"ttl\": \"<string>\"\n },\n \"subs\": 123,\n \"data\": 123,\n \"payload\": 123\n },\n \"networkResources\": [\n {\n \"name\": \"<string>\",\n \"agentLink\": \"<string>\",\n \"IPs\": [\n \"<string>\"\n ],\n \"FQDN\": \"<string>\",\n \"resolverIP\": \"<string>\",\n \"ports\": [\n 123\n ]\n }\n ],\n \"nativeNetworkResources\": [\n {\n \"name\": \"<string>\",\n \"FQDN\": \"<string>\",\n \"ports\": [\n 123\n ],\n \"awsPrivateLink\": {\n \"endpointServiceName\": \"<string>\"\n },\n \"gcpServiceConnect\": {\n \"targetService\": \"<string>\"\n }\n }\n ],\n \"memcacheAccess\": [\n {\n \"clusterLink\": \"<string>\",\n \"role\": \"readWrite\"\n }\n ],\n \"spicedbAccess\": [\n {\n \"clusterLink\": \"<string>\"\n }\n ],\n \"gvc\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "status": 123,
  "message": "<string>",
  "code": "<string>",
  "details": {},
  "id": "<string>"
}
{
"status": 123,
"message": "<string>",
"code": "<string>",
"details": {},
"id": "<string>"
}

Authorizations

Authorization
string
header
required

Service account key can be used as API keys

Path Parameters

org
string
required
gvc
string
required

Body

application/json
name
string
Maximum string length: 64
description
string
Maximum string length: 250
tags
object
aws
object
gcp
object
azure
object
ngs
object
networkResources
object[]
nativeNetworkResources
object[]
memcacheAccess
object[]
spicedbAccess
object[]
gvc
string

Response

Identity was created successfully