{"title":"Hız Sınırları & Kotalar","slug":"rate-limits","category":"api","summary":"Synapse API için hız sınırı politikaları — Bearer header (sınırsız), ?key= (60/dakika), herkese açık uç noktalar.","audience":["human","llm"],"tags":["api","rate-limits","quotas","throttling"],"difficulty":"beginner","updated":"2026-06-27","word_count":311,"read_minutes":2,"llm_context":"Mind Key (Authorization: Bearer header) → NO rate limit\nMind Key (?key= query param) → 60 req/min per IP\nJWT (Authorization: Bearer header) → NO rate limit\nPublic endpoints (/tools/*, /docs, /health, /endpoints) → NO rate limit\nRate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After\nRecommendation: ALWAYS use Authorization header. Use ?key= only for URL-only tools.\n","lang":"tr","translated":true,"requested_lang":"tr","content_markdown":"\n# Hız Sınırları & Kotalar\n\nSynapse, kötüye kullanımı önleyen ve aynı zamanda meşru kullanımın önüne geçmeyen basit, öngörülebilir bir hız sınırı politikasına sahiptir.\n\n## Hız Sınırı Politikası\n\n| Kimlik Doğrulama Yöntemi | Sınır | Kapsam |\n|-------------|-------|-------|\n| Mind Key (`Authorization: Bearer`) | **Yok** | Mind başına |\n| Mind Key (`?key=`) | 60 istek/dakika | IP başına |\n| JWT (`Authorization: Bearer`) | **Yok** | Kullanıcı başına |\n| Herkese açık uç noktalar | **Yok** | Global |\n\n> [!TIP]\n> Mümkün olduğunda **daima `Authorization: Bearer` başlığını kullanın**. Hız sınırı yoktur. `?key=` seçeneğini yalnızca özel başlık ayarlayamayan araçlar için kullanın.\n\n## Hız Sınırı Başlıkları\n\n`?key=` kimlik doğrulaması kullandığınızda, yanıtlar hız sınırı başlıklarını içerir:\n\n```\nX-RateLimit-Limit: 60\nX-RateLimit-Remaining: 42\nX-RateLimit-Reset: 1782567840\n```\n\nSınırı aştığınızda:\n\n```\nHTTP/1.1 429 Too Many Requests\nX-RateLimit-Limit: 60\nX-RateLimit-Remaining: 0\nRetry-After: 42\nContent-Type: application/json\n\n{\n  \"statusCode\": 429,\n  \"error\": \"Too Many Requests\",\n  \"message\": \"Rate limit exceeded. Use Authorization header for unlimited access.\"\n}\n```\n\n## Hız Sınırına Ulaştığınızda\n\n429 alırsanız:\n\n1. **Authorization header'a geçin** (önerilir):\n   ```bash\n   # Don't: ?key=YOUR_MIND_KEY (60/min limit)\n   curl \".../memory/recall?key=YOUR_MIND_KEY\"\n   \n   # Do: Authorization header (unlimited)\n   curl -H \"Authorization: Bearer YOUR_MIND_KEY\" .../memory/recall\n   ```\n\n2. **Veya `Retry-After` saniye bekleyin** ve yeniden deneyin.\n\n## ?key= Sınırı Neden Var\n\n`?key=` sorgu parametresi yalnızca URL kullanan araçlar (tarayıcılar, `open` komutları) için uygundur, ancak güvenlik ve performans etkileri vardır:\n\n- **Güvenlik:** Sorgu parametreleri sunucu erişim günlüklerinde, tarayıcı geçmişinde ve Referer başlıklarında kaydedilir. Kullanımı sınırlamak maruziyeti azaltır.\n- **Performans:** Sorgu parametresi kimlik doğrulaması, IP tabanlı bir hız sınırlayıcı gerektirir (istek başına Redis araması), bu da gecikme ekler. Header kimlik doğrulaması bunu atlar.\n- **Kötüye kullanım önleme:** Sızdırılmış bir `?key=` URL'si paylaşılabilir ve kötüye kullanılabilir. IP sınırı etki alanını sınırlar.\n\n## Önerilen Desenler\n\n### LLM ajanları\n\n```python\n# Always use header auth\nheaders = {\"Authorization\": f\"Bearer {MIND_KEY}\"}\nresponse = requests.get(f\"{URL}/memory/recall\", headers=headers)\n```\n\n### Tarayıcı tabanlı araçlar\n\nAracınız yalnızca URL açabiliyorsa:\n\n```bash\n# OK for occasional use (under 60/min)\nopen \"https://synapse.schaefer.zone/memory/recall?key=YOUR_MIND_KEY\"\n\n# For frequent use, switch to a tool that supports headers\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" .../memory/recall\n```\n\n### MCP sunucusu\n\nMCP sunucuları her zaman `SYNAPSE_MIND_KEY` env değişkeni üzerinden header kimlik doğrulaması kullanır — hız sınırı uygulanmaz.\n\n### Toplu içe aktarımlar\n\nToplu işlemler (örn. 1000 bellek içe aktarma) için her zaman header kimlik doğrulaması kullanın. `?key=` üzerinden toplu içe aktarımlar 1 dakika içinde hız sınırına takılır.\n\n## Kotalar (Mind Düzeyi)\n\nŞu anda depolama boyutu veya bellek sayısı için mind başına kota yoktur. Tüm sınırlar veri düzeyinde değil, kimlik doğrulama/IP düzeyindedir. Bu, çok kiracılı adillik için gelecekte değişebilir.\n\n## Kullanımınızı İzleme\n\n```bash\n# Check your current rate limit status (with ?key= auth)\ncurl -i \"https://synapse.schaefer.zone/memory/stats?key=YOUR_MIND_KEY\" | grep -i ratelimit\n\n# Output:\n# X-RateLimit-Limit: 60\n# X-RateLimit-Remaining: 58\n# X-RateLimit-Reset: 1782567840\n```\n\n## Sonraki Adımlar\n\n- [Kimlik Doğrulama](/docs/getting-started/authentication)\n- [Hatalar & Hata Yönetimi](/docs/api/errors)\n","content_html":"<h1>Hız Sınırları &amp; Kotalar</h1>\n<p>Synapse, kötüye kullanımı önleyen ve aynı zamanda meşru kullanımın önüne geçmeyen basit, öngörülebilir bir hız sınırı politikasına sahiptir.</p>\n<h2>Hız Sınırı Politikası</h2>\n<table>\n<thead>\n<tr>\n<th>Kimlik Doğrulama Yöntemi</th>\n<th>Sınır</th>\n<th>Kapsam</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Mind Key (<code>Authorization: Bearer</code>)</td>\n<td><strong>Yok</strong></td>\n<td>Mind başına</td>\n</tr>\n<tr>\n<td>Mind Key (<code>?key=</code>)</td>\n<td>60 istek/dakika</td>\n<td>IP başına</td>\n</tr>\n<tr>\n<td>JWT (<code>Authorization: Bearer</code>)</td>\n<td><strong>Yok</strong></td>\n<td>Kullanıcı başına</td>\n</tr>\n<tr>\n<td>Herkese açık uç noktalar</td>\n<td><strong>Yok</strong></td>\n<td>Global</td>\n</tr>\n</tbody></table>\n<div class=\"callout callout-ok\">Mümkün olduğunda **daima `Authorization: Bearer` başlığını kullanın**. Hız sınırı yoktur. `?key=` seçeneğini yalnızca özel başlık ayarlayamayan araçlar için kullanın.</div><h2>Hız Sınırı Başlıkları</h2>\n<p><code>?key=</code> kimlik doğrulaması kullandığınızda, yanıtlar hız sınırı başlıklarını içerir:</p>\n<pre><code class=\"hljs language-plaintext\">X-RateLimit-Limit: 60\nX-RateLimit-Remaining: 42\nX-RateLimit-Reset: 1782567840</code></pre><p>Sınırı aştığınızda:</p>\n<pre><code class=\"hljs language-plaintext\">HTTP/1.1 429 Too Many Requests\nX-RateLimit-Limit: 60\nX-RateLimit-Remaining: 0\nRetry-After: 42\nContent-Type: application/json\n\n{\n  &quot;statusCode&quot;: 429,\n  &quot;error&quot;: &quot;Too Many Requests&quot;,\n  &quot;message&quot;: &quot;Rate limit exceeded. Use Authorization header for unlimited access.&quot;\n}</code></pre><h2>Hız Sınırına Ulaştığınızda</h2>\n<p>429 alırsanız:</p>\n<ol>\n<li><p><strong>Authorization header&#39;a geçin</strong> (önerilir):</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Don&#x27;t: ?key=YOUR_MIND_KEY (60/min limit)</span>\ncurl <span class=\"hljs-string\">&quot;.../memory/recall?key=YOUR_MIND_KEY&quot;</span>\n\n<span class=\"hljs-comment\"># Do: Authorization header (unlimited)</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> .../memory/recall</code></pre></li>\n<li><p><strong>Veya <code>Retry-After</code> saniye bekleyin</strong> ve yeniden deneyin.</p>\n</li>\n</ol>\n<h2>?key= Sınırı Neden Var</h2>\n<p><code>?key=</code> sorgu parametresi yalnızca URL kullanan araçlar (tarayıcılar, <code>open</code> komutları) için uygundur, ancak güvenlik ve performans etkileri vardır:</p>\n<ul>\n<li><strong>Güvenlik:</strong> Sorgu parametreleri sunucu erişim günlüklerinde, tarayıcı geçmişinde ve Referer başlıklarında kaydedilir. Kullanımı sınırlamak maruziyeti azaltır.</li>\n<li><strong>Performans:</strong> Sorgu parametresi kimlik doğrulaması, IP tabanlı bir hız sınırlayıcı gerektirir (istek başına Redis araması), bu da gecikme ekler. Header kimlik doğrulaması bunu atlar.</li>\n<li><strong>Kötüye kullanım önleme:</strong> Sızdırılmış bir <code>?key=</code> URL&#39;si paylaşılabilir ve kötüye kullanılabilir. IP sınırı etki alanını sınırlar.</li>\n</ul>\n<h2>Önerilen Desenler</h2>\n<h3>LLM ajanları</h3>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># Always use header auth</span>\nheaders = {<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>}\nresponse = requests.get(<span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/memory/recall&quot;</span>, headers=headers)</code></pre><h3>Tarayıcı tabanlı araçlar</h3>\n<p>Aracınız yalnızca URL açabiliyorsa:</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># OK for occasional use (under 60/min)</span>\nopen <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/memory/recall?key=YOUR_MIND_KEY&quot;</span>\n\n<span class=\"hljs-comment\"># For frequent use, switch to a tool that supports headers</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> .../memory/recall</code></pre><h3>MCP sunucusu</h3>\n<p>MCP sunucuları her zaman <code>SYNAPSE_MIND_KEY</code> env değişkeni üzerinden header kimlik doğrulaması kullanır — hız sınırı uygulanmaz.</p>\n<h3>Toplu içe aktarımlar</h3>\n<p>Toplu işlemler (örn. 1000 bellek içe aktarma) için her zaman header kimlik doğrulaması kullanın. <code>?key=</code> üzerinden toplu içe aktarımlar 1 dakika içinde hız sınırına takılır.</p>\n<h2>Kotalar (Mind Düzeyi)</h2>\n<p>Şu anda depolama boyutu veya bellek sayısı için mind başına kota yoktur. Tüm sınırlar veri düzeyinde değil, kimlik doğrulama/IP düzeyindedir. Bu, çok kiracılı adillik için gelecekte değişebilir.</p>\n<h2>Kullanımınızı İzleme</h2>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Check your current rate limit status (with ?key= auth)</span>\ncurl -i <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/memory/stats?key=YOUR_MIND_KEY&quot;</span> | grep -i ratelimit\n\n<span class=\"hljs-comment\"># Output:</span>\n<span class=\"hljs-comment\"># X-RateLimit-Limit: 60</span>\n<span class=\"hljs-comment\"># X-RateLimit-Remaining: 58</span>\n<span class=\"hljs-comment\"># X-RateLimit-Reset: 1782567840</span></code></pre><h2>Sonraki Adımlar</h2>\n<ul>\n<li><a href=\"/docs/getting-started/authentication\">Kimlik Doğrulama</a></li>\n<li><a href=\"/docs/api/errors\">Hatalar &amp; Hata Yönetimi</a></li>\n</ul>\n","urls":{"html":"/docs/api/rate-limits","text":"/docs/api/rate-limits?format=text","json":"/docs/api/rate-limits?format=json","llm":"/docs/api/rate-limits?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}