{
"event": "PreToolUse",
"tool_name": "mcp__mcp-docs__docs_create",
"tool_input": {
"title": "Config API",
"slug": "config",
"parent_id": 51,
"description": "REST-API für Config-Management (System-Prompts, RAG-Einstellungen)",
"status": "published",
"content": "<![CDATA[<nav class=\"breadcrumb\">\n <a href=\"\/docs\">Dokumentation<\/a> » <a href=\"\/docs\/api\">API<\/a> » Config API\n<\/nav>\n\n<h1>Config API<\/h1>\n<p class=\"doc-meta\"><strong>Erstellt:<\/strong> 2025-12-27 | <strong>Aktualisiert:<\/strong> 2025-12-27<\/p>\n\n<p>REST-API für Config-Management. Ermöglicht das Abrufen und Aktualisieren von System-Konfigurationen wie Prompts und RAG-Einstellungen.<\/p>\n\n<table>\n <tr><th>Controller<\/th><td>Controller\\Api\\ConfigController<\/td><\/tr>\n <tr><th>Base-URL<\/th><td>\/api\/v1\/config<\/td><\/tr>\n <tr><th>Datenbank<\/th><td>ki_dev.content_config<\/td><\/tr>\n <tr><th>UseCase<\/th><td>UseCases\\Config\\ManageConfigUseCase<\/td><\/tr>\n<\/table>\n\n<h2>Endpoints-Übersicht<\/h2>\n<table>\n <tr><th>Methode<\/th><th>Pfad<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/config\/{id}<\/td><td>Config abrufen<\/td><\/tr>\n <tr><td>POST<\/td><td>\/api\/v1\/config\/{id}<\/td><td>Config aktualisieren<\/td><\/tr>\n<\/table>\n\n<h2>Config abrufen<\/h2>\n<pre><code>GET \/api\/v1\/config\/{id}<\/code><\/pre>\n\n<h3>Response<\/h3>\n<pre><code>{\n \"id\": 1,\n \"name\": \"System Prompt\",\n \"type\": \"prompt\",\n \"content\": \"Du bist ein hilfreicher Assistent...\",\n \"version\": \"1.5\"\n}<\/code><\/pre>\n\n<h3>Response-Felder<\/h3>\n<table>\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>id<\/td><td>int<\/td><td>Config-ID<\/td><\/tr>\n <tr><td>name<\/td><td>string<\/td><td>Config-Name<\/td><\/tr>\n <tr><td>type<\/td><td>string<\/td><td>Config-Typ (prompt, rag, system)<\/td><\/tr>\n <tr><td>content<\/td><td>string<\/td><td>Config-Inhalt<\/td><\/tr>\n <tr><td>version<\/td><td>string<\/td><td>Aktuelle Version<\/td><\/tr>\n<\/table>\n\n<h3>Fehler-Response (404)<\/h3>\n<pre><code>{\n \"error\": \"Config nicht gefunden\"\n}<\/code><\/pre>\n\n<h2>Config aktualisieren<\/h2>\n<pre><code>POST \/api\/v1\/config\/{id}\nContent-Type: application\/x-www-form-urlencoded\nX-CSRF-TOKEN: {token}\n\ncontent=Neuer+Config-Inhalt...<\/code><\/pre>\n\n<h3>Request-Parameter<\/h3>\n<table>\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>content<\/td><td>string<\/td><td>Neuer Config-Inhalt<\/td><\/tr>\n<\/table>\n\n<p><strong>Hinweis:<\/strong> Die Version wird automatisch inkrementiert (1.5 → 1.6).<\/p>\n\n<h3>Response<\/h3>\n<pre><code>{\n \"success\": true,\n \"version\": \"1.6\",\n \"message\": \"Version 1.6 gespeichert\"\n}<\/code><\/pre>\n\n<h3>Fehler-Response (400)<\/h3>\n<pre><code>{\n \"error\": \"Validierungsfehler...\"\n}<\/code><\/pre>\n\n<h2>Authentifizierung<\/h2>\n<p>Das POST-Endpoint erfordert einen gültigen CSRF-Token im Header:<\/p>\n<pre><code>X-CSRF-TOKEN: abc123...<\/code><\/pre>\n\n<h2>Config-Typen<\/h2>\n<table>\n <tr><th>Typ<\/th><th>Beschreibung<\/th><th>Beispiel<\/th><\/tr>\n <tr><td>prompt<\/td><td>System-Prompts für Chat<\/td><td>RAG-Prompt, Autor-Profil<\/td><\/tr>\n <tr><td>rag<\/td><td>RAG-Konfiguration<\/td><td>Collection-Mapping, Limits<\/td><\/tr>\n <tr><td>system<\/td><td>System-Einstellungen<\/td><td>Modell-Defaults<\/td><\/tr>\n<\/table>\n\n<h2>Versionierung<\/h2>\n<p>Jede Änderung erstellt eine neue Version:<\/p>\n<ul>\n <li>Version wird automatisch inkrementiert (Minor-Version)<\/li>\n <li>Format: <code>MAJOR.MINOR<\/code> (z.B. 1.5 → 1.6)<\/li>\n <li>Historie wird in <code>content_config_history<\/code> gespeichert<\/li>\n<\/ul>\n\n<h2>Chat-UI Integration<\/h2>\n<p>Die Config API wird von der Chat-UI verwendet, um Prompts live zu bearbeiten:<\/p>\n<pre><code><form hx-post=\"\/api\/v1\/config\/1\"\n hx-headers='{\"X-CSRF-TOKEN\": \"...\"}'>\n <textarea name=\"content\">...<\/textarea>\n <button type=\"submit\">Speichern<\/button>\n<\/form><\/code><\/pre>\n\n<h2>Fehlerbehandlung<\/h2>\n<table>\n <tr><th>HTTP Code<\/th><th>Bedeutung<\/th><\/tr>\n <tr><td>400<\/td><td>Validierungsfehler<\/td><\/tr>\n <tr><td>403<\/td><td>CSRF-Token ungültig<\/td><\/tr>\n <tr><td>404<\/td><td>Config nicht gefunden<\/td><\/tr>\n <tr><td>500<\/td><td>Server-Fehler<\/td><\/tr>\n<\/table>\n\n<h2>Datenmodell<\/h2>\n\n<h3>content_config<\/h3>\n<table>\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\n <tr><td>name<\/td><td>varchar(255)<\/td><td>Config-Name<\/td><\/tr>\n <tr><td>slug<\/td><td>varchar(100)<\/td><td>URL-Slug<\/td><\/tr>\n <tr><td>type<\/td><td>enum<\/td><td>prompt, rag, system<\/td><\/tr>\n <tr><td>content<\/td><td>text<\/td><td>Config-Inhalt<\/td><\/tr>\n <tr><td>description<\/td><td>text<\/td><td>Beschreibung<\/td><\/tr>\n <tr><td>version<\/td><td>varchar(20)<\/td><td>Aktuelle Version<\/td><\/tr>\n <tr><td>status<\/td><td>enum<\/td><td>active, deprecated<\/td><\/tr>\n <tr><td>parent_id<\/td><td>int<\/td><td>Parent-Config (optional)<\/td><\/tr>\n <tr><td>created_at<\/td><td>datetime<\/td><td>Erstellungsdatum<\/td><\/tr>\n <tr><td>updated_at<\/td><td>datetime<\/td><td>Letzte Änderung<\/td><\/tr>\n<\/table>\n\n<h2>Verwandte Dokumentation<\/h2>\n<ul>\n <li><a href=\"\/docs\/ki-system\/content-config\">Content Config<\/a><\/li>\n <li><a href=\"\/docs\/api\/chat\">Chat API<\/a><\/li>\n <li><a href=\"\/docs\/content-studio\">Content Studio<\/a><\/li>\n<\/ul>]]>"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 153,\n \"parent_id\": 51,\n \"slug\": \"config\",\n \"path\": \"\/api\/config\",\n \"title\": \"Config API\",\n \"description\": \"REST-API für Config-Management (System-Prompts, RAG-Einstellungen)\",\n \"content\": \"<![CDATA[<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/api\\\">API<\/a> » Config API\\n<\/nav>\\n\\n<h1>Config API<\/h1>\\n<p class=\\\"doc-meta\\\"><strong>Erstellt:<\/strong> 2025-12-27 | <strong>Aktualisiert:<\/strong> 2025-12-27<\/p>\\n\\n<p>REST-API für Config-Management. Ermöglicht das Abrufen und Aktualisieren von System-Konfigurationen wie Prompts und RAG-Einstellungen.<\/p>\\n\\n<table>\\n <tr><th>Controller<\/th><td>Controller\\\\Api\\\\ConfigController<\/td><\/tr>\\n <tr><th>Base-URL<\/th><td>\/api\/v1\/config<\/td><\/tr>\\n <tr><th>Datenbank<\/th><td>ki_dev.content_config<\/td><\/tr>\\n <tr><th>UseCase<\/th><td>UseCases\\\\Config\\\\ManageConfigUseCase<\/td><\/tr>\\n<\/table>\\n\\n<h2>Endpoints-Übersicht<\/h2>\\n<table>\\n <tr><th>Methode<\/th><th>Pfad<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/config\/{id}<\/td><td>Config abrufen<\/td><\/tr>\\n <tr><td>POST<\/td><td>\/api\/v1\/config\/{id}<\/td><td>Config aktualisieren<\/td><\/tr>\\n<\/table>\\n\\n<h2>Config abrufen<\/h2>\\n<pre><code>GET \/api\/v1\/config\/{id}<\/code><\/pre>\\n\\n<h3>Response<\/h3>\\n<pre><code>{\\n \\\"id\\\": 1,\\n \\\"name\\\": \\\"System Prompt\\\",\\n \\\"type\\\": \\\"prompt\\\",\\n \\\"content\\\": \\\"Du bist ein hilfreicher Assistent...\\\",\\n \\\"version\\\": \\\"1.5\\\"\\n}<\/code><\/pre>\\n\\n<h3>Response-Felder<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Config-ID<\/td><\/tr>\\n <tr><td>name<\/td><td>string<\/td><td>Config-Name<\/td><\/tr>\\n <tr><td>type<\/td><td>string<\/td><td>Config-Typ (prompt, rag, system)<\/td><\/tr>\\n <tr><td>content<\/td><td>string<\/td><td>Config-Inhalt<\/td><\/tr>\\n <tr><td>version<\/td><td>string<\/td><td>Aktuelle Version<\/td><\/tr>\\n<\/table>\\n\\n<h3>Fehler-Response (404)<\/h3>\\n<pre><code>{\\n \\\"error\\\": \\\"Config nicht gefunden\\\"\\n}<\/code><\/pre>\\n\\n<h2>Config aktualisieren<\/h2>\\n<pre><code>POST \/api\/v1\/config\/{id}\\nContent-Type: application\/x-www-form-urlencoded\\nX-CSRF-TOKEN: {token}\\n\\ncontent=Neuer+Config-Inhalt...<\/code><\/pre>\\n\\n<h3>Request-Parameter<\/h3>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>content<\/td><td>string<\/td><td>Neuer Config-Inhalt<\/td><\/tr>\\n<\/table>\\n\\n<p><strong>Hinweis:<\/strong> Die Version wird automatisch inkrementiert (1.5 → 1.6).<\/p>\\n\\n<h3>Response<\/h3>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"version\\\": \\\"1.6\\\",\\n \\\"message\\\": \\\"Version 1.6 gespeichert\\\"\\n}<\/code><\/pre>\\n\\n<h3>Fehler-Response (400)<\/h3>\\n<pre><code>{\\n \\\"error\\\": \\\"Validierungsfehler...\\\"\\n}<\/code><\/pre>\\n\\n<h2>Authentifizierung<\/h2>\\n<p>Das POST-Endpoint erfordert einen gültigen CSRF-Token im Header:<\/p>\\n<pre><code>X-CSRF-TOKEN: abc123...<\/code><\/pre>\\n\\n<h2>Config-Typen<\/h2>\\n<table>\\n <tr><th>Typ<\/th><th>Beschreibung<\/th><th>Beispiel<\/th><\/tr>\\n <tr><td>prompt<\/td><td>System-Prompts für Chat<\/td><td>RAG-Prompt, Autor-Profil<\/td><\/tr>\\n <tr><td>rag<\/td><td>RAG-Konfiguration<\/td><td>Collection-Mapping, Limits<\/td><\/tr>\\n <tr><td>system<\/td><td>System-Einstellungen<\/td><td>Modell-Defaults<\/td><\/tr>\\n<\/table>\\n\\n<h2>Versionierung<\/h2>\\n<p>Jede Änderung erstellt eine neue Version:<\/p>\\n<ul>\\n <li>Version wird automatisch inkrementiert (Minor-Version)<\/li>\\n <li>Format: <code>MAJOR.MINOR<\/code> (z.B. 1.5 → 1.6)<\/li>\\n <li>Historie wird in <code>content_config_history<\/code> gespeichert<\/li>\\n<\/ul>\\n\\n<h2>Chat-UI Integration<\/h2>\\n<p>Die Config API wird von der Chat-UI verwendet, um Prompts live zu bearbeiten:<\/p>\\n<pre><code><form hx-post=\\\"\/api\/v1\/config\/1\\\"\\n hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"...\\\"}'>\\n <textarea name=\\\"content\\\">...<\/textarea>\\n <button type=\\\"submit\\\">Speichern<\/button>\\n<\/form><\/code><\/pre>\\n\\n<h2>Fehlerbehandlung<\/h2>\\n<table>\\n <tr><th>HTTP Code<\/th><th>Bedeutung<\/th><\/tr>\\n <tr><td>400<\/td><td>Validierungsfehler<\/td><\/tr>\\n <tr><td>403<\/td><td>CSRF-Token ungültig<\/td><\/tr>\\n <tr><td>404<\/td><td>Config nicht gefunden<\/td><\/tr>\\n <tr><td>500<\/td><td>Server-Fehler<\/td><\/tr>\\n<\/table>\\n\\n<h2>Datenmodell<\/h2>\\n\\n<h3>content_config<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>name<\/td><td>varchar(255)<\/td><td>Config-Name<\/td><\/tr>\\n <tr><td>slug<\/td><td>varchar(100)<\/td><td>URL-Slug<\/td><\/tr>\\n <tr><td>type<\/td><td>enum<\/td><td>prompt, rag, system<\/td><\/tr>\\n <tr><td>content<\/td><td>text<\/td><td>Config-Inhalt<\/td><\/tr>\\n <tr><td>description<\/td><td>text<\/td><td>Beschreibung<\/td><\/tr>\\n <tr><td>version<\/td><td>varchar(20)<\/td><td>Aktuelle Version<\/td><\/tr>\\n <tr><td>status<\/td><td>enum<\/td><td>active, deprecated<\/td><\/tr>\\n <tr><td>parent_id<\/td><td>int<\/td><td>Parent-Config (optional)<\/td><\/tr>\\n <tr><td>created_at<\/td><td>datetime<\/td><td>Erstellungsdatum<\/td><\/tr>\\n <tr><td>updated_at<\/td><td>datetime<\/td><td>Letzte Änderung<\/td><\/tr>\\n<\/table>\\n\\n<h2>Verwandte Dokumentation<\/h2>\\n<ul>\\n <li><a href=\\\"\/docs\/ki-system\/content-config\\\">Content Config<\/a><\/li>\\n <li><a href=\\\"\/docs\/api\/chat\\\">Chat API<\/a><\/li>\\n <li><a href=\\\"\/docs\/content-studio\\\">Content Studio<\/a><\/li>\\n<\/ul>]]>\",\n \"status\": \"published\",\n \"sort_order\": 0,\n \"depth\": 1,\n \"created_at\": \"2025-12-27T16:04:39\",\n \"updated_at\": \"2025-12-27T16:04:39\"\n },\n \"message\": \"Document 'Config API' created with ID 153\"\n}"
}
]
}