{"title":"FAQ Troubleshooting","slug":"troubleshooting","category":"faq","summary":"Solusi untuk masalah Synapse umum — autentikasi, jaringan, data, deployment.","audience":["human","llm"],"tags":["faq","troubleshooting","problems","solutions"],"difficulty":"beginner","updated":"2026-06-27","word_count":615,"read_minutes":3,"lang":"id","translated":true,"requested_lang":"id","content_markdown":"\n# FAQ Troubleshooting\n\nSolusi untuk masalah Synapse umum.\n\n## Saya tidak bisa login\n\n### Gejala\n\n- `POST /login` mengembalikan 401\n- \"Invalid email or password\"\n\n### Solusi\n\n1. **Verifikasi email benar** — case sensitive\n2. **Periksa kata sandi** — minimal 6 karakter\n3. **Daftar dulu** jika Anda tidak punya akun: `POST /register`\n4. **Reset kata sandi** (jika SMTP dikonfigurasi) melalui web UI\n\n## Saya kehilangan Mind Key\n\n### Gejala\n\n- Tidak dapat mengakses memori\n- Mind Key telah dihapus/hilang\n\n### Solusi\n\nMind Key tidak dapat dipulihkan. Anda harus:\n\n1. Login untuk mendapatkan JWT: `POST /login`\n2. Daftar mind: `GET /minds` (dengan JWT)\n3. Buat mind baru: `POST /minds`\n4. Simpan Mind Key baru\n5. (Opsional) Hapus mind lama: `DELETE /minds/:id`\n\n**Data di mind lama hilang** kecuali Anda dapat menemukan Mind Key-nya.\n\n## Panggilan API mengembalikan 401\n\n### Gejala\n\n- Semua panggilan API mengembalikan 401 Unauthorized\n- \"Mind Key fehlt oder ungültig\"\n\n### Solusi\n\n1. **Verifikasi format header**: `Authorization: Bearer mk_...`\n2. **Periksa Mind Key dimulai dengan `mk_`** (bukan `eyJ` yang merupakan JWT)\n3. **Tes langsung**:\n   ```bash\n   curl -H \"Authorization: Bearer mk_YOUR_KEY\" \\\n        https://synapse.schaefer.zone/memory/recall\n   ```\n4. **Mind Key mungkin dicabut** — buat mind baru\n\nLihat [Autentikasi](/docs/getting-started/authentication).\n\n## Panggilan API mengembalikan 404\n\n### Gejala\n\n- 404 Not Found\n- \"Route not found\"\n\n### Solusi\n\n> [!CRITICAL]\n> Jangan menebak path endpoint. Hanya path di `GET /endpoints` yang ada.\n\n1. **Periksa endpoint valid**: `curl https://synapse.schaefer.zone/endpoints`\n2. **Bandingkan URL persis** — case sensitive, tanpa trailing slash\n3. **Periksa metode HTTP** — `GET /memory` vs `POST /memory` berbeda\n\n## Panggilan API mengembalikan 429\n\n### Gejala\n\n- 429 Too Many Requests\n- \"Rate limit exceeded\"\n\n### Solusi\n\n1. **Beralih ke autentikasi header** (tanpa rate limit):\n   ```bash\n   # Jangan\n   curl \".../memory/recall?key=mk_...\"\n   \n   # Lakukan\n   curl -H \"Authorization: Bearer mk_...\" .../memory/recall\n   ```\n2. **Tunggu `Retry-After` detik** jika Anda harus menggunakan `?key=`\n\nLihat [Rate Limits](/docs/api/rate-limits).\n\n## Pencarian memori tidak mengembalikan hasil\n\n### Gejala\n\n- `GET /memory/search?q=...` mengembalikan kosong\n- Tahu memori ada\n\n### Solusi\n\n1. **Verifikasi memori ada**: `GET /memory/recall`\n2. **Periksa sintaks pencarian** — FTS5 memiliki sintaks spesifik\n3. **Coba kueri lebih sederhana** — `?q=docker` alih-alih `?q=docker+swarm+deployment`\n4. **Gunakan pencarian semantik** untuk kueri konseptual: `GET /memory/semantic-search?q=...`\n\nLihat [Pencarian FTS5](/docs/concepts/fts5-search).\n\n## Memori tidak bertahan\n\n### Gejala\n\n- POST /memory mengembalikan sukses\n- GET /memory/recall tidak menampilkannya\n\n### Solusi\n\n1. **Verifikasi Mind Key yang sama** — key berbeda = mind berbeda\n2. **Periksa respons** — POST mengembalikan `{ \"id\": \"mem_...\", \"status\": \"stored\" }`\n3. **Coba GET /memory** (daftar JSON) alih-alih /memory/recall (teks)\n4. **Periksa filter** — `?category=` atau `?tag=` mungkin menyembunyikannya\n\n## Alat tidak muncul di Claude Desktop\n\n### Gejala\n\n- Claude Desktop menunjukkan 0 alat\n- Tidak ada ikon 🔌\n\n### Solusi\n\n1. **Mulai ulang Claude Desktop sepenuhnya** (Cmd+Q)\n2. **Verifikasi file konfigurasi** adalah JSON yang valid\n3. **Periksa Node.js 18+** terpasang\n4. **Jalankan MCP secara manual**: `npx -y synapse-mcp-api@latest`\n5. **Periksa log**: `~/Library/Logs/Claude/mcp.log`\n\nLihat [MCP Troubleshooting](/docs/mcp/troubleshooting).\n\n## Synapse offline\n\n### Gejala\n\n- Tidak dapat mencapai synapse.schaefer.zone\n- curl timeout\n\n### Solusi\n\n1. **Periksa internet Anda** — coba situs lain\n2. **Periksa health Synapse**: `curl https://synapse.schaefer.zone/health`\n3. **Tunggu** — mungkin pemadaman sementara atau deployment\n4. **Periksa halaman status** (jika tersedia)\n\nUntuk self-hosted: periksa status container Docker, koneksi database.\n\n## Error database\n\n### Gejala\n\n- 500 Internal Server Error\n- \"Database connection failed\"\n\n### Solusi\n\nUntuk self-hosted:\n\n1. **Periksa PostgreSQL berjalan**: `docker ps | grep postgres`\n2. **Periksa DATABASE_URL** di env\n3. **Periksa migrasi**: `npm run migrate:check`\n4. **Periksa ruang disk**: `df -h`\n\nUntuk hosted: laporkan ke support.\n\n## Webhook tidak aktif\n\n### Gejala\n\n- Mendaftarkan webhook tetapi tidak menerima callback\n- Tidak ada POST ke URL Anda\n\n### Solusi\n\n1. **Verifikasi URL dapat dijangkau**: `curl -X POST your-url -d '{}'`\n2. **Periksa filter event** — `memory.*` cocok dengan semua event memori\n3. **Tes webhook**: `POST /webhooks/:id/test`\n4. **Periksa webhook diaktifkan**: `GET /webhooks/:id`\n5. **Verifikasi SSL** — Synapse memerlukan HTTPS yang valid untuk URL webhook\n\nLihat [Webhooks API](/docs/api/webhooks).\n\n## Cron job tidak berjalan\n\n### Gejala\n\n- Membuat cron job tetapi tidak aktif\n- `next_run` tidak diperbarui\n\n### Solusi\n\n1. **Periksa sintaks jadwal** — harus cron 5-field yang valid ATAU detik bilangan bulat\n2. **Verifikasi endpoint diizinkan** — harus http(s), tanpa IP privat\n3. **Periksa job diaktifkan**: `GET /cron`\n4. **Tunggu waktu terjadwal berikutnya** — cron tidak instan\n\nLihat [Cron & Scheduler](/docs/api/cron).\n\n## Butuh Bantuan Lebih Lanjut?\n\n1. **Periksa dokumentasi yang ada**: <https://synapse.schaefer.zone/docs>\n2. **Cari dokumentasi**: `GET /docs/search?q=your+question`\n3. **Buka issue**: <https://gitlab.com/schaefer-services/synapse/-/issues>\n4. **Kontak**: lihat halaman `/support`\n\n## Langkah Berikutnya\n\n- [Errors & Error Handling](/docs/api/errors)\n- [FAQ API](/docs/faq/api-faq)\n- [MCP Troubleshooting](/docs/mcp/troubleshooting)\n","content_html":"<h1>FAQ Troubleshooting</h1>\n<p>Solusi untuk masalah Synapse umum.</p>\n<h2>Saya tidak bisa login</h2>\n<h3>Gejala</h3>\n<ul>\n<li><code>POST /login</code> mengembalikan 401</li>\n<li>&quot;Invalid email or password&quot;</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Verifikasi email benar</strong> — case sensitive</li>\n<li><strong>Periksa kata sandi</strong> — minimal 6 karakter</li>\n<li><strong>Daftar dulu</strong> jika Anda tidak punya akun: <code>POST /register</code></li>\n<li><strong>Reset kata sandi</strong> (jika SMTP dikonfigurasi) melalui web UI</li>\n</ol>\n<h2>Saya kehilangan Mind Key</h2>\n<h3>Gejala</h3>\n<ul>\n<li>Tidak dapat mengakses memori</li>\n<li>Mind Key telah dihapus/hilang</li>\n</ul>\n<h3>Solusi</h3>\n<p>Mind Key tidak dapat dipulihkan. Anda harus:</p>\n<ol>\n<li>Login untuk mendapatkan JWT: <code>POST /login</code></li>\n<li>Daftar mind: <code>GET /minds</code> (dengan JWT)</li>\n<li>Buat mind baru: <code>POST /minds</code></li>\n<li>Simpan Mind Key baru</li>\n<li>(Opsional) Hapus mind lama: <code>DELETE /minds/:id</code></li>\n</ol>\n<p><strong>Data di mind lama hilang</strong> kecuali Anda dapat menemukan Mind Key-nya.</p>\n<h2>Panggilan API mengembalikan 401</h2>\n<h3>Gejala</h3>\n<ul>\n<li>Semua panggilan API mengembalikan 401 Unauthorized</li>\n<li>&quot;Mind Key fehlt oder ungültig&quot;</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Verifikasi format header</strong>: <code>Authorization: Bearer mk_...</code></li>\n<li><strong>Periksa Mind Key dimulai dengan <code>mk_</code></strong> (bukan <code>eyJ</code> yang merupakan JWT)</li>\n<li><strong>Tes langsung</strong>:<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_YOUR_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/memory/recall</code></pre></li>\n<li><strong>Mind Key mungkin dicabut</strong> — buat mind baru</li>\n</ol>\n<p>Lihat <a href=\"/docs/getting-started/authentication\">Autentikasi</a>.</p>\n<h2>Panggilan API mengembalikan 404</h2>\n<h3>Gejala</h3>\n<ul>\n<li>404 Not Found</li>\n<li>&quot;Route not found&quot;</li>\n</ul>\n<h3>Solusi</h3>\n<div class=\"callout callout-critical\">Jangan menebak path endpoint. Hanya path di `GET /endpoints` yang ada.</div><ol>\n<li><strong>Periksa endpoint valid</strong>: <code>curl https://synapse.schaefer.zone/endpoints</code></li>\n<li><strong>Bandingkan URL persis</strong> — case sensitive, tanpa trailing slash</li>\n<li><strong>Periksa metode HTTP</strong> — <code>GET /memory</code> vs <code>POST /memory</code> berbeda</li>\n</ol>\n<h2>Panggilan API mengembalikan 429</h2>\n<h3>Gejala</h3>\n<ul>\n<li>429 Too Many Requests</li>\n<li>&quot;Rate limit exceeded&quot;</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Beralih ke autentikasi header</strong> (tanpa rate limit):<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Jangan</span>\ncurl <span class=\"hljs-string\">&quot;.../memory/recall?key=mk_...&quot;</span>\n\n<span class=\"hljs-comment\"># Lakukan</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_...&quot;</span> .../memory/recall</code></pre></li>\n<li><strong>Tunggu <code>Retry-After</code> detik</strong> jika Anda harus menggunakan <code>?key=</code></li>\n</ol>\n<p>Lihat <a href=\"/docs/api/rate-limits\">Rate Limits</a>.</p>\n<h2>Pencarian memori tidak mengembalikan hasil</h2>\n<h3>Gejala</h3>\n<ul>\n<li><code>GET /memory/search?q=...</code> mengembalikan kosong</li>\n<li>Tahu memori ada</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Verifikasi memori ada</strong>: <code>GET /memory/recall</code></li>\n<li><strong>Periksa sintaks pencarian</strong> — FTS5 memiliki sintaks spesifik</li>\n<li><strong>Coba kueri lebih sederhana</strong> — <code>?q=docker</code> alih-alih <code>?q=docker+swarm+deployment</code></li>\n<li><strong>Gunakan pencarian semantik</strong> untuk kueri konseptual: <code>GET /memory/semantic-search?q=...</code></li>\n</ol>\n<p>Lihat <a href=\"/docs/concepts/fts5-search\">Pencarian FTS5</a>.</p>\n<h2>Memori tidak bertahan</h2>\n<h3>Gejala</h3>\n<ul>\n<li>POST /memory mengembalikan sukses</li>\n<li>GET /memory/recall tidak menampilkannya</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Verifikasi Mind Key yang sama</strong> — key berbeda = mind berbeda</li>\n<li><strong>Periksa respons</strong> — POST mengembalikan <code>{ &quot;id&quot;: &quot;mem_...&quot;, &quot;status&quot;: &quot;stored&quot; }</code></li>\n<li><strong>Coba GET /memory</strong> (daftar JSON) alih-alih /memory/recall (teks)</li>\n<li><strong>Periksa filter</strong> — <code>?category=</code> atau <code>?tag=</code> mungkin menyembunyikannya</li>\n</ol>\n<h2>Alat tidak muncul di Claude Desktop</h2>\n<h3>Gejala</h3>\n<ul>\n<li>Claude Desktop menunjukkan 0 alat</li>\n<li>Tidak ada ikon 🔌</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Mulai ulang Claude Desktop sepenuhnya</strong> (Cmd+Q)</li>\n<li><strong>Verifikasi file konfigurasi</strong> adalah JSON yang valid</li>\n<li><strong>Periksa Node.js 18+</strong> terpasang</li>\n<li><strong>Jalankan MCP secara manual</strong>: <code>npx -y synapse-mcp-api@latest</code></li>\n<li><strong>Periksa log</strong>: <code>~/Library/Logs/Claude/mcp.log</code></li>\n</ol>\n<p>Lihat <a href=\"/docs/mcp/troubleshooting\">MCP Troubleshooting</a>.</p>\n<h2>Synapse offline</h2>\n<h3>Gejala</h3>\n<ul>\n<li>Tidak dapat mencapai synapse.schaefer.zone</li>\n<li>curl timeout</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Periksa internet Anda</strong> — coba situs lain</li>\n<li><strong>Periksa health Synapse</strong>: <code>curl https://synapse.schaefer.zone/health</code></li>\n<li><strong>Tunggu</strong> — mungkin pemadaman sementara atau deployment</li>\n<li><strong>Periksa halaman status</strong> (jika tersedia)</li>\n</ol>\n<p>Untuk self-hosted: periksa status container Docker, koneksi database.</p>\n<h2>Error database</h2>\n<h3>Gejala</h3>\n<ul>\n<li>500 Internal Server Error</li>\n<li>&quot;Database connection failed&quot;</li>\n</ul>\n<h3>Solusi</h3>\n<p>Untuk self-hosted:</p>\n<ol>\n<li><strong>Periksa PostgreSQL berjalan</strong>: <code>docker ps | grep postgres</code></li>\n<li><strong>Periksa DATABASE_URL</strong> di env</li>\n<li><strong>Periksa migrasi</strong>: <code>npm run migrate:check</code></li>\n<li><strong>Periksa ruang disk</strong>: <code>df -h</code></li>\n</ol>\n<p>Untuk hosted: laporkan ke support.</p>\n<h2>Webhook tidak aktif</h2>\n<h3>Gejala</h3>\n<ul>\n<li>Mendaftarkan webhook tetapi tidak menerima callback</li>\n<li>Tidak ada POST ke URL Anda</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Verifikasi URL dapat dijangkau</strong>: <code>curl -X POST your-url -d &#39;{}&#39;</code></li>\n<li><strong>Periksa filter event</strong> — <code>memory.*</code> cocok dengan semua event memori</li>\n<li><strong>Tes webhook</strong>: <code>POST /webhooks/:id/test</code></li>\n<li><strong>Periksa webhook diaktifkan</strong>: <code>GET /webhooks/:id</code></li>\n<li><strong>Verifikasi SSL</strong> — Synapse memerlukan HTTPS yang valid untuk URL webhook</li>\n</ol>\n<p>Lihat <a href=\"/docs/api/webhooks\">Webhooks API</a>.</p>\n<h2>Cron job tidak berjalan</h2>\n<h3>Gejala</h3>\n<ul>\n<li>Membuat cron job tetapi tidak aktif</li>\n<li><code>next_run</code> tidak diperbarui</li>\n</ul>\n<h3>Solusi</h3>\n<ol>\n<li><strong>Periksa sintaks jadwal</strong> — harus cron 5-field yang valid ATAU detik bilangan bulat</li>\n<li><strong>Verifikasi endpoint diizinkan</strong> — harus http(s), tanpa IP privat</li>\n<li><strong>Periksa job diaktifkan</strong>: <code>GET /cron</code></li>\n<li><strong>Tunggu waktu terjadwal berikutnya</strong> — cron tidak instan</li>\n</ol>\n<p>Lihat <a href=\"/docs/api/cron\">Cron &amp; Scheduler</a>.</p>\n<h2>Butuh Bantuan Lebih Lanjut?</h2>\n<ol>\n<li><strong>Periksa dokumentasi yang ada</strong>: <a href=\"https://synapse.schaefer.zone/docs\">https://synapse.schaefer.zone/docs</a></li>\n<li><strong>Cari dokumentasi</strong>: <code>GET /docs/search?q=your+question</code></li>\n<li><strong>Buka issue</strong>: <a href=\"https://gitlab.com/schaefer-services/synapse/-/issues\">https://gitlab.com/schaefer-services/synapse/-/issues</a></li>\n<li><strong>Kontak</strong>: lihat halaman <code>/support</code></li>\n</ol>\n<h2>Langkah Berikutnya</h2>\n<ul>\n<li><a href=\"/docs/api/errors\">Errors &amp; Error Handling</a></li>\n<li><a href=\"/docs/faq/api-faq\">FAQ API</a></li>\n<li><a href=\"/docs/mcp/troubleshooting\">MCP Troubleshooting</a></li>\n</ul>\n","urls":{"html":"/docs/faq/troubleshooting","text":"/docs/faq/troubleshooting?format=text","json":"/docs/faq/troubleshooting?format=json","llm":"/docs/faq/troubleshooting?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}