Ratelimits & Quota
Ratelimit-beleid voor de Synapse API — Bearer-header (onbeperkt), ?key= (60/min), openbare eindpunten.
Ratelimits & Quota
Synapse heeft een eenvoudig, voorspelbaar ratelimit-beleid dat is ontworpen om misbruik te voorkomen zonder legitiem gebruik in de weg te zitten.
Ratelimit-beleid
| Auth-methode | Limiet | Bereik |
|---|---|---|
Mind Key (Authorization: Bearer) |
Geen | Per-mind |
Mind Key (?key=) |
60 aanvragen/min | Per-IP |
JWT (Authorization: Bearer) |
Geen | Per-gebruiker |
| Openbare eindpunten | Geen | Globaal |
Ratelimit-headers
Wanneer u ?key=-authenticatie gebruikt, bevatten responsen ratelimit-headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1782567840Wanneer u de limiet overschrijdt:
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
Retry-After: 42
Content-Type: application/json
{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded. Use Authorization header for unlimited access."
}Als u een ratelimit raakt
Als u een 429 krijgt:
Schakel over naar de Authorization-header (aanbevolen):
# Niet: ?key=YOUR_MIND_KEY (60/min limiet) curl ".../memory/recall?key=YOUR_MIND_KEY" # Wel: Authorization-header (onbeperkt) curl -H "Authorization: Bearer YOUR_MIND_KEY" .../memory/recallOf wacht
Retry-Afterseconden en probeer opnieuw.
Waarom de ?key= limiet bestaat
De ?key=-queryparameter is handig voor URL-only tools (browsers,
open-commando's), maar heeft beveiligings- en prestatie-implicaties:
- Beveiliging: Queryparameters worden gelogd in server-accesslogs, browsergeschiedenis en Referer-headers. Beperking van gebruik verkleint de blootstelling.
- Prestaties: Queryparameter-authenticatie vereist een IP-gebaseerde ratelimiter (Redis-lookup per verzoek), wat latency toevoegt. Header-authenticatie slaat dit over.
- Misbruikpreventie: Een gelekte
?key=-URL kan worden gedeeld en gebombardeerd. De IP-limiet beperkt de schade.
Aanbevolen patronen
LLM-agents
# Always use header auth
headers = {"Authorization": f"Bearer {MIND_KEY}"}
response = requests.get(f"{URL}/memory/recall", headers=headers)Browser-gebaseerde tools
Als uw tool alleen URL's kan openen:
# OK voor incidenteel gebruik (onder 60/min)
open "https://synapse.schaefer.zone/memory/recall?key=YOUR_MIND_KEY"
# Voor frequent gebruik, schakel over naar een tool die headers ondersteunt
curl -H "Authorization: Bearer YOUR_MIND_KEY" .../memory/recallMCP-server
MCP-servers gebruiken altijd header-authenticatie via de SYNAPSE_MIND_KEY-env-var —
geen ratelimit van toepassing.
Bulk-imports
Voor bulkoperaties (bijv. 1000 herinneringen importeren), gebruik altijd header-authenticatie.
Bulk-imports via ?key= raken de ratelimit binnen 1 minuut.
Quota (op mind-niveau)
Er zijn momenteel geen per-mind quota voor opslaggrootte of aantal herinneringen. Alle limieten zitten op het auth/IP-niveau, niet op dataniveau. Dit kan in de toekomst veranderen voor multi-tenant fairshare.
Uw gebruik monitoren
# Controleer uw huidige ratelimit-status (met ?key=-authenticatie)
curl -i "https://synapse.schaefer.zone/memory/stats?key=YOUR_MIND_KEY" | grep -i ratelimit
# Output:
# X-RateLimit-Limit: 60
# X-RateLimit-Remaining: 58
# X-RateLimit-Reset: 1782567840