# User & Minds API User & Minds API xử lý quản lý tài khoản. Các endpoint này sử dụng xác thực JWT (không phải Mind Key) vì chúng hoạt động ở cấp tài khoản, không phải cấp mind. ## Endpoint xác thực ### POST /register Tạo tài khoản người dùng mới. ```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" }' ``` Phản hồi: ```json { "jwt": "eyJhbGci...", "user": { "id": "u_abc123", "email": "you@example.com", "display_name": "Michael", "created_at": "2026-06-27T..." } } ``` ### POST /login Đăng nhập vào tài khoản hiện có. ```bash curl -X POST https://synapse.schaefer.zone/login \ -H "Content-Type: application/json" \ -d '{ "email": "you@example.com", "password": "your-secure-password" }' ``` Phản hồi: giống như `/register`. ## Endpoint Minds ### POST /minds Tạo một mind mới. Trả về Mind Key — **lưu ngay lập tức**, nó chỉ hiển thị một lần. ```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" }' ``` Phản hồi: ```json { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789", "created_at": "2026-06-27T..." } ``` > [!CRITICAL] > `mind_key` chỉ hiển thị một lần. Nếu bạn mất nó, bạn không thể lấy lại — > bạn phải xóa mind và tạo mind mới (điều này mất tất cả bộ nhớ đã lưu). ### GET /minds Liệt kê tất cả mind của người dùng hiện tại. ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` Phản hồi: ```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 Xóa vĩnh viễn một mind. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` > [!WARNING] > Xóa mind là **không thể đảo ngược**. Tất cả bộ nhớ, tác vụ, lịch sử chat và > script trong mind đó sẽ mất vĩnh viễn. Xuất trước qua `GET /memory/mind-export` > nếu bạn cần sao lưu. ## Mẫu Multi-Mind Hầu hết người dùng được lợi từ việc có nhiều mind để giữ các ngữ cảnh tách biệt: ```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... ``` Sử dụng các Mind Key khác nhau trong các phiên LLM khác nhau để giữ ngữ cảnh tách biệt. ## Bảo mật tài khoản ### Yêu cầu mật khẩu - Tối thiểu 6 ký tự - Không có giới hạn tối đa (sử dụng trình quản lý mật khẩu) - Lưu dưới dạng bcrypt hash (không bao giờ plaintext) ### Hết hạn JWT JWT hết hạn sau **7 ngày**. Khi hết hạn, chỉ cần gọi lại `/login`. ### Bảo mật Mind Key Mind Key không bao giờ hết hạn. Nếu Mind Key bị xâm phạm: 1. Tạo mind mới qua `POST /minds` 2. Cập nhật cấu hình LLM với Mind Key mới 3. Xóa mind bị xâm phạm qua `DELETE /minds/:id` ## Bước tiếp theo - [Xác thực](/docs/getting-started/authentication) — hướng dẫn xác thực đầy đủ - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — hướng dẫn quyết định - [Sharing API](/docs/api/user) — chia sẻ mind với người dùng khác