{"title":"API-översikt & bas-URL","slug":"overview","category":"api","summary":"Alla Synapse API-endpoints, bas-URL, autentiseringsmönster och svarsformat i korthet.","audience":["human","llm"],"tags":["api","overview","endpoints"],"difficulty":"beginner","updated":"2026-06-27","word_count":494,"read_minutes":2,"llm_context":"Base URL: https://synapse.schaefer.zone\nAuth: Authorization: Bearer YOUR_MIND_KEY (header, no rate limit)\n      OR ?key=YOUR_MIND_KEY (query, 60 req/min)\nAll responses are JSON except /memory/recall (text/plain) and /docs (HTML/text/json)\nAll 404 responses mean the path does not exist — do NOT guess paths.\nGET /endpoints returns machine-readable list of all valid endpoints.\n","lang":"sv","translated":true,"requested_lang":"sv","content_markdown":"\n# API-översikt & bas-URL\n\nSynapse API är ett RESTful HTTP-API. Alla endpoints returnerar JSON (utom där\nangivet). Den här sidan täcker det ni behöver veta innan ni dyker in i specifika\nendpoints.\n\n## Bas-URL\n\n```\nhttps://synapse.schaefer.zone\n```\n\nAlla sökvägar i denna dokumentation är relativa till denna bas-URL. För\nsjälvvärdda instanser, ersätt med er egen URL.\n\n## Autentisering\n\nTvå metoder, båda skickade via `Authorization`-header:\n\n```\nAuthorization: Bearer YOUR_MIND_KEY    # for data endpoints\nAuthorization: Bearer YOUR_JWT          # for account endpoints\n```\n\nEller via queryparameter (hastighetsbegränsad till 60/min):\n\n```\n?key=YOUR_MIND_KEY\n```\n\nSe [Autentisering](/docs/getting-started/authentication) för detaljer.\n\n## Endpoint-grupper\n\n| Grupp | Autentisering | Beskrivning |\n|-------|------|-------------|\n| Publik | Ingen | Landningssida, hälsa, OpenAPI, dokumentation |\n| Memory | Mind Key | CRUD, sökning, synk, inbäddningar |\n| Chat | Mind Key / JWT | Asynkrona meddelanden mellan människa och agent |\n| Tasks | Mind Key | Uppgiftshantering |\n| Scripts | Mind Key / JWT | Beständig skriptlagring |\n| Scheduler | Mind Key | Cron-jobb + variabler |\n| Webhooks | Mind Key | HTTP-återanrop vid händelser |\n| Computers | Mind Key / JWT | Fjärrstyrning av datorer |\n| User/Minds | JWT | Konto + mind-hantering |\n| Sharing | JWT | Mind-delning mellan användare |\n| Push | JWT | Web Push-prenumerationer |\n| Tools | Ingen | Tid, kalkyl, slump (publika verktyg) |\n\n## Svarsformat\n\n- **JSON** (standard): `{ \"key\": \"value\", ... }`\n- **Oformaterad text**: `/memory/recall` returnerar LLM-optimerad text\n- **HTML**: `/`, `/docs`, `/human`, `/support`, `/playground`\n\n## Standard kuvert för svar\n\nLyckade svar returnerar datan direkt:\n\n```json\n{ \"id\": \"mem_001\", \"status\": \"stored\" }\n```\n\nFelsvar använder detta format:\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\n> [!NOTE]\n> Fältet `docs` länkar till relevant dokumentation för vanliga fel.\n\n## HTTP-statuskoder\n\n| Kod | Betydelse |\n|------|---------|\n| 200 | Lyckades (GET, PUT) |\n| 201 | Skapad (POST) |\n| 204 | Inget innehåll (DELETE) |\n| 400 | Felaktig begäran (valideringsfel) |\n| 401 | Obehörig (saknas/ogiltig token) |\n| 403 | Förbjuden (fel tokentyp) |\n| 404 | Hittades inte (sökvägen finns inte) |\n| 409 | Konflikt (dubblett) |\n| 429 | För många begäranden (hastighetsgräns) |\n| 500 | Serverfel |\n\n## Upptäckbarhets-endpoints\n\n| Endpoint | Syfte |\n|----------|---------|\n| `GET /` | Landningssida (LLM-optimerad) |\n| `GET /endpoints` | Maskinläsbar lista över alla endpoints |\n| `GET /endpoints?format=text` | Ofärmaterad endpoint-lista |\n| `GET /openapi.json` | OpenAPI 3.0-specifikation |\n| `GET /help` | Fullständig API-dokumentation (HTML) |\n| `GET /help?format=json` | API-dokumentation som JSON |\n| `GET /docs` | Dokumentationssystem (HTML) |\n| `GET /docs?format=json` | Dokumentationsindex (JSON) |\n| `GET /docs?format=text&scope=all` | All dokumentation som ett textblock |\n| `GET /playground` | Interaktiv API-playground |\n\n## Hastighetsgränser\n\n| Autentiseringsmetod | Gräns |\n|-------------|-------|\n| Mind Key (header) | Ingen |\n| Mind Key (?key=) | 60/min per IP |\n| JWT (header) | Ingen |\n| Publika endpoints | Ingen |\n\nHastighetsbegränsade svar inkluderar:\n\n```\nX-RateLimit-Limit: 60\nX-RateLimit-Remaining: 42\nRetry-After: 30  (only when 429)\n```\n\n## Paginering\n\nList-endpoints stöder `?limit=` och `?offset=`:\n\n```\nGET /memory?limit=50&offset=100\nGET /mind/tasks?status=pending\n```\n\nStandardgräns: 100. Maxgräns: 500.\n\n## CORS\n\nAlla endpoints stöder CORS för webbläsarbaserade klienter:\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, Mcp-Session-Id, Mcp-Tool-Profile\n```\n\n## SDK:er & klienter\n\n- **Node.js SDK**: `npm install synapse-memory-sdk` ([repo](https://gitlab.com/schaefer-services/synapse-sdk-js))\n- **MCP Server**: `npx -y synapse-mcp-api@latest` ([repo](https://gitlab.com/schaefer-services/synapse-mcp))\n- **HTTP-klient**: valfritt HTTP-bibliotek (curl, fetch, axios, etc.)\n\n## Nästa steg\n\n- [Memory API](/docs/api/memory) — de viktigaste endpoints\n- [Chat API](/docs/api/chat) — asynkron kommunikation mellan människa och agent\n- [Fel & felhantering](/docs/api/errors)\n","content_html":"<h1>API-översikt &amp; bas-URL</h1>\n<p>Synapse API är ett RESTful HTTP-API. Alla endpoints returnerar JSON (utom där\nangivet). Den här sidan täcker det ni behöver veta innan ni dyker in i specifika\nendpoints.</p>\n<h2>Bas-URL</h2>\n<pre><code class=\"hljs language-plaintext\">https://synapse.schaefer.zone</code></pre><p>Alla sökvägar i denna dokumentation är relativa till denna bas-URL. För\nsjälvvärdda instanser, ersätt med er egen URL.</p>\n<h2>Autentisering</h2>\n<p>Två metoder, båda skickade via <code>Authorization</code>-header:</p>\n<pre><code class=\"hljs language-plaintext\">Authorization: Bearer YOUR_MIND_KEY    # for data endpoints\nAuthorization: Bearer YOUR_JWT          # for account endpoints</code></pre><p>Eller via queryparameter (hastighetsbegränsad till 60/min):</p>\n<pre><code class=\"hljs language-plaintext\">?key=YOUR_MIND_KEY</code></pre><p>Se <a href=\"/docs/getting-started/authentication\">Autentisering</a> för detaljer.</p>\n<h2>Endpoint-grupper</h2>\n<table>\n<thead>\n<tr>\n<th>Grupp</th>\n<th>Autentisering</th>\n<th>Beskrivning</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Publik</td>\n<td>Ingen</td>\n<td>Landningssida, hälsa, OpenAPI, dokumentation</td>\n</tr>\n<tr>\n<td>Memory</td>\n<td>Mind Key</td>\n<td>CRUD, sökning, synk, inbäddningar</td>\n</tr>\n<tr>\n<td>Chat</td>\n<td>Mind Key / JWT</td>\n<td>Asynkrona meddelanden mellan människa och agent</td>\n</tr>\n<tr>\n<td>Tasks</td>\n<td>Mind Key</td>\n<td>Uppgiftshantering</td>\n</tr>\n<tr>\n<td>Scripts</td>\n<td>Mind Key / JWT</td>\n<td>Beständig skriptlagring</td>\n</tr>\n<tr>\n<td>Scheduler</td>\n<td>Mind Key</td>\n<td>Cron-jobb + variabler</td>\n</tr>\n<tr>\n<td>Webhooks</td>\n<td>Mind Key</td>\n<td>HTTP-återanrop vid händelser</td>\n</tr>\n<tr>\n<td>Computers</td>\n<td>Mind Key / JWT</td>\n<td>Fjärrstyrning av datorer</td>\n</tr>\n<tr>\n<td>User/Minds</td>\n<td>JWT</td>\n<td>Konto + mind-hantering</td>\n</tr>\n<tr>\n<td>Sharing</td>\n<td>JWT</td>\n<td>Mind-delning mellan användare</td>\n</tr>\n<tr>\n<td>Push</td>\n<td>JWT</td>\n<td>Web Push-prenumerationer</td>\n</tr>\n<tr>\n<td>Tools</td>\n<td>Ingen</td>\n<td>Tid, kalkyl, slump (publika verktyg)</td>\n</tr>\n</tbody></table>\n<h2>Svarsformat</h2>\n<ul>\n<li><strong>JSON</strong> (standard): <code>{ &quot;key&quot;: &quot;value&quot;, ... }</code></li>\n<li><strong>Oformaterad text</strong>: <code>/memory/recall</code> returnerar LLM-optimerad text</li>\n<li><strong>HTML</strong>: <code>/</code>, <code>/docs</code>, <code>/human</code>, <code>/support</code>, <code>/playground</code></li>\n</ul>\n<h2>Standard kuvert för svar</h2>\n<p>Lyckade svar returnerar datan direkt:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span> <span class=\"hljs-attr\">&quot;id&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;mem_001&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-attr\">&quot;status&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;stored&quot;</span> <span class=\"hljs-punctuation\">}</span></code></pre><p>Felsvar använder detta format:</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><div class=\"callout callout-note\">Fältet `docs` länkar till relevant dokumentation för vanliga fel.</div><h2>HTTP-statuskoder</h2>\n<table>\n<thead>\n<tr>\n<th>Kod</th>\n<th>Betydelse</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>200</td>\n<td>Lyckades (GET, PUT)</td>\n</tr>\n<tr>\n<td>201</td>\n<td>Skapad (POST)</td>\n</tr>\n<tr>\n<td>204</td>\n<td>Inget innehåll (DELETE)</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Felaktig begäran (valideringsfel)</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Obehörig (saknas/ogiltig token)</td>\n</tr>\n<tr>\n<td>403</td>\n<td>Förbjuden (fel tokentyp)</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Hittades inte (sökvägen finns inte)</td>\n</tr>\n<tr>\n<td>409</td>\n<td>Konflikt (dubblett)</td>\n</tr>\n<tr>\n<td>429</td>\n<td>För många begäranden (hastighetsgräns)</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Serverfel</td>\n</tr>\n</tbody></table>\n<h2>Upptäckbarhets-endpoints</h2>\n<table>\n<thead>\n<tr>\n<th>Endpoint</th>\n<th>Syfte</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>GET /</code></td>\n<td>Landningssida (LLM-optimerad)</td>\n</tr>\n<tr>\n<td><code>GET /endpoints</code></td>\n<td>Maskinläsbar lista över alla endpoints</td>\n</tr>\n<tr>\n<td><code>GET /endpoints?format=text</code></td>\n<td>Ofärmaterad endpoint-lista</td>\n</tr>\n<tr>\n<td><code>GET /openapi.json</code></td>\n<td>OpenAPI 3.0-specifikation</td>\n</tr>\n<tr>\n<td><code>GET /help</code></td>\n<td>Fullständig API-dokumentation (HTML)</td>\n</tr>\n<tr>\n<td><code>GET /help?format=json</code></td>\n<td>API-dokumentation som JSON</td>\n</tr>\n<tr>\n<td><code>GET /docs</code></td>\n<td>Dokumentationssystem (HTML)</td>\n</tr>\n<tr>\n<td><code>GET /docs?format=json</code></td>\n<td>Dokumentationsindex (JSON)</td>\n</tr>\n<tr>\n<td><code>GET /docs?format=text&amp;scope=all</code></td>\n<td>All dokumentation som ett textblock</td>\n</tr>\n<tr>\n<td><code>GET /playground</code></td>\n<td>Interaktiv API-playground</td>\n</tr>\n</tbody></table>\n<h2>Hastighetsgränser</h2>\n<table>\n<thead>\n<tr>\n<th>Autentiseringsmetod</th>\n<th>Gräns</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Mind Key (header)</td>\n<td>Ingen</td>\n</tr>\n<tr>\n<td>Mind Key (?key=)</td>\n<td>60/min per IP</td>\n</tr>\n<tr>\n<td>JWT (header)</td>\n<td>Ingen</td>\n</tr>\n<tr>\n<td>Publika endpoints</td>\n<td>Ingen</td>\n</tr>\n</tbody></table>\n<p>Hastighetsbegränsade svar inkluderar:</p>\n<pre><code class=\"hljs language-plaintext\">X-RateLimit-Limit: 60\nX-RateLimit-Remaining: 42\nRetry-After: 30  (only when 429)</code></pre><h2>Paginering</h2>\n<p>List-endpoints stöder <code>?limit=</code> och <code>?offset=</code>:</p>\n<pre><code class=\"hljs language-plaintext\">GET /memory?limit=50&amp;offset=100\nGET /mind/tasks?status=pending</code></pre><p>Standardgräns: 100. Maxgräns: 500.</p>\n<h2>CORS</h2>\n<p>Alla endpoints stöder CORS för webbläsarbaserade klienter:</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, Mcp-Session-Id, Mcp-Tool-Profile</code></pre><h2>SDK:er &amp; klienter</h2>\n<ul>\n<li><strong>Node.js SDK</strong>: <code>npm install synapse-memory-sdk</code> (<a href=\"https://gitlab.com/schaefer-services/synapse-sdk-js\">repo</a>)</li>\n<li><strong>MCP Server</strong>: <code>npx -y synapse-mcp-api@latest</code> (<a href=\"https://gitlab.com/schaefer-services/synapse-mcp\">repo</a>)</li>\n<li><strong>HTTP-klient</strong>: valfritt HTTP-bibliotek (curl, fetch, axios, etc.)</li>\n</ul>\n<h2>Nästa steg</h2>\n<ul>\n<li><a href=\"/docs/api/memory\">Memory API</a> — de viktigaste endpoints</li>\n<li><a href=\"/docs/api/chat\">Chat API</a> — asynkron kommunikation mellan människa och agent</li>\n<li><a href=\"/docs/api/errors\">Fel &amp; felhantering</a></li>\n</ul>\n","urls":{"html":"/docs/api/overview","text":"/docs/api/overview?format=text","json":"/docs/api/overview?format=json","llm":"/docs/api/overview?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}