{"title":"API-FAQ","slug":"api-faq","category":"faq","summary":"Veelgestelde API-vragen — auth, ratelimits, foutafhandeling, eindpunt-ontdekking.","audience":["human","llm"],"tags":["faq","api","troubleshooting"],"difficulty":"beginner","updated":"2026-06-27","word_count":359,"read_minutes":2,"lang":"nl","translated":true,"requested_lang":"nl","content_markdown":"\n# API-FAQ\n\nVeelgestelde vragen over de Synapse API.\n\n## Hoe authenticeer ik?\n\nTwee methoden:\n\n1. **Mind Key** (voor data-eindpunten): `Authorization: Bearer mk_...`\n2. **JWT** (voor account-eindpunten): `Authorization: Bearer eyJ...`\n\nOf via queryparameter (limiet van 60 aanvragen/min): `?key=mk_...`\n\nZie [Authenticatie](/docs/getting-started/authentication).\n\n## Wat is het verschil tussen Mind Key en JWT?\n\n- **Mind Key**: tenant-scoped, vervalt nooit, voor memory/chat/tasks-data\n- **JWT**: gebruiker-scoped, vervalt na 7 dagen, voor account/mind-beheer\n\nZie [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt).\n\n## Waarom krijg ik 401 Unauthorized?\n\nVeelvoorkomende oorzaken:\n\n1. Ontbrekende `Authorization`-header\n2. Ongeldige Mind Key (verifieer dat deze begint met `mk_`)\n3. Een JWT gebruiken waar een Mind Key vereist is (of omgekeerd)\n4. Mind Key is ingetrokken\n\n**Oplossing:** Verifieer uw token. Zie [Authenticatie](/docs/getting-started/authentication).\n\n## Waarom krijg ik 404 Not Found?\n\nU heeft een verkeerd eindpuntpad gebruikt. Synapse heeft alleen de paden die in\n`GET /endpoints` staan.\n\n**Oplossing:** Roep `GET /endpoints` aan om alle geldige paden te zien. Raad niet.\n\n## Waarom krijg ik 429 Too Many Requests?\n\nU gebruikt `?key=`-queryparameter-auth, die is gelimiteerd tot 60/min.\n\n**Oplossing:** Schakel over naar `Authorization: Bearer`-header (geen ratelimit).\n\nZie [Ratelimits](/docs/api/rate-limits).\n\n## Hoe toon ik alle eindpunten?\n\n```bash\ncurl https://synapse.schaefer.zone/endpoints\ncurl https://synapse.schaefer.zone/endpoints?format=text\n```\n\n## Hoe vind ik het juiste eindpunt?\n\n1. Controleer `GET /endpoints` voor de machineleesbare lijst\n2. Controleer `GET /help` voor volledige API-documentatie\n3. Blader door `GET /docs` voor het documentatiesysteem\n4. Gebruik `GET /openapi.json` voor de OpenAPI 3.0-specificatie\n\n## Kan ik GET gebruiken in plaats van POST?\n\nSommige POST-eindpunten hebben GET-equivalenten voor URL-only tools:\n\n- `POST /memory` ↔ `GET /memory/store?content=...`\n- `POST /mind/task` ↔ `GET /mind/task?title=...`\n- `POST /chat/reply` ↔ `GET /chat/reply?content=...`\n\nControleer `GET /endpoints` voor beschikbare GET-varianten.\n\n## Hoe handel ik fouten af?\n\nAlle fouten retourneren JSON:\n\n```json\n{\n  \"statusCode\": 401,\n  \"error\": \"Unauthorized\",\n  \"message\": \"Mind Key fehlt oder ungültig.\",\n  \"docs\": \"https://synapse.schaefer.zone/docs/getting-started/authentication\"\n}\n```\n\nZie [Fouten & Foutafhandeling](/docs/api/errors).\n\n## Wat is de limiet voor requestbody's?\n\n10 MB. Voor grotere payloads (bijv. bestandsuploads), gebruik de multipart-eindpunten.\n\n## Ondersteunt de API CORS?\n\nJa. Alle eindpunten retourneren:\n\n```\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS\nAccess-Control-Allow-Headers: Authorization, Content-Type, X-Synapse-JWT\n```\n\n## Is er een SDK?\n\nJa:\n\n- **Node.js**: `npm install synapse-memory-sdk`\n- **MCP**: `npx -y synapse-mcp-api@latest`\n\nZie [API-overzicht](/docs/api/overview) voor details.\n\n## Hoe pagineer ik?\n\nGebruik `?limit=` en `?offset=`:\n\n```bash\ncurl \".../memory?limit=50&offset=100\"\n```\n\nStandaardlimiet: 100. Maximum: 500.\n\n## Kan ik herinneringen filteren op categorie of tag?\n\nJa:\n\n```bash\ncurl \".../memory?category=project\"\ncurl \".../memory?tag=docker\"\ncurl \".../memory/by-tag?tag=production\"\n```\n\n## Hoe doorzoek ik herinneringen?\n\nTwee manieren:\n\n1. **FTS5 trefwoordzoekopdracht**: `GET /memory/search?q=docker+swarm`\n2. **Semantisch zoeken**: `GET /memory/semantic-search?q=container+orchestration`\n\nZie [FTS5-zoekopdracht](/docs/concepts/fts5-search) en [Semantisch zoeken](/docs/concepts/semantic-search).\n\n## Hoe werk ik een herinnering bij?\n\nPOST `/memory` met dezelfde `category` + `key` — de bestaande herinnering wordt\nbijgewerkt, niet gedupliceerd.\n\n```bash\n# Initial store\ncurl -X POST .../memory -d '{\"category\":\"fact\",\"key\":\"user_name\",\"content\":\"Michael\"}'\n\n# Update (same key)\ncurl -X POST .../memory -d '{\"category\":\"fact\",\"key\":\"user_name\",\"content\":\"Michael Schäfer\"}'\n```\n\n## Hoe verwijder ik een herinnering?\n\n```bash\ncurl -X DELETE -H \"Authorization: Bearer $KEY\" \\\n     https://synapse.schaefer.zone/memory/mem_001\n```\n\n## Kan ik in bulk verwijderen?\n\nJa:\n\n```bash\ncurl -X POST .../memory/bulk-delete \\\n  -d '{\"ids\": [\"mem_001\", \"mem_002\", \"mem_003\"]}'\n```\n\n## Volgende stappen\n\n- [API-overzicht](/docs/api/overview)\n- [Fouten & Foutafhandeling](/docs/api/errors)\n- [Authenticatie](/docs/getting-started/authentication)\n","content_html":"<h1>API-FAQ</h1>\n<p>Veelgestelde vragen over de Synapse API.</p>\n<h2>Hoe authenticeer ik?</h2>\n<p>Twee methoden:</p>\n<ol>\n<li><strong>Mind Key</strong> (voor data-eindpunten): <code>Authorization: Bearer mk_...</code></li>\n<li><strong>JWT</strong> (voor account-eindpunten): <code>Authorization: Bearer eyJ...</code></li>\n</ol>\n<p>Of via queryparameter (limiet van 60 aanvragen/min): <code>?key=mk_...</code></p>\n<p>Zie <a href=\"/docs/getting-started/authentication\">Authenticatie</a>.</p>\n<h2>Wat is het verschil tussen Mind Key en JWT?</h2>\n<ul>\n<li><strong>Mind Key</strong>: tenant-scoped, vervalt nooit, voor memory/chat/tasks-data</li>\n<li><strong>JWT</strong>: gebruiker-scoped, vervalt na 7 dagen, voor account/mind-beheer</li>\n</ul>\n<p>Zie <a href=\"/docs/getting-started/mind-key-vs-jwt\">Mind Key vs JWT</a>.</p>\n<h2>Waarom krijg ik 401 Unauthorized?</h2>\n<p>Veelvoorkomende oorzaken:</p>\n<ol>\n<li>Ontbrekende <code>Authorization</code>-header</li>\n<li>Ongeldige Mind Key (verifieer dat deze begint met <code>mk_</code>)</li>\n<li>Een JWT gebruiken waar een Mind Key vereist is (of omgekeerd)</li>\n<li>Mind Key is ingetrokken</li>\n</ol>\n<p><strong>Oplossing:</strong> Verifieer uw token. Zie <a href=\"/docs/getting-started/authentication\">Authenticatie</a>.</p>\n<h2>Waarom krijg ik 404 Not Found?</h2>\n<p>U heeft een verkeerd eindpuntpad gebruikt. Synapse heeft alleen de paden die in\n<code>GET /endpoints</code> staan.</p>\n<p><strong>Oplossing:</strong> Roep <code>GET /endpoints</code> aan om alle geldige paden te zien. Raad niet.</p>\n<h2>Waarom krijg ik 429 Too Many Requests?</h2>\n<p>U gebruikt <code>?key=</code>-queryparameter-auth, die is gelimiteerd tot 60/min.</p>\n<p><strong>Oplossing:</strong> Schakel over naar <code>Authorization: Bearer</code>-header (geen ratelimit).</p>\n<p>Zie <a href=\"/docs/api/rate-limits\">Ratelimits</a>.</p>\n<h2>Hoe toon ik alle eindpunten?</h2>\n<pre><code class=\"hljs language-bash\">curl https://synapse.schaefer.zone/endpoints\ncurl https://synapse.schaefer.zone/endpoints?format=text</code></pre><h2>Hoe vind ik het juiste eindpunt?</h2>\n<ol>\n<li>Controleer <code>GET /endpoints</code> voor de machineleesbare lijst</li>\n<li>Controleer <code>GET /help</code> voor volledige API-documentatie</li>\n<li>Blader door <code>GET /docs</code> voor het documentatiesysteem</li>\n<li>Gebruik <code>GET /openapi.json</code> voor de OpenAPI 3.0-specificatie</li>\n</ol>\n<h2>Kan ik GET gebruiken in plaats van POST?</h2>\n<p>Sommige POST-eindpunten hebben GET-equivalenten voor URL-only tools:</p>\n<ul>\n<li><code>POST /memory</code> ↔ <code>GET /memory/store?content=...</code></li>\n<li><code>POST /mind/task</code> ↔ <code>GET /mind/task?title=...</code></li>\n<li><code>POST /chat/reply</code> ↔ <code>GET /chat/reply?content=...</code></li>\n</ul>\n<p>Controleer <code>GET /endpoints</code> voor beschikbare GET-varianten.</p>\n<h2>Hoe handel ik fouten af?</h2>\n<p>Alle fouten retourneren JSON:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;statusCode&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-number\">401</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;error&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Unauthorized&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;message&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Mind Key fehlt oder ungültig.&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;docs&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/docs/getting-started/authentication&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><p>Zie <a href=\"/docs/api/errors\">Fouten &amp; Foutafhandeling</a>.</p>\n<h2>Wat is de limiet voor requestbody&#39;s?</h2>\n<p>10 MB. Voor grotere payloads (bijv. bestandsuploads), gebruik de multipart-eindpunten.</p>\n<h2>Ondersteunt de API CORS?</h2>\n<p>Ja. Alle eindpunten retourneren:</p>\n<pre><code class=\"hljs language-plaintext\">Access-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS\nAccess-Control-Allow-Headers: Authorization, Content-Type, X-Synapse-JWT</code></pre><h2>Is er een SDK?</h2>\n<p>Ja:</p>\n<ul>\n<li><strong>Node.js</strong>: <code>npm install synapse-memory-sdk</code></li>\n<li><strong>MCP</strong>: <code>npx -y synapse-mcp-api@latest</code></li>\n</ul>\n<p>Zie <a href=\"/docs/api/overview\">API-overzicht</a> voor details.</p>\n<h2>Hoe pagineer ik?</h2>\n<p>Gebruik <code>?limit=</code> en <code>?offset=</code>:</p>\n<pre><code class=\"hljs language-bash\">curl <span class=\"hljs-string\">&quot;.../memory?limit=50&amp;offset=100&quot;</span></code></pre><p>Standaardlimiet: 100. Maximum: 500.</p>\n<h2>Kan ik herinneringen filteren op categorie of tag?</h2>\n<p>Ja:</p>\n<pre><code class=\"hljs language-bash\">curl <span class=\"hljs-string\">&quot;.../memory?category=project&quot;</span>\ncurl <span class=\"hljs-string\">&quot;.../memory?tag=docker&quot;</span>\ncurl <span class=\"hljs-string\">&quot;.../memory/by-tag?tag=production&quot;</span></code></pre><h2>Hoe doorzoek ik herinneringen?</h2>\n<p>Twee manieren:</p>\n<ol>\n<li><strong>FTS5 trefwoordzoekopdracht</strong>: <code>GET /memory/search?q=docker+swarm</code></li>\n<li><strong>Semantisch zoeken</strong>: <code>GET /memory/semantic-search?q=container+orchestration</code></li>\n</ol>\n<p>Zie <a href=\"/docs/concepts/fts5-search\">FTS5-zoekopdracht</a> en <a href=\"/docs/concepts/semantic-search\">Semantisch zoeken</a>.</p>\n<h2>Hoe werk ik een herinnering bij?</h2>\n<p>POST <code>/memory</code> met dezelfde <code>category</code> + <code>key</code> — de bestaande herinnering wordt\nbijgewerkt, niet gedupliceerd.</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Initial store</span>\ncurl -X POST .../memory -d <span class=\"hljs-string\">&#x27;{&quot;category&quot;:&quot;fact&quot;,&quot;key&quot;:&quot;user_name&quot;,&quot;content&quot;:&quot;Michael&quot;}&#x27;</span>\n\n<span class=\"hljs-comment\"># Update (same key)</span>\ncurl -X POST .../memory -d <span class=\"hljs-string\">&#x27;{&quot;category&quot;:&quot;fact&quot;,&quot;key&quot;:&quot;user_name&quot;,&quot;content&quot;:&quot;Michael Schäfer&quot;}&#x27;</span></code></pre><h2>Hoe verwijder ik een herinnering?</h2>\n<pre><code class=\"hljs language-bash\">curl -X DELETE -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$KEY</span>&quot;</span> \\\n     https://synapse.schaefer.zone/memory/mem_001</code></pre><h2>Kan ik in bulk verwijderen?</h2>\n<p>Ja:</p>\n<pre><code class=\"hljs language-bash\">curl -X POST .../memory/bulk-delete \\\n  -d <span class=\"hljs-string\">&#x27;{&quot;ids&quot;: [&quot;mem_001&quot;, &quot;mem_002&quot;, &quot;mem_003&quot;]}&#x27;</span></code></pre><h2>Volgende stappen</h2>\n<ul>\n<li><a href=\"/docs/api/overview\">API-overzicht</a></li>\n<li><a href=\"/docs/api/errors\">Fouten &amp; Foutafhandeling</a></li>\n<li><a href=\"/docs/getting-started/authentication\">Authenticatie</a></li>\n</ul>\n","urls":{"html":"/docs/faq/api-faq","text":"/docs/faq/api-faq?format=text","json":"/docs/faq/api-faq?format=json","llm":"/docs/faq/api-faq?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}