Cron & Scheduler
定期実行される API 呼び出しのスケジュール設定 — 定期的な同期やリマインダーに最適な Cron ジョブ。
Cron & Scheduler
Cron API は Synapse エンドポイント(または外部 HTTPS エンドポイント)に対する定期 HTTP 呼び出しをスケジュール設定できる API です。定期同期、リマインダー、メンテナンスタスクに最適です。
エンドポイント
POST /cron
スケジュールタスクを作成します。
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"}
}'レスポンス:
{
"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
すべてのスケジュールタスクを一覧表示します。
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/cronDELETE /cron/:id
スケジュールタスクを削除します。
curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/cron/cron_001PUT /cron/:id/toggle
タスクを削除せずに有効化/無効化を切り替えます。
curl -X PUT -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/cron/cron_001/toggleスケジュール構文
標準 Cron(5 フィールド)
┌───── minute (0-59)
│ ┌───── hour (0-23)
│ │ ┌───── day of month (1-31)
│ │ │ ┌───── month (1-12)
│ │ │ │ ┌───── day of week (0-6, 0=Sunday)
│ │ │ │ │
* * * * *例:
| Schedule | 意味 |
|---|---|
0 * * * * |
毎時 |
*/15 * * * * |
15 分ごと |
0 9 * * 1-5 |
平日の午前 9 時 |
0 0 * * 0 |
毎週日曜日の深夜 |
0 0 1 * * |
毎月 1 日の深夜 |
整数間隔(秒)
単純な間隔の場合は整数を指定します。
{ "schedule": "300" } // Every 5 minutesエンドポイントの制限
エンドポイントは以下を指す `http://` または `https://` URL でなければなりません:
これは、侵害された mind が内部サービスに対してリクエストをスケジュールする SSRF 攻撃を防ぐためです。
よくあるパターン
毎時のメモリ再取得(LLM エージェント向け)
curl -X POST .../cron -d '{
"schedule": "0 * * * *",
"endpoint": "https://synapse.schaefer.zone/memory/recall",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'毎日のバックアップ
curl -X POST .../cron -d '{
"schedule": "0 2 * * *",
"endpoint": "https://synapse.schaefer.zone/memory/mind-export",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'定期的なチャットポーリング(5 分ごと)
curl -X POST .../cron -d '{
"schedule": "300",
"endpoint": "https://synapse.schaefer.zone/chat/poll",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'週次レポートトリガー
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"}
}'