---
title: "Create Clarity Process Link"
method: POST
path: "/v2/organizations/{orgId}/clarity/hierarchy/process-links"
tags: ["Clarity"]
---

# Create Clarity Process Link

`POST /v2/organizations/{orgId}/clarity/hierarchy/process-links`

## Request

- Base URL: `https://api.duvo.ai`
- URL: `https://api.duvo.ai/v2/organizations/{orgId}/clarity/hierarchy/process-links`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/duvo/apis/duvo-public-api/docs/v2/organizations/:orgId/clarity/hierarchy/process-links/post.ts> (a function with typed inputs; its response is checked against the schema)

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.

## Path parameters

- `orgId` string, uuid, required

## Request body

- object
  - `source_node_id` string, uuid, required: Hierarchy node id for the source process
  - `target_node_id` string, uuid, required: Hierarchy node id for the target process
  - `type` 'hands_off_to' | 'shares_step_with' | 'variant_of', required: Relationship type between the source process node and target process node
  - `state` 'suggested' | 'confirmed': Whether the link is suggested by Duvo or confirmed by a user
  - `confidence` number, nullable: Optional confidence score from 0 to 1

## Response `200`

Default Response

- object
  - `process_link` object, required
    - `id` string, uuid, required: Unique process-link identifier
    - `source_node_id` string, uuid, required: Hierarchy node id for the source process
    - `target_node_id` string, uuid, required: Hierarchy node id for the target process
    - `type` 'hands_off_to' | 'shares_step_with' | 'variant_of', required: Relationship type between the source process node and target process node
    - `state` 'suggested' | 'confirmed', required: Whether the link is suggested by Duvo or confirmed by a user
    - `confidence` number, nullable, required: Optional confidence score from 0 to 1
    - `rationale` string, nullable, required: Why Duvo suggested this process relationship
    - `created_at` string, required: ISO 8601 creation timestamp
    - `updated_at` string, required: ISO 8601 last-updated timestamp
  - `created` boolean: True when a create request inserted a new link

## Other responses

- `201`: Default Response
- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `404`: Default Response
- `409`: Default Response
- `422`: Default Response
- `500`: Default Response

---

[API](https://skmtc.dev/duvo/apis/duvo-public-api.md) - [All operations](https://skmtc.dev/duvo/apis/duvo-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/duvo/apis/duvo-public-api/revisions/dafcf3d868a9?raw)
