---
title: "Create KG edge"
method: POST
path: "/api/v0/knowledge-graphs/{kg_id}/edges"
tags: ["Knowledge Graphs"]
---

# Create KG edge

`POST /api/v0/knowledge-graphs/{kg_id}/edges`

## Path parameters

- `kg_id` string, uuid, required

## Request body

- EdgeCreateRequest
  - `edge_type_id` string, required
  - `source_public_id` string, uuid, required
  - `target_public_id` string, uuid, required
  - `attributes` object
  - `confidence` number, nullable
  - `evidence` object, nullable

## Response `200`

Successful Response

- EdgeResponse — A :class:`KGEdge` — a typed relation between two nodes (by public id). Endpoints are real node→node references (``source_public_id`` / ``target_public_id``), so the frontend can look each up in the node list from the same ``/graph`` dump. Domain→domain edges are machine-derived claims and carry ``evidence`` ({occurrence_ids, cross_reference_ids}) tracing *why* the claim holds down to Tier-2 occurrences.
  - `id` string, uuid, required
  - `knowledge_graph_id` string, uuid, required
  - `edge_type_id` string, required
  - `source_public_id` string, uuid, required
  - `target_public_id` string, uuid, required
  - `attributes` object, required
  - `confidence` number, nullable
  - `source` string, required
  - `evidence` object, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/outerport/apis/outerport-api.md) · [All operations](https://skmtc.dev/outerport/apis/outerport-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/outerport/outerport-api/revisions/f565b46daaea/schema)
