# User और Minds API User और Minds API खाता प्रबंधन को संभालता है। ये एंडपॉइंट्स JWT प्रमाणीकरण का उपयोग करते हैं (Mind Key नहीं) क्योंकि ये mind स्तर पर नहीं, बल्कि खाता स्तर पर काम करते हैं। ## प्रमाणीकरण एंडपॉइंट्स ### 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 वर्तमान उपयोगकर्ता के लिए सभी minds की सूची बनाएँ। ```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 पैटर्न अधिकांश उपयोगकर्ता संदर्भों को अलग रखने के लिए कई minds से लाभान्वित होते हैं: ```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 Keys का उपयोग करें। ## खाता सुरक्षा ### पासवर्ड आवश्यकताएँ - न्यूनतम 6 अक्षर - कोई अधिकतम नहीं (पासवर्ड मैनेजर का उपयोग करें) - bcrypt हैश के रूप में संग्रहीत (कभी सादा टेक्स्ट नहीं) ### JWT समाप्ति JWT **7 दिनों** के बाद समाप्त हो जाते हैं। समाप्त होने पर, बस `/login` फिर से कॉल करें। ### Mind Key सुरक्षा Mind Keys कभी समाप्त नहीं होते। यदि कोई Mind Key समझौता हो जाता है: 1. `POST /minds` के माध्यम से नया mind बनाएँ 2. नए Mind Key के साथ अपना LLM config अपडेट करें 3. `DELETE /minds/:id` के माध्यम से समझौता किए गए mind को हटाएँ ## अगले कदम - [प्रमाणीकरण](/docs/getting-started/authentication) — पूर्ण प्रमाणीकरण गाइड - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — निर्णय गाइड - [Sharing API](/docs/api/user) — अन्य उपयोगकर्ताओं के साथ minds साझा करें