---
title: "Create a knowledge graph node"
method: POST
path: "/knowledgeGraph/nodes"
tags: ["KnowledgeGraph"]
---

# Create a knowledge graph node

`POST /knowledgeGraph/nodes`

Creates a new node in the knowledge graph for a workspace. Server generates the node_id with suffix -kgn.

## Request body

- CreateKnowledgeGraphNodeRequest — Request body for creating a new knowledge graph node
  - `workspace_id` string, required — The workspace to create the node in
  - `application_id` string — The application this node is associated with
  - `label` 'Page' | 'Workflow' | 'Feature' | 'KnowledgeDoc' | 'Pattern', required — Label for a knowledge graph node indicating its concept type
  - `name` string, required — The name of the concept
  - `summary` string — A short summary of the concept
  - `content` string — Detailed content for this node (max 20K chars before embedding fallback)
  - `confidence` number, double — Confidence score (0.0-1.0)
  - `provenance_summary` string — Free-text provenance summary
  - `properties` object — Additional structured properties
  - `agent_type` string — Agent type creating this node
  - `agent_version` string — Agent version creating this node

## Response `201`

The created node

- KnowledgeGraphNode — A node in the knowledge graph representing a concept (Page, Workflow, Feature, KnowledgeDoc, Pattern)
  - `node_id` string — Unique identifier for the node (server-generated, suffix -kgn)
  - `workspace_id` string — The workspace this node belongs to
  - `application_id` string — The application this node is associated with
  - `label` 'Page' | 'Workflow' | 'Feature' | 'KnowledgeDoc' | 'Pattern' — Label for a knowledge graph node indicating its concept type
  - `name` string — The name of the concept
  - `summary` string — A short summary of the concept
  - `content` string — Detailed content for this node (max 20K chars before embedding fallback)
  - `status` 'ACTIVE' | 'ARCHIVED' — Status of a knowledge graph node
  - `confidence` number, double — Confidence score (0.0-1.0) mapped from tier (high=1.0, medium=0.6, low=0.3)
  - `provenance_summary` string — Free-text provenance summary for this concept
  - `properties` object — Additional structured properties for this node
  - `embedding_input_is_summary` boolean — True if embedding was computed from summary rather than content (content exceeded 20K chars)
  - `version` integer — Monotonic edit counter (server-managed, readOnly)
  - `u_version_` string — ETag for optimistic locking (server-managed, readOnly)
  - `last_updated_by` string — Principal who last updated this node (server-managed, readOnly)
  - `agent_type` string — Agent type that wrote this node (e.g. AMA-Bootstrap, RAA-Enrichment)
  - `agent_version` string — Agent version that wrote this node
  - `created_by` string — Principal who created this node (server-managed, readOnly)
  - `created_at` string, date-time — Creation timestamp
  - `updated_at` string, date-time — Last update timestamp

## Other responses

- `400` — Invalid or missing parameter
- `401` — User not authenticated
- `403` — User not authorized
- `409` — Unknown error
- `422` — Unknown error
- `default` — Unknown error

---

[API](https://skmtc.net/mabl/apis/mabl-api.md) · [All operations](https://skmtc.net/mabl/apis/mabl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mabl/mabl-api/revisions/d0fc0114da66/schema)
