---
title: "Bulk import nodes and edges"
method: POST
path: "/api/v0/knowledge-graphs/{kg_id}/import"
tags: ["Knowledge Graphs"]
---

# Bulk import nodes and edges

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

Atomically creates a batch of nodes and edges. Each node may carry a ``ref`` string that edges in the same request can resolve as ``source_ref`` / ``target_ref``. The whole batch rolls back if any item fails validation.

## Path parameters

- `kg_id` string, uuid, required

## Request body

- BulkImportRequest
  - `nodes` BulkImportNode[]
    - `ref` string, nullable — Optional client-supplied tag used to cross-reference this node from edges in the same request, before the server assigns a UUID. Must be unique within the request.
    - `type_id` string, required
    - `name` string, required
    - `attributes` object
    - `selector` object, nullable
    - `confidence` number, nullable
  - `edges` BulkImportEdge[]
    - `edge_type_id` string, required
    - `source_public_id` string, uuid, nullable
    - `source_ref` string, nullable
    - `target_public_id` string, uuid, nullable
    - `target_ref` string, nullable
    - `attributes` object
    - `confidence` number, nullable
    - `evidence` object, nullable

## Response `200`

Successful Response

- BulkImportResponse
  - `nodes` NodeResponse[], required
    - `id` string, uuid, required
    - `knowledge_graph_id` string, uuid, required
    - `tier` 'representation' | 'domain', required
    - `type_id` string, required
    - `name` string, required
    - `attributes` object, required
    - `derived` object
    - `selector` object, nullable
    - `confidence` number, nullable
    - `source` string, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `edges` EdgeResponse[], required
    - `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
  - `summary` BulkImportSummary, required
    - `nodes_created` integer, required
    - `edges_created` integer, 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)
