---
title: "Create Knowledge Entry"
method: POST
path: "/api/v1/internal/knowledge"
tags: ["internal", "internal-knowledge"]
---

# Create Knowledge Entry

`POST /api/v1/internal/knowledge`

Create an entry at the requested scope for the target owner.

## Request body

- AdminKnowledgeCreateRequest — Create a titled entry at ``scope`` for the target ``owner_id``. ``owner_id`` is the target user id (user scope) or workspace id (workspace scope).
  - `scope` 'user' | 'workspace', required
  - `owner_id` string, uuid, required
  - `title` string, required
  - `content` string, required

## Response `201`

Successful Response

- KnowledgeEntryResponse — A titled knowledge entry as returned to clients.
  - `id` string, uuid, required
  - `scope` 'user' | 'workspace' | 'project', required — Tier a knowledge entry applies to. Resolution is additive and ordered ``user -> workspace -> project`` — precedence is ordering only, not override (no shadowing in v1). "System" knowledge is the agent's existing system prompt — a separate, pre-existing mechanism that does not live in this table — so there is no ``system`` scope here. Project scope (MAIA-2547) is ambient: paths never name a project; the run's project id scopes reads and writes.
  - `user_id` string, uuid, nullable
  - `workspace_id` string, uuid, nullable
  - `project_id` string, uuid, nullable
  - `title` string, required
  - `content` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `is_core` boolean, required — Whether this is the reserved always-injected core entry (MAIA-2833).

## Other responses

- `422` — Validation Error

---

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