Skip to main content

User & Minds API

アカウント管理 — 登録、ログイン、mind の作成・一覧・削除。JWT で保護。


User & Minds API

User & Minds API はアカウント管理を扱います。これらのエンドポイントはアカウントレベル(mind レベルではなく)で動作するため、Mind Key ではなく JWT 認証を使用します。

認証エンドポイント

POST /register

新規ユーザーアカウントを作成します。

curl -X POST https://synapse.schaefer.zone/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-secure-password",
    "display_name": "Michael"
  }'

レスポンス:

{
  "jwt": "eyJhbGci...",
  "user": {
    "id": "u_abc123",
    "email": "you@example.com",
    "display_name": "Michael",
    "created_at": "2026-06-27T..."
  }
}

POST /login

既存アカウントにログインします。

curl -X POST https://synapse.schaefer.zone/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-secure-password"
  }'

レスポンス:/register と同じ。

Minds エンドポイント

POST /minds

新しい mind を作成します。Mind Key を返します — すぐに保存してください。一度しか表示されません。

curl -X POST https://synapse.schaefer.zone/minds \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Work Mind",
    "description": "Job-related memories"
  }'

レスポンス:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
`mind_key` は一度しか表示されません。紛失した場合は再取得できず、mind を削除して新規作成する必要があります(保存された全メモリが失われます)。

GET /minds

現在のユーザーの全 mind を一覧表示します。

curl -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds

レスポンス:

{
  "minds": [
    {
      "id": "m_xyz789",
      "name": "Work Mind",
      "description": "Job-related memories",
      "created_at": "2026-06-27T...",
      "memory_count": 142,
      "last_activity": "2026-06-27T..."
    }
  ]
}

DELETE /minds/:id

mind を完全に削除します。

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
mind の削除は**取り消せません**。その mind 内の全メモリ、タスク、チャット履歴、スクリプトが完全に失われます。バックアップが必要な場合は、事前に `GET /memory/mind-export` でエクスポートしてください。

マルチ mind パターン

ほとんどのユーザーは、コンテキストを分離するために複数の mind を作成すると便利です。

# Create minds for different contexts
curl -X POST .../minds -d '{"name": "work", "description": "Job"}'
# → mind_key: mk_work...

curl -X POST .../minds -d '{"name": "personal", "description": "Personal life"}'
# → mind_key: mk_personal...

curl -X POST .../minds -d '{"name": "project-synapse", "description": "Synapse dev"}'
# → mind_key: mk_synapse...

異なる LLM セッションで異なる Mind Key を使用することで、コンテキストを分離できます。

アカウントセキュリティ

パスワード要件

  • 最低 6 文字
  • 上限なし(パスワードマネージャーの使用を推奨)
  • bcrypt ハッシュで保存(プレーンテキストにはなりません)

JWT の有効期限

JWT は 7 日後に期限切れになります。期限切れの場合は、再度 /login を呼び出してください。

Mind Key のセキュリティ

Mind Key は期限切れになりません。Mind Key が侵害された場合:

  1. POST /minds で新しい mind を作成
  2. LLM 設定を新しい Mind Key で更新
  3. DELETE /minds/:id で侵害された mind を削除

次のステップ