> 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/k-ai-audit/api-reference/questions-answers.md).

# Questions & answers

The "full-audit" workflow is the broad, per-instance review of every contradiction the platform can detect across the Document Repository — independent of any specific mandatory question. It complements the question-driven [Conflicts](/knowledge-ai/k-ai-audit/api-reference/conflicts.md) worklist: question-driven conflicts come first; the full-audit panel surfaces only after question-based conflicts are exhausted or when the Steward asks for the broader sweep.

All conflict ids on this page carry the `fc_` prefix; do not confuse them with question-driven `qc_` conflict ids — the server rejects cross-namespace ids with HTTP 400.

This page covers 7 operations.

Auth: OAuth 2.1 Bearer token (MCP) or the `kai_auth` HttpOnly cookie (browsers) — see [OAuth 2.1](/knowledge-ai/authentication/oauth.md).

***

## audit\_full\_audit\_conflict\_list

`POST /audit/full-audit/list`

Paginated list of full-audit conflicts. Default `state_in=['DETECTED']`. Allowed states: `DETECTED`, `REDETECTED`, `MANAGED`, `IGNORED`, `DISAPPEARED`. Pass `state_in=[]` for all states except `DISAPPEARED`. Lower priority than `audit_question_conflict_list` — surface only after question-based conflicts are exhausted or when the expert explicitly asks for the broad audit.

{% hint style="info" %}
**Also exposed on MCP** as `audit_full_audit_conflict_list` (see [Audit MCP tools](/knowledge-ai/k-ai-mcp/audit-tools.md)).
{% endhint %}

{% openapi src="/files/LsPumOBZAN25uU285Xuz" path="/audit/full-audit/list" method="post" %}
[audit-api.yaml](https://3937809777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F85gF5n5kGsNQKMPwm2VR%2Fuploads%2Fgit-blob-eb4a7a88d7496305dce8796c07ede8106dfad02c%2Faudit-api.yaml?alt=media)
{% endopenapi %}

{% tabs %}
{% tab title="curl" %}

```bash
curl -X POST https://api-audit.kai-studio.ai/audit/full-audit/list \
  -H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "instance_id": "ki_abc123",
    "offset": 0,
    "limit": 50,
    "state_in": ["DETECTED", "REDETECTED"]
  }'
```

{% endtab %}

{% tab title="Python" %}

```python
import httpx

response = httpx.post(
    "https://api-audit.kai-studio.ai/audit/full-audit/list",
    headers={"Authorization": f"Bearer {access_token}"},
    json={
        "instance_id": "ki_abc123",
        "offset": 0,
        "limit": 50,
        "state_in": ["DETECTED", "REDETECTED"],
    },
)
response.raise_for_status()
print(response.json())
```

{% endtab %}

{% tab title="TypeScript" %}

```ts
const response = await fetch(
  "https://api-audit.kai-studio.ai/audit/full-audit/list",
  {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${accessToken}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      instance_id: "ki_abc123",
      offset: 0,
      limit: 50,
      state_in: ["DETECTED", "REDETECTED"],
    }),
  },
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
```

{% endtab %}
{% endtabs %}

***

## audit\_full\_audit\_have\_to\_show

`POST /audit/full-audit/have-to-show`

UI helper — returns whether the full-audit panel should be shown for this instance (i.e. whether full-audit analysis is available). REST-only, consumed by the K-AI Audit web app.

{% openapi src="/files/LsPumOBZAN25uU285Xuz" path="/audit/full-audit/have-to-show" method="post" %}
[audit-api.yaml](https://3937809777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F85gF5n5kGsNQKMPwm2VR%2Fuploads%2Fgit-blob-eb4a7a88d7496305dce8796c07ede8106dfad02c%2Faudit-api.yaml?alt=media)
{% endopenapi %}

***

## audit\_full\_audit\_conflict\_get

`POST /audit/full-audit/detail`

Get a full-audit conflict detail. Returns the subject, explanation, involved documents (hydrated with `document_name` + `document_url`), companion questions (`compagnon_questions`), the expert answer if saved, and structured per-document recommendations (`compagnon_recommendations`) if generated. Present companion questions to the expert before collecting an answer.

Passing a `qc_*` id here returns HTTP 400 with a wrong-namespace hint.

{% hint style="info" %}
**Also exposed on MCP** as `audit_full_audit_conflict_get` (see [Audit MCP tools](/knowledge-ai/k-ai-mcp/audit-tools.md)).
{% endhint %}

{% openapi src="/files/LsPumOBZAN25uU285Xuz" path="/audit/full-audit/detail" method="post" %}
[audit-api.yaml](https://3937809777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F85gF5n5kGsNQKMPwm2VR%2Fuploads%2Fgit-blob-eb4a7a88d7496305dce8796c07ede8106dfad02c%2Faudit-api.yaml?alt=media)
{% endopenapi %}

***

## audit\_full\_audit\_set\_state

`POST /audit/full-audit/set-state`

Admin state transition for a full-audit conflict. REST-only — the MCP surface uses `audit_full_audit_conflict_close` and `audit_full_audit_conflict_ignore`. Allowed lowercase states: `managed`, `ignored`, `detected` (reopen). Used by the K-AI Audit web app to reopen a previously closed conflict.

{% openapi src="/files/LsPumOBZAN25uU285Xuz" path="/audit/full-audit/set-state" method="post" %}
[audit-api.yaml](https://3937809777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F85gF5n5kGsNQKMPwm2VR%2Fuploads%2Fgit-blob-eb4a7a88d7496305dce8796c07ede8106dfad02c%2Faudit-api.yaml?alt=media)
{% endopenapi %}

***

## audit\_full\_audit\_conflict\_set\_answer

`POST /audit/full-audit/set-expert-answer`

Record the expert answer for a full-audit conflict and return per-document modification recommendations inline. Sync LLM call (\~5s typical, \~10s p99). After receiving the response, render `recommendations` as a markdown table (`Document | Action`) using `document_url` to turn the document name into a link, and ask the expert whether each modification was applied before calling `audit_full_audit_conflict_close` or `audit_full_audit_conflict_ignore`. If `recommendations` is empty, the analysis could not be generated for this conflict — offer to retry by calling this endpoint again with the same (or adjusted) answer.

{% hint style="info" %}
**Also exposed on MCP** as `audit_full_audit_conflict_set_answer` (see [Audit MCP tools](/knowledge-ai/k-ai-mcp/audit-tools.md)).
{% endhint %}

{% openapi src="/files/LsPumOBZAN25uU285Xuz" path="/audit/full-audit/set-expert-answer" method="post" %}
[audit-api.yaml](https://3937809777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F85gF5n5kGsNQKMPwm2VR%2Fuploads%2Fgit-blob-eb4a7a88d7496305dce8796c07ede8106dfad02c%2Faudit-api.yaml?alt=media)
{% endopenapi %}

{% tabs %}
{% tab title="curl" %}

```bash
curl -X POST https://api-audit.kai-studio.ai/audit/full-audit/set-expert-answer \
  -H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "instance_id": "ki_abc123",
    "conflict_id": "fc_xyz789",
    "answer": "The 500kg figure in the 2025 spec is correct; the 2022 booklet is superseded."
  }'
```

{% endtab %}

{% tab title="Python" %}

```python
import httpx

response = httpx.post(
    "https://api-audit.kai-studio.ai/audit/full-audit/set-expert-answer",
    headers={"Authorization": f"Bearer {access_token}"},
    json={
        "instance_id": "ki_abc123",
        "conflict_id": "fc_xyz789",
        "answer": (
            "The 500kg figure in the 2025 spec is correct; "
            "the 2022 booklet is superseded."
        ),
    },
    timeout=30.0,
)
response.raise_for_status()
print(response.json())
```

{% endtab %}

{% tab title="TypeScript" %}

```ts
const response = await fetch(
  "https://api-audit.kai-studio.ai/audit/full-audit/set-expert-answer",
  {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${accessToken}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      instance_id: "ki_abc123",
      conflict_id: "fc_xyz789",
      answer:
        "The 500kg figure in the 2025 spec is correct; the 2022 booklet is superseded.",
    }),
  },
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
```

{% endtab %}
{% endtabs %}

***

## audit\_full\_audit\_conflict\_close

`POST /audit/full-audit/close`

Close (mark `MANAGED`) a full-audit conflict. Call only after the expert has confirmed every modification listed in the recommendations from `audit_full_audit_conflict_set_answer` was applied.

{% hint style="info" %}
**Also exposed on MCP** as `audit_full_audit_conflict_close` (see [Audit MCP tools](/knowledge-ai/k-ai-mcp/audit-tools.md)).
{% endhint %}

{% openapi src="/files/LsPumOBZAN25uU285Xuz" path="/audit/full-audit/close" method="post" %}
[audit-api.yaml](https://3937809777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F85gF5n5kGsNQKMPwm2VR%2Fuploads%2Fgit-blob-eb4a7a88d7496305dce8796c07ede8106dfad02c%2Faudit-api.yaml?alt=media)
{% endopenapi %}

***

## audit\_full\_audit\_conflict\_ignore

`POST /audit/full-audit/ignore`

Mark a full-audit conflict as `IGNORED`. The expert chose not to resolve this conflict.

{% hint style="info" %}
**Also exposed on MCP** as `audit_full_audit_conflict_ignore` (see [Audit MCP tools](/knowledge-ai/k-ai-mcp/audit-tools.md)).
{% endhint %}

{% openapi src="/files/LsPumOBZAN25uU285Xuz" path="/audit/full-audit/ignore" method="post" %}
[audit-api.yaml](https://3937809777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F85gF5n5kGsNQKMPwm2VR%2Fuploads%2Fgit-blob-eb4a7a88d7496305dce8796c07ede8106dfad02c%2Faudit-api.yaml?alt=media)
{% endopenapi %}

***

## Next

* [Conflicts](/knowledge-ai/k-ai-audit/api-reference/conflicts.md) — the higher-priority, question-driven conflict worklist.
* [Missing subjects](/knowledge-ai/k-ai-audit/api-reference/missing-subjects.md) — gaps in the Document Repository.
* [K-AI MCP](/knowledge-ai/k-ai-mcp/mcp.md) — connect Claude Desktop / Cursor / Le Chat to the Audit MCP server.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://k-ai.gitbook.io/knowledge-ai/k-ai-audit/api-reference/questions-answers.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
