---
title: "Add Knowledge Link"
method: POST
path: "/api/domains/{domain_id}/knowledge/link"
tags: ["knowledge"]
---

# Add Knowledge Link

`POST /api/domains/{domain_id}/knowledge/link`

## Request

- Base URL: `https://api-v1.unusual.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api-v1.unusual.ai/api/domains/{domain_id}/knowledge/link`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Add a link to the knowledge shelf (KB-unification WO-4).

Add-first semantics: the fetch is best-effort. On success the page bytes
land in R2 and the ingest projection (parse → knowledge index) runs on
them, exactly like an upload; on failure the link is still filed —
``source_url`` keeps the original Drive/Notion/site link reachable, which
is the point of the shelf entry even when we can't read the page.

## Path parameters

- `domain_id` string, required

## Headers

- `x-view-as` string, nullable

## Request body

- KnowledgeLinkIn
  - `url` string, required

## Response `200`

Successful Response

- KnowledgeItemOut: One knowledge-shelf item. ``id`` is the account_document id — the only identity this API exposes. Field names deliberately track the old MaterialOut where semantics coincide so the view's diff stays small.
  - `public_approved` boolean
  - `id` string, required
  - `title` string, required
  - `filename` string, required
  - `file_size` integer, nullable
  - `has_file` boolean
  - `source_url` string, nullable
  - `source_kind` string, required
  - `uploaded_by_email` string, nullable
  - `status` string, required
  - `error_message` string, nullable
  - `upload_instructions` string, nullable
  - `content_update_status` string, nullable
  - `content_patch_set_id` string, nullable
  - `content_patch_set_count` integer
  - `pending_patch_set_count` integer
  - `applied_patch_set_count` integer
  - `failed_patch_set_count` integer
  - `created_at` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unusual/apis/dashboard-server.md) - [All operations](https://skmtc.dev/unusual/apis/dashboard-server/llms.txt) - [OpenAPI document](https://skmtc.dev/unusual/apis/dashboard-server/revisions/89f716930ead?raw)
