# Cron & Scheduler De Cron API stelt u in staat terugkerende HTTP-aanroepen naar Synapse-eindpunten (of externe HTTPS-eindpunten) in te plannen. Perfect voor periodieke synchronisatie, herinneringen en onderhoudstaken. ## Eindpunten ### POST /cron Maak een geplande taak aan. ```bash curl -X POST https://synapse.schaefer.zone/cron \ -H "Authorization: Bearer YOUR_MIND_KEY" \ -H "Content-Type: application/json" \ -d '{ "schedule": "0 * * * *", "endpoint": "https://synapse.schaefer.zone/memory/recall", "method": "GET", "headers": {"Authorization": "Bearer YOUR_MIND_KEY"} }' ``` Respons: ```json { "id": "cron_001", "schedule": "0 * * * *", "endpoint": "https://synapse.schaefer.zone/memory/recall", "method": "GET", "enabled": true, "next_run": "2026-06-27T13:00:00Z", "created_at": "2026-06-27T..." } ``` ### GET /cron Toon alle geplande taken. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/cron ``` ### DELETE /cron/:id Verwijder een geplande taak. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/cron/cron_001 ``` ### PUT /cron/:id/toggle Schakel een taak in of uit zonder deze te verwijderen. ```bash curl -X PUT -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/cron/cron_001/toggle ``` ## Schema-syntaxis ### Standaard cron (5 velden) ``` ┌───── minute (0-59) │ ┌───── hour (0-23) │ │ ┌───── day of month (1-31) │ │ │ ┌───── month (1-12) │ │ │ │ ┌───── day of week (0-6, 0=Sunday) │ │ │ │ │ * * * * * ``` Voorbeelden: | Schema | Betekenis | |--------|-----------| | `0 * * * *` | Elk uur | | `*/15 * * * *` | Elke 15 minuten | | `0 9 * * 1-5` | Doorweektags om 9 uur 's ochtends | | `0 0 * * 0` | Elke zondag om middernacht | | `0 0 1 * *` | De eerste van elke maand om middernacht | ### Gehele interval (seconden) Voor eenvoudige intervallen geeft u een geheel getal op: ```json { "schedule": "300" } // Elke 5 minuten ``` ## Eindpuntbeperkingen > [!WARNING] > Eindpunten moeten `http://`- of `https://`-URL's zijn die verwijzen naar: > - Dezelfde Synapse-instantie (bijv. `http://synapse:12800/memory/recall`) > - Openbare HTTPS-URL's (geen privé-IP's, geen localhost, geen metadata-IP's) Dit voorkomt SSRF-aanvallen waarbij een gecompromitteerde mind verzoeken naar interne services kan inplannen. ## Veelvoorkomende patronen ### Elk uur geheugen ophalen (voor LLM-agents) ```bash curl -X POST .../cron -d '{ "schedule": "0 * * * *", "endpoint": "https://synapse.schaefer.zone/memory/recall", "method": "GET", "headers": {"Authorization": "Bearer YOUR_MIND_KEY"} }' ``` ### Dagelijkse back-up ```bash curl -X POST .../cron -d '{ "schedule": "0 2 * * *", "endpoint": "https://synapse.schaefer.zone/memory/mind-export", "method": "GET", "headers": {"Authorization": "Bearer YOUR_MIND_KEY"} }' ``` ### Periodieke chat-poll (elke 5 minuten) ```bash curl -X POST .../cron -d '{ "schedule": "300", "endpoint": "https://synapse.schaefer.zone/chat/poll", "method": "GET", "headers": {"Authorization": "Bearer YOUR_MIND_KEY"} }' ``` ### Wekelijkse rapportage-trigger ```bash curl -X POST .../cron -d '{ "schedule": "0 9 * * 1", "endpoint": "https://my-app.com/weekly-report", "method": "POST", "body": "{\"mind_id\": \"m_xyz789\"}", "headers": {"Content-Type": "application/json", "X-API-Key": "my-secret"} }' ``` ## Volgende stappen - [Variables API](/docs/api/variables) - [Webhooks API](/docs/api/webhooks)