# Variables API De Variables API is een snelle key-value-opslag voor efemere staat. In tegenstelling tot herinneringen (die geïndexeerd, doorzoekbaar en gestructureerd zijn), zijn variabelen geoptimaliseerd voor snelle lees/schrijftoegang — perfect voor tellers, vlaggen en sessiestaat. ## Eindpunten ### POST /var Stel een variabele in of werk deze bij. ```bash curl -X POST https://synapse.schaefer.zone/var \ -H "Authorization: Bearer YOUR_MIND_KEY" \ -H "Content-Type: application/json" \ -d '{"key": "last_session_at", "value": "2026-06-27T14:00:00Z"}' ``` ### GET /var/:key Haal één variabele op. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var/last_session_at ``` Respons: ```json { "key": "last_session_at", "value": "2026-06-27T14:00:00Z", "updated_at": "..." } ``` ### GET /var Toon alle variabelen. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var ``` ### DELETE /var/:key Verwijder een variabele. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var/last_session_at ``` ## Wanneer variabelen versus memory gebruiken | Gebruik | Gebruik | |---------|---------| | Gebruikersnaam, voorkeuren | Memory (doorzoekbaar, gestructureerd) | | Laatste sessie-tijdstempel | Variable (efemere staat) | | Teller (bijv. verzonden berichten) | Variable (veel updates) | | Workflow-staat ("stap 3 van 5 klaar") | Variable (tijdelijk) | | Lange projectnotities | Memory (volledige-tekst geïndexeerd) | | Herbruikbare scripts | Script store (benoemd, van versie voorzien) | ## Veelvoorkomende patronen ### Laatste sessie bijhouden ```bash # Aan einde van sessie curl -X POST .../var -d '{"key": "last_session_at", "value": "'$(date -Iseconds)'"}' # Aan begin van sessie LAST=$(curl .../var/last_session_at | jq -r .value) curl .../memory/diff?since=$(date -d "$LAST" +%s) ``` ### Teller-patroon ```bash # Verhoog N=$(curl .../var/api_calls | jq -r .value) curl -X POST .../var -d "{\"key\": \"api_calls\", \"value\": $((N+1))}" ``` ### Feature flags ```bash curl -X POST .../var -d '{"key": "feature_x_enabled", "value": "true"}' # Controleer ENABLED=$(curl .../var/feature_x_enabled | jq -r .value) if [ "$ENABLED" = "true" ]; then ... fi ``` ## Volgende stappen - [Memory API](/docs/api/memory) — voor gestructureerde, doorzoekbare data - [Cron & Scheduler](/docs/api/cron)