# API Variables L'API Variables est un magasin clé-valeur rapide pour l'état éphémère. Contrairement aux mémoires (qui sont indexées, recherchables et structurées), les variables sont optimisées pour un accès lecture/écriture rapide — parfaites pour les compteurs, les drapeaux et l'état de session. ## Endpoints ### POST /var Définit ou met à jour une variable. ```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 Récupère une seule variable. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var/last_session_at ``` Réponse : ```json { "key": "last_session_at", "value": "2026-06-27T14:00:00Z", "updated_at": "..." } ``` ### GET /var Liste toutes les variables. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var ``` ### DELETE /var/:key Supprime une variable. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var/last_session_at ``` ## Quand utiliser Variables ou Memory | Cas d'usage | Utiliser | |----------|-----| | Nom d'utilisateur, préférences | Memory (recherchable, structuré) | | Horodatage de dernière session | Variable (état éphémère) | | Compteur (ex. messages envoyés) | Variable (mises à jour fréquentes) | | État de workflow (« étape 3 sur 5 faite ») | Variable (transitoire) | | Notes de projet longues | Memory (indexé en texte intégral) | | Scripts réutilisables | Script store (nommé, versionné) | ## Schémas courants ### Suivre la dernière session ```bash # En fin de session curl -X POST .../var -d '{"key": "last_session_at", "value": "'$(date -Iseconds)'"}' # En début de session LAST=$(curl .../var/last_session_at | jq -r .value) curl .../memory/diff?since=$(date -d "$LAST" +%s) ``` ### Schéma de compteur ```bash # Incrémenter N=$(curl .../var/api_calls | jq -r .value) curl -X POST .../var -d "{\"key\": \"api_calls\", \"value\": $((N+1))}" ``` ### Drapeaux de fonctionnalité ```bash curl -X POST .../var -d '{"key": "feature_x_enabled", "value": "true"}' # Vérifier ENABLED=$(curl .../var/feature_x_enabled | jq -r .value) if [ "$ENABLED" = "true" ]; then ... fi ``` ## Prochaines étapes - [API Memory](/docs/api/memory) — pour les données structurées et recherchables - [Cron & Scheduler](/docs/api/cron)