> For the complete documentation index, see [llms.txt](https://k-ai.gitbook.io/knowledge-ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://k-ai.gitbook.io/knowledge-ai/reference/changelog.md).

# Changelog

## 2026-10-22 — Where a conflict sits in each document

* K-AI Audit: the conflict detail tells, for each document, where the conflicting text sits — section, position, table row, the closest passage and a search string to paste in the document viewer. Exposed on the MCP tools `audit_question_conflict_get` and `audit_full_audit_conflict_get` as `location` / `location_status`. Details in the [K-AI Audit changelog](/knowledge-ai/k-ai-audit/changelog.md).

## 2026-10-22 — Instance API no longer public

* The per-instance KAI Instance API is internal to the platform and no longer reachable by customers. Its pages and OpenAPI specification are removed from this documentation.
* Instance API keys are no longer displayed in the K-AI Studio portal and can no longer be rotated from it.
* Use the [K-AI Studio portal](/knowledge-ai/sources-and-ingestion/sources-ingestion.md) for indexation control and statistics, [K-AI MCP](/knowledge-ai/k-ai-mcp/mcp.md) for retrieval, the [Audit API](/knowledge-ai/k-ai-audit/audit.md) for audit workflows, and [Organization API keys](/knowledge-ai/authentication/organization-api-keys.md) for automation.

## 2026-10-22 — Retrieval MCP tools and Audit API fixes

* The [Retrieval MCP server](/knowledge-ai/k-ai-mcp/retrieval-tools.md) documents its 7 tools: `retrieval_documents_expand_chunk` reads the chunks around a search excerpt, `retrieval_documents_get_chunks` reads a whole document page by page. `retrieval_documents_get_document` and `retrieval_documents_list_by_ids` return metadata, summary and source URL, not the document text.
* Audit API: `audit_question_conflict_list` accepts `IGNORED` in `state_in`; `audit_full_audit_conflict_list` applies `only_linked_to_question` before pagination and answers `503` when that subset cannot be read completely; `audit_mandatory_question_force_analyze` and `audit_missing_subject_generate_compagnon_document` answer `404` for an unknown id; `audit_documents_get_recommendations` returns `fc_*` for recommendations that come from a full-audit conflict.

## 2026-10-21 — K-AI Audit API reference refresh

* The [K-AI Audit API reference](/knowledge-ai/k-ai-audit/api-reference/instances.md) now matches the production service: 69 REST endpoints across 9 groups, 22 MCP tools. Details in the [K-AI Audit changelog](/knowledge-ai/k-ai-audit/changelog.md).
* New MCP tool `audit_documents_get_scoring`.

## 2026-10-09 — Stonly metadata filter

* `STONLY` sources accept an optional [metadata filter](/knowledge-ai/sources-and-ingestion/connectors/stonly.md#metadata-filter) on the guides' Stonly custom metadata: a flat AND of `eq` / `in` conditions, stored in a canonical lower-case form. The rule is set at creation and is immutable (`400 metadata_filter_immutable`).
* Guides are admitted only after their metadata have been read: a filtered source ingests nothing on its first sync. A guide whose metadata cannot be read, or that lacks a metadata the rule names, is neither ingested nor removed.
* New endpoint `POST /v1/sources/stonly/metadata-preview` — tests a rule on a random sample of the folder and lists the metadata names and values seen.
* Several `STONLY` sources may share one folder and language when their filters differ; a duplicate returns `409 source_scope_exists`. Nested folders are still refused.
* Optional **Filter by metadata** step with sample test in the admin portal's source creation modal.

## 2026-10-02 — SharePoint Drive metadata filter

* `SHAREPOINT_DRIVE` sources accept an optional [metadata filter](/knowledge-ai/sources-and-ingestion/connectors/sharepoint.md#metadata-filter): a rule on the library's custom columns and on six file properties (`file:name`, `file:extension`, `file:mime_type`, `file:size`, `file:created`, `file:modified`), applied on full scans and delta runs.
* New endpoints `POST /v1/sources/sharepoint/columns` (filterable columns and their operators) and `POST /v1/sources/sharepoint/metadata-preview` (first matching files before saving).
* Changing a rule forces a full rescan; saving a rule on a source that already holds documents requires `acknowledge_metadata_filter_rescope: true`.
* Several `SHAREPOINT_DRIVE` sources may share one scope path when their filters differ; a duplicate returns `409 source_scope_exists`.
* Optional **Metadata filter** step with preview in the admin portal's source creation modal.

## 2026-09-23 — Stonly connector

* New source connector for [Stonly](/knowledge-ai/sources-and-ingestion/connectors/stonly.md) knowledge bases: published Articles of one folder subtree in one language, converted to Markdown with inline images embedded, each prefixed with its folder-path domain header.
* Authentication by Stonly personal API token (`read:folder` + `read:guide`, Commenter access). Tokens expire after at most 365 days; rotation is manual.
* Folder picker in the admin portal; nested sources in the same language are refused (`400 overlapping_stonly_scope`).

## 2026-08-26 — API key authentication for autonomous agents

* Organization API keys (`ks_org_…`) are now accepted **directly** in `Authorization: Bearer` on the K-AI Audit API, the K-AI Retrieval API, and both MCP endpoints — no OAuth consent screen and no token-exchange step. Built for agent platforms that run unattended. The K-AI Platform API still requires an exchanged token.
* Authentication on that path returns `401` (credential refused — stop) or `503` with `Retry-After` (momentarily unavailable — retry), and nothing else.
* `retrieval_instances_list_available_instances` documents its `notice` field: returned with an empty `instances` array when the identity belongs to no retrieval group.
* New page: [Autonomous agents (API key)](/knowledge-ai/k-ai-mcp/autonomous-agents.md).
* Corrected the documented token-exchange response — it is wrapped in `{ "response": … }` and `expires_in` is `900`, not `3600`.

## 2026-06-23 — Audit conflict parity & priority

* Audit API now 48 operations; Audit MCP surface now 21 tools.
* New tool `audit_question_conflict_ignore` — mark a question conflict as `IGNORED` (false positive / no change needed), mirroring `audit_full_audit_conflict_ignore`. Question conflicts now expose the full `OPEN · ANSWERED · RECOMMENDATIONS_READY · MANAGED · IGNORED` state set.
* Priority surfacing on full-audit conflicts: `audit_full_audit_conflict_list` accepts `only_linked_to_question`, and conflicts linked to a mandatory question are flagged `is_important` (with `linked_questions`). These share priority with question conflicts.

## 2026-05-13 — DKP refonte

* Documentation rebuilt around the Document Knowledge Platform positioning.
* 5-layer conceptual architecture documented (Sources → Ingestion → Semantic Document Layer → Governance & Quality → Exposure).
* Three OpenAPI 3.1 specifications published: Instance API (33 ops), Retrieval API (5 ops), Audit API (47 ops with 20 MCP).
* Authentication surfaces consolidated into a single section with a chooser table.
* Glossary of 22 DKP terms added.

## 2026-04-13 — API surface split

* `/search` and `/conversation` removed from the K-AI Instance API. Replacements: `retrieval_semantic_nodes_search` and host-LLM-driven conversation via MCP.
* Retrieval API (5 ops) and Audit API (47 ops) extracted as standalone surfaces hosted at `api-retrieval.kai-studio.ai` and `api-audit.kai-studio.ai`.
* MCP exposure added on both surfaces. Retrieval MCP and Audit MCP both stable.

## Earlier

Earlier history captured in the internal monorepo git logs.
