# Variables API Variables API — це швидке сховище ключ-значення для ефемерного стану. На відміну від спогадів (які індексуються, доступні для пошуку та структуровані), змінні оптимізовані для швидкого читання/запису — ідеально для лічильників, прапорців та стану сесії. ## Кінцеві точки ### POST /var Встановити або оновити змінну. ```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 Отримати одну змінну. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var/last_session_at ``` Відповідь: ```json { "key": "last_session_at", "value": "2026-06-27T14:00:00Z", "updated_at": "..." } ``` ### GET /var Список усіх змінних. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var ``` ### DELETE /var/:key Видалити змінну. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/var/last_session_at ``` ## Коли використовувати змінні, а коли пам'ять | Варіант використання | Використовувати | |----------|-----| | Ім'я користувача, уподобання | Memory (доступно для пошуку, структуровано) | | Мітка часу останньої сесії | Variable (ефемерний стан) | | Лічильник (напр. надіслані повідомлення) | Variable (часті оновлення) | | Стан робочого процесу («крок 3 з 5 виконано») | Variable (перехідний) | | Розгорнуті нотатки про проєкт | Memory (повнотекстовий індекс) | | Багаторазові скрипти | Script store (іменовані, версіоновані) | ## Типові шаблони ### Відстеження останньої сесії ```bash # Наприкінці сесії curl -X POST .../var -d '{"key": "last_session_at", "value": "'$(date -Iseconds)'"}' # На початку сесії LAST=$(curl .../var/last_session_at | jq -r .value) curl .../memory/diff?since=$(date -d "$LAST" +%s) ``` ### Шаблон лічильника ```bash # Інкремент N=$(curl .../var/api_calls | jq -r .value) curl -X POST .../var -d "{\"key\": \"api_calls\", \"value\": $((N+1))}" ``` ### Прапорці функцій ```bash curl -X POST .../var -d '{"key": "feature_x_enabled", "value": "true"}' # Перевірка ENABLED=$(curl .../var/feature_x_enabled | jq -r .value) if [ "$ENABLED" = "true" ]; then ... fi ``` ## Наступні кроки - [Memory API](/docs/api/memory) — для структурованих даних, придатних для пошуку - [Cron та планувальник](/docs/api/cron)