Skip to content
IonWarpRouterTry for free
IonWarp Docs
Collections

Repository knowledge

ionwarp.json — what every reviewer is told about this repository: declared language and runtime versions, enforced tooling, conventions; one object per project, refreshed by the planner.

Base path /api/v1/repo-knowledge on https://ionwarp.com. Authenticate with Authorization: Bearer $DASH_API_KEY and name the project with the Project-ID header. Writes are validated in declared mode; an operation this resource does not declare answers 405 operation_not_supported.

List repository knowledge

GET /api/v1/repo-knowledge

curl "https://ionwarp.com/api/v1/repo-knowledge" \
  -H "Authorization: Bearer $DASH_API_KEY" \
  -H "Project-ID: pr_acme"
Show me the repository knowledge
data_query {
  "collection": "repo_knowledge"
}

Returns a paginated list of repo-knowledge objects, newest first.

{
  "object": "list",
  "data": [
    {
      "object": "repo-knowledge",
      "id": "obj_123",
      "facts": [
        {
          "kind": "language",
          "text": "Python >=3.14 (pyproject.toml requires-python); PEP 758 unparenthesized `except A, B:` without `as` is valid",
          "source": "pyproject.toml"
        },
        {
          "kind": "tooling",
          "text": "ruff format --check and pytest gate CI on 3.14; formatting findings are noise",
          "source": ".github/workflows/ci.yml"
        }
      ],
      "sources": [
        {
          "path": "pyproject.toml",
          "sha256": "3f1a…"
        }
      ],
      "stacks": [
        "python",
        "ci-cd"
      ],
      "created_at": "2026-07-25T12:00:00.000Z",
      "updated_at": "2026-07-25T12:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Parameters

ParameterTypeKindDescription
limitnumberpageRows to return, 1–100. Defaults to 20.
cursorstringpagenext_cursor from the previous page.

Retrieve a repo-knowledge

GET /api/v1/repo-knowledge/learning-tests-run-under-bun

curl "https://ionwarp.com/api/v1/repo-knowledge/learning-tests-run-under-bun" \
  -H "Authorization: Bearer $DASH_API_KEY" \
  -H "Project-ID: pr_acme"
What does IonWarp know about this repository?
data_get {
  "collection": "repo_knowledge",
  "object_id": "learning-tests-run-under-bun"
}

Returns the repo-knowledge object.

{
  "object": "repo-knowledge",
  "id": "obj_123",
  "facts": [
    {
      "kind": "language",
      "text": "Python >=3.14 (pyproject.toml requires-python); PEP 758 unparenthesized `except A, B:` without `as` is valid",
      "source": "pyproject.toml"
    },
    {
      "kind": "tooling",
      "text": "ruff format --check and pytest gate CI on 3.14; formatting findings are noise",
      "source": ".github/workflows/ci.yml"
    }
  ],
  "sources": [
    {
      "path": "pyproject.toml",
      "sha256": "3f1a…"
    }
  ],
  "stacks": [
    "python",
    "ci-cd"
  ],
  "created_at": "2026-07-25T12:00:00.000Z",
  "updated_at": "2026-07-25T12:00:00.000Z"
}

Parameters

ParameterTypeKindDescription
idstringpathThe repo-knowledge's id or slug.

What comes back (read-only)

Every repo-knowledge carries the envelope below. The fields under it are computed or stamped by the platform — they are returned, never sent.

FieldTypeDescription
objectstringAlways repo-knowledge.
idstringStable object id. Also accepted in place of slug on any path.
slugstringURL-safe name, unique within the collection.
created_atstringISO-8601 timestamp of the first write.
updated_atstringISO-8601 timestamp of the most recent write. The cursor sorts on this.
versionnumberObject schema version.
factsarrayFacts the planner distilled from the repository's own declaring files — each \{kind, text, source\}; kind is language | runtime | tooling | convention | architecture and source names the file a line of which backs it.
sourcesarrayThe files the planner read (\{path, sha256\}) — their content hashes are the cache key; a change to any of them triggers the next refresh.
stacksarrayThe closed stack vocabulary derived from the facts (react, nextjs, node, cloudflare, python, go, sql, ci-cd, k8s, shell, agents, docs).
head_shastringThe checkout the facts were distilled from.
refreshed_atstringWhen the planner last refreshed the object (ISO 8601).
refreshobjectThe last refresh's receipt: status, reason, requests, tokens, cost_usd, model.
refresh_logarrayThe last refreshes' \{at, cost_usd\} — what the per-project daily spend gate sums.
renderedstringThe exact ## Repository knowledge (ionwarp.json …) block every lane read on the run that wrote this object.

Errors

Failures use { error: { type, code, message, param } }. The full code table is generated at Error Codes.

On this page

IonWarp logoIonWarp

Ready to build? Connect an agent and go — no credit card needed to start.

Get startedSee our plans