Create Clarity Process Link
curl --request POST \
--url https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "confirmed",
"confidence": 0.5
}
'import requests
url = "https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links"
payload = {
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "confirmed",
"confidence": 0.5
}
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({
source_node_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
target_node_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
state: 'confirmed',
confidence: 0.5
})
};
fetch('https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links', 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.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links",
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([
'source_node_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'target_node_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'state' => 'confirmed',
'confidence' => 0.5
]),
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://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links"
payload := strings.NewReader("{\n \"source_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"target_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"state\": \"confirmed\",\n \"confidence\": 0.5\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://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"source_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"target_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"state\": \"confirmed\",\n \"confidence\": 0.5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links")
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 \"source_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"target_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"state\": \"confirmed\",\n \"confidence\": 0.5\n}"
response = http.request(request)
puts response.read_body{
"process_link": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confidence": 0.5,
"rationale": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
},
"created": true
}{
"process_link": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confidence": 0.5,
"rationale": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
},
"created": true
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Clarity
Create Clarity Process Link
Create a process-to-process link in the organization’s Clarity landscape when the caller can manage both endpoint teams. If the same live source, target, and type already exists, the existing link is returned.
POST
/
v2
/
organizations
/
{orgId}
/
clarity
/
hierarchy
/
process-links
Create Clarity Process Link
curl --request POST \
--url https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "confirmed",
"confidence": 0.5
}
'import requests
url = "https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links"
payload = {
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "confirmed",
"confidence": 0.5
}
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({
source_node_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
target_node_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
state: 'confirmed',
confidence: 0.5
})
};
fetch('https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links', 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.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links",
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([
'source_node_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'target_node_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'state' => 'confirmed',
'confidence' => 0.5
]),
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://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links"
payload := strings.NewReader("{\n \"source_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"target_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"state\": \"confirmed\",\n \"confidence\": 0.5\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://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"source_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"target_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"state\": \"confirmed\",\n \"confidence\": 0.5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links")
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 \"source_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"target_node_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"state\": \"confirmed\",\n \"confidence\": 0.5\n}"
response = http.request(request)
puts response.read_body{
"process_link": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confidence": 0.5,
"rationale": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
},
"created": true
}{
"process_link": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confidence": 0.5,
"rationale": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
},
"created": true
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
API key authentication. Get your API key from the Duvo dashboard.
Path Parameters
Body
application/json
Hierarchy node id for the source process
Hierarchy node id for the target process
Relationship type between the source process node and target process node
Available options:
hands_off_to, shares_step_with, variant_of Whether the link is suggested by Duvo or confirmed by a user
Available options:
suggested, confirmed Optional confidence score from 0 to 1
Required range:
0 <= x <= 1Was this page helpful?
⌘I