Knowledge
Knowledge-base ingestion and retrieval.
7 actions. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.
knowledge.list
GET
List knowledge sources for a subject, mission, or project. Supports offset/limit paging; returns total count.
- AI tool:
knowledge_list - API:
GET /api/invoke/knowledge.list
Input
| Field | Type | Required | Description |
|---|---|---|---|
subjectId |
string | — | |
missionId |
string | — | |
projectId |
string | — | |
limit |
integer | — | |
offset |
integer | — | |
orderBy |
string | — | |
orderDir |
"asc" | "desc" | — | |
q |
string | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"subjectId": {
"type": "string",
"minLength": 1
},
"missionId": {
"type": "string",
"minLength": 1
},
"projectId": {
"type": "string",
"minLength": 1
},
"limit": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"orderBy": {
"type": "string"
},
"orderDir": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"q": {
"type": "string"
}
}
}knowledge.ingest_url
POST · mutating
Ingest a URL into the knowledge base. Auto-detects type (github/social/rss/pdf/blog), extracts + chunks + embeds for semantic retrieval. Returns the new source. Knowledge is a general-purpose base layer: scope the source to a subject, a mission, a project (e.g. a research dataset), or leave all unset for a workspace-level source.
When the agent calls it: Call for each URL the agent should learn from. Pass projectId to attach research material to a research project, subjectId for a subject, missionId for a mission — or none for workspace-wide knowledge.
- AI tool:
knowledge_ingest_url - API:
POST /api/invoke/knowledge.ingest_url
Input
| Field | Type | Required | Description |
|---|---|---|---|
subjectId |
string | — | |
missionId |
string | — | |
projectId |
string | — | |
url |
string | yes | |
type |
"github" | "url" | "rss" | "social-profile" | "pdf" | "document" | "transcript" | "video" | "audio" | — | |
name |
string | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"subjectId": {
"type": "string",
"minLength": 1
},
"missionId": {
"type": "string",
"minLength": 1
},
"projectId": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string",
"enum": [
"github",
"url",
"rss",
"social-profile",
"pdf",
"document",
"transcript",
"video",
"audio"
]
},
"name": {
"type": "string"
}
},
"required": [
"url"
]
}knowledge.refresh
POST · mutating
Re-crawl an existing source to pick up new content.
- AI tool:
knowledge_refresh - API:
POST /api/invoke/knowledge.refresh
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
]
}knowledge.get
GET
Get one knowledge source by id.
- AI tool:
knowledge_get - API:
GET /api/invoke/knowledge.get
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
]
}knowledge.update
PATCH · mutating
Update a knowledge source — rename, edit summary, reassign scope (subject/mission/project), or override status.
- AI tool:
knowledge_update - API:
PATCH /api/invoke/knowledge.update
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
patch |
object | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"patch": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"summary": {
"type": "string"
},
"subjectId": {
"type": "string",
"minLength": 1
},
"missionId": {
"type": "string",
"minLength": 1
},
"projectId": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string"
}
}
}
},
"required": [
"id",
"patch"
]
}knowledge.search
GET
Semantic search over ingested knowledge chunks. Returns the top-k matching chunks with their source.
- AI tool:
knowledge_search - API:
GET /api/invoke/knowledge.search
Input
| Field | Type | Required | Description |
|---|---|---|---|
q |
string | yes | |
subjectId |
string | — | |
limit |
integer | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"q": {
"type": "string"
},
"subjectId": {
"type": "string",
"minLength": 1
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"q"
]
}knowledge.delete
DELETE · mutating
Delete a knowledge source (and its embedded chunks).
- AI tool:
knowledge_delete - API:
DELETE /api/invoke/knowledge.delete
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
]
}