# User & Minds API User & Minds API はアカウント管理を扱います。これらのエンドポイントはアカウントレベル(mind レベルではなく)で動作するため、Mind Key ではなく JWT 認証を使用します。 ## 認証エンドポイント ### POST /register 新規ユーザーアカウントを作成します。 ```bash 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" }' ``` レスポンス: ```json { "jwt": "eyJhbGci...", "user": { "id": "u_abc123", "email": "you@example.com", "display_name": "Michael", "created_at": "2026-06-27T..." } } ``` ### POST /login 既存アカウントにログインします。 ```bash 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 を返します — **すぐに保存してください**。一度しか表示されません。 ```bash 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" }' ``` レスポンス: ```json { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789", "created_at": "2026-06-27T..." } ``` > [!CRITICAL] > `mind_key` は一度しか表示されません。紛失した場合は再取得できず、mind を削除して新規作成する必要があります(保存された全メモリが失われます)。 ### GET /minds 現在のユーザーの全 mind を一覧表示します。 ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` レスポンス: ```json { "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 を完全に削除します。 ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` > [!WARNING] > mind の削除は**取り消せません**。その mind 内の全メモリ、タスク、チャット履歴、スクリプトが完全に失われます。バックアップが必要な場合は、事前に `GET /memory/mind-export` でエクスポートしてください。 ## マルチ mind パターン ほとんどのユーザーは、コンテキストを分離するために複数の mind を作成すると便利です。 ```bash # 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 を削除 ## 次のステップ - [Authentication](/docs/getting-started/authentication) — 完全な認証ガイド - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — 判断ガイド - [Sharing API](/docs/api/user) — 他のユーザーとの mind 共有