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"
  ]
}