Skip to main content

Memory API

Volledige referentie voor de 22 memory-eindpunten: opslaan, ophalen, zoeken, semantisch zoeken, synchroniseren, audit en meer.


Memory API

De Memory API is het hart van Synapse. Het biedt 22 eindpunten voor het opslaan, ophalen, zoeken en beheren van gestructureerde herinneringen. Alle eindpunten vereisen een Mind Key voor authenticatie.

**Roep altijd `GET /memory/recall` aan aan het begin van elke sessie.** Dit is de enige manier om context van eerdere sessies te herstellen.

Categorieën

Herinneringen zijn ingedeeld in 8 categorieën:

Categorie Gebruik
identity Naam, rol, contactgegevens, voorkeuren over zichzelf
preference Voorkeuren, afkeuren, werkstijl, communicatievoorkeuren
fact Verifieerbare feiten (projectdetails, data, URL's)
project Projectstatus, mijlpalen, architectuur
skill Dingen waar de gebruiker goed in is
mistake Eerdere fouten — herhaal ze niet
context Sessie-relevante context
note Diverse notities

Prioriteiten

  • low — leuk om te weten
  • normal — standaard
  • high — belangrijk
  • critical — mag nooit vergeten worden (gebruikersidentiteit, juridische info)

Kern-eindpunten

GET /memory/recall

Retourneert ALLE herinneringen als op LLM geoptimaliseerde platte tekst. Roep dit aan bij elke sessiestart.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/recall

Respons (text/plain):

Mind: Michael's Mind
Memories: 12 total (10 verified)

[001] identity (CRITICAL)
  user_name
  Michael Schäfer
  Tags: person, identity

...

POST /memory

Sla een nieuwe herinnering op of werk een bestaande bij (zelfde categorie + key = update).

curl -X POST https://synapse.schaefer.zone/memory \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "category": "fact",
    "key": "user_name",
    "content": "The user's name is Michael Schäfer",
    "tags": ["person", "identity"],
    "priority": "critical"
  }'

Respons: { "id": "mem_001", "status": "stored" }

GET /memory

Toon herinneringen met optionele filters.

# Alle herinneringen (JSON)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory?limit=50&offset=0"

# Filter op categorie
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory?category=project"

# Filter op tag
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory?tag=docker"

PUT /memory/:id

Werk een specifieke herinnering bij op ID.

curl -X PUT https://synapse.schaefer.zone/memory/mem_001 \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content": "Updated content", "priority": "high"}'

DELETE /memory/:id

Verwijder één herinnering.

curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/mem_001

Zoek-eindpunten

GET /memory/search

Volledige-tekst zoeken met FTS5.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/search?q=docker+swarm"

FTS5-syntaxis:

  • Meerdere woorden = AND: docker swarm
  • Zin: "docker swarm"
  • Prefix: docker*
  • Booleaans: docker OR kubernetes
  • Uitsluiten: docker -swarm

GET /memory/semantic-search

Conceptueel zoeken met embeddings (langzamer dan FTS5 maar begrijpt betekenis).

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/semantic-search?q=container+orchestration"

Retourneert herinneringen die semantisch overeenkomen met de query, zelfs als er geen trefwoorden overeenkomen. Handig voor "vind herinneringen over X" waarbij X anders wordt omschreven.

GET /memory/by-tag

Toon herinneringen per tag.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/by-tag?tag=docker

GET /memory/related/:id

Vind herinneringen gerelateerd aan een specifieke herinnering (via gedeelde tags).

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/related/mem_001

Synchronisatie & Diff

GET /memory/diff

Incrementele synchronisatie — retourneert herinneringen die sinds een tijdstempel gewijzigd zijn.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/diff?since=1700000000"

Respons: { "added": [...], "updated": [...], "deleted": [...] }

POST /memory/sync

Pas een diff toe vanuit een andere instantie (voor self-hosted synchronisatie).

curl -X POST https://synapse.schaefer.zone/memory/sync \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"added": [...], "updated": [...], "deleted": [...]}'

Bulkbewerkingen

POST /memory/bulk-delete

Verwijder meerdere herinneringen op ID.

curl -X POST https://synapse.schaefer.zone/memory/bulk-delete \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids": ["mem_001", "mem_002", "mem_003"]}'

POST /memory/embed-batch

Genereer embeddings voor herinneringen die deze nog niet hebben (voor semantisch zoeken).

curl -X POST https://synapse.schaefer.zone/memory/embed-batch \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit": 100}'

GET /memory/embed-batch-status

Controleer de voortgang van embedding-generatie.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/embed-batch-status

Verificatie

Herinneringen hebben een verified-vlag. Door agents opgeslagen herinneringen zijn standaard niet geverifieerd (source=agent); door mensen opgeslagen herinneringen zijn geverifieerd (source=user).

POST /memory/verify

Markeer een herinnering als geverifieerd (vereist JWT, niet Mind Key).

curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \
  -H "Authorization: Bearer YOUR_JWT"

POST /memory/unverify

Markeer een herinnering als niet-geverifieerd (vereist JWT).

curl -X POST https://synapse.schaefer.zone/memory/mem_001/unverify \
  -H "Authorization: Bearer YOUR_JWT"

GET /memory/unverified

Toon herinneringen die wachten op menselijke verificatie.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/unverified?limit=100"

Statistieken & Audit

GET /memory/stats

Geaggregeerde statistieken voor de huidige mind.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/stats

Retourneert: { "total": 12, "verified": 10, "unverified": 2, "by_category": {...}, "by_priority": {...} }

GET /memory/audit

Auditlog van alle toestandswijzigende bewerkingen.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/audit?limit=100&action=store"

GET /memory/contradictions

Detecteer mogelijke tegenstrijdigheden in opgeslagen herinneringen.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/contradictions

GET /memory/expiring

Toon herinneringen met naderende vervaldatums.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/expiring?within=7d"

Health & Export

GET /memory/health

Snelle health check voor het memory-systeem.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/health

GET /memory/mind-export

Volledige JSON-export van alle herinneringen (voor back-up).

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/mind-export > backup.json

POST /memory/compact

Compacteer vergelijkbare herinneringen (automatische samenvatting).

curl -X POST https://synapse.schaefer.zone/memory/compact \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dry_run": true}'

Volgende stappen