{"title":"User और Minds API","slug":"user","category":"api","summary":"खाता प्रबंधन — पंजीकरण, लॉगिन, minds बनाएँ, minds की सूची बनाएँ, minds हटाएँ। JWT-सुरक्षित।","audience":["human","llm"],"tags":["api","user","account","minds","jwt"],"difficulty":"beginner","updated":"2026-06-27","word_count":341,"read_minutes":2,"llm_context":"Auth: JWT (from /register or /login)\nRegister: POST /register { email, password, display_name? } → returns JWT\nLogin: POST /login { email, password } → returns JWT\nCreate mind: POST /minds { name, description? } → returns mind_key (shown once!)\nList minds: GET /minds\nDelete mind: DELETE /minds/:id (irreversible — deletes all memories!)\nJWT expires after 7 days. Mind Key never expires.\nMind Key is shown only once at creation — save it permanently.\n","lang":"hi","translated":true,"requested_lang":"hi","content_markdown":"\n# User और Minds API\n\nUser और Minds API खाता प्रबंधन को संभालता है। ये एंडपॉइंट्स JWT प्रमाणीकरण का उपयोग करते हैं (Mind Key नहीं) क्योंकि ये mind स्तर पर नहीं, बल्कि खाता स्तर पर काम करते हैं।\n\n## प्रमाणीकरण एंडपॉइंट्स\n\n### POST /register\n\nनया उपयोगकर्ता खाता बनाएँ।\n\n```bash\ncurl -X POST https://synapse.schaefer.zone/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"email\": \"you@example.com\",\n    \"password\": \"your-secure-password\",\n    \"display_name\": \"Michael\"\n  }'\n```\n\nप्रतिक्रिया:\n\n```json\n{\n  \"jwt\": \"eyJhbGci...\",\n  \"user\": {\n    \"id\": \"u_abc123\",\n    \"email\": \"you@example.com\",\n    \"display_name\": \"Michael\",\n    \"created_at\": \"2026-06-27T...\"\n  }\n}\n```\n\n### POST /login\n\nमौजूदा खाते में लॉगिन करें।\n\n```bash\ncurl -X POST https://synapse.schaefer.zone/login \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"email\": \"you@example.com\",\n    \"password\": \"your-secure-password\"\n  }'\n```\n\nप्रतिक्रिया: `/register` के समान।\n\n## Minds एंडपॉइंट्स\n\n### POST /minds\n\nनया mind बनाएँ। Mind Key लौटाता है — **इसे तुरंत सहेजें**, यह केवल एक बार दिखाया जाता है।\n\n```bash\ncurl -X POST https://synapse.schaefer.zone/minds \\\n  -H \"Authorization: Bearer YOUR_JWT\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"Work Mind\",\n    \"description\": \"Job-related memories\"\n  }'\n```\n\nप्रतिक्रिया:\n\n```json\n{\n  \"id\": \"m_xyz789\",\n  \"name\": \"Work Mind\",\n  \"description\": \"Job-related memories\",\n  \"mind_key\": \"mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789\",\n  \"created_at\": \"2026-06-27T...\"\n}\n```\n\n> [!CRITICAL]\n> `mind_key` केवल एक बार दिखाया जाता है। यदि आप इसे खो देते हैं, तो आप इसे पुनः प्राप्त नहीं कर सकते — आपको mind हटाकर नया बनाना होगा (जिससे सभी स्टोर की गई मेमोरीज़ खो जाती हैं)।\n\n### GET /minds\n\nवर्तमान उपयोगकर्ता के लिए सभी minds की सूची बनाएँ।\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_JWT\" \\\n     https://synapse.schaefer.zone/minds\n```\n\nप्रतिक्रिया:\n\n```json\n{\n  \"minds\": [\n    {\n      \"id\": \"m_xyz789\",\n      \"name\": \"Work Mind\",\n      \"description\": \"Job-related memories\",\n      \"created_at\": \"2026-06-27T...\",\n      \"memory_count\": 142,\n      \"last_activity\": \"2026-06-27T...\"\n    }\n  ]\n}\n```\n\n### DELETE /minds/:id\n\nMind को स्थायी रूप से हटाएँ।\n\n```bash\ncurl -X DELETE -H \"Authorization: Bearer YOUR_JWT\" \\\n     https://synapse.schaefer.zone/minds/m_xyz789\n```\n\n> [!WARNING]\n> Mind हटाना **अपरिवर्तनीय** है। उस mind में सभी मेमोरीज़, कार्य, चैट इतिहास, और स्क्रिप्ट्स स्थायी रूप से खो जाते हैं। यदि आपको बैकअप चाहिए तो पहले `GET /memory/mind-export` के माध्यम से निर्यात करें।\n\n## मल्टी-Mind पैटर्न\n\nअधिकांश उपयोगकर्ता संदर्भों को अलग रखने के लिए कई minds से लाभान्वित होते हैं:\n\n```bash\n# Create minds for different contexts\ncurl -X POST .../minds -d '{\"name\": \"work\", \"description\": \"Job\"}'\n# → mind_key: mk_work...\n\ncurl -X POST .../minds -d '{\"name\": \"personal\", \"description\": \"Personal life\"}'\n# → mind_key: mk_personal...\n\ncurl -X POST .../minds -d '{\"name\": \"project-synapse\", \"description\": \"Synapse dev\"}'\n# → mind_key: mk_synapse...\n```\n\nसंदर्भों को अलग रखने के लिए विभिन्न LLM सत्रों में विभिन्न Mind Keys का उपयोग करें।\n\n## खाता सुरक्षा\n\n### पासवर्ड आवश्यकताएँ\n\n- न्यूनतम 6 अक्षर\n- कोई अधिकतम नहीं (पासवर्ड मैनेजर का उपयोग करें)\n- bcrypt हैश के रूप में संग्रहीत (कभी सादा टेक्स्ट नहीं)\n\n### JWT समाप्ति\n\nJWT **7 दिनों** के बाद समाप्त हो जाते हैं। समाप्त होने पर, बस `/login` फिर से कॉल करें।\n\n### Mind Key सुरक्षा\n\nMind Keys कभी समाप्त नहीं होते। यदि कोई Mind Key समझौता हो जाता है:\n\n1. `POST /minds` के माध्यम से नया mind बनाएँ\n2. नए Mind Key के साथ अपना LLM config अपडेट करें\n3. `DELETE /minds/:id` के माध्यम से समझौता किए गए mind को हटाएँ\n\n## अगले कदम\n\n- [प्रमाणीकरण](/docs/getting-started/authentication) — पूर्ण प्रमाणीकरण गाइड\n- [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — निर्णय गाइड\n- [Sharing API](/docs/api/user) — अन्य उपयोगकर्ताओं के साथ minds साझा करें\n","content_html":"<h1>User और Minds API</h1>\n<p>User और Minds API खाता प्रबंधन को संभालता है। ये एंडपॉइंट्स JWT प्रमाणीकरण का उपयोग करते हैं (Mind Key नहीं) क्योंकि ये mind स्तर पर नहीं, बल्कि खाता स्तर पर काम करते हैं।</p>\n<h2>प्रमाणीकरण एंडपॉइंट्स</h2>\n<h3>POST /register</h3>\n<p>नया उपयोगकर्ता खाता बनाएँ।</p>\n<pre><code class=\"hljs language-bash\">curl -X POST https://synapse.schaefer.zone/register \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{\n    &quot;email&quot;: &quot;you@example.com&quot;,\n    &quot;password&quot;: &quot;your-secure-password&quot;,\n    &quot;display_name&quot;: &quot;Michael&quot;\n  }&#x27;</span></code></pre><p>प्रतिक्रिया:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;jwt&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;eyJhbGci...&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;user&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">{</span>\n    <span class=\"hljs-attr\">&quot;id&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;u_abc123&quot;</span><span class=\"hljs-punctuation\">,</span>\n    <span class=\"hljs-attr\">&quot;email&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;you@example.com&quot;</span><span class=\"hljs-punctuation\">,</span>\n    <span class=\"hljs-attr\">&quot;display_name&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Michael&quot;</span><span class=\"hljs-punctuation\">,</span>\n    <span class=\"hljs-attr\">&quot;created_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span>\n  <span class=\"hljs-punctuation\">}</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>POST /login</h3>\n<p>मौजूदा खाते में लॉगिन करें।</p>\n<pre><code class=\"hljs language-bash\">curl -X POST https://synapse.schaefer.zone/login \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{\n    &quot;email&quot;: &quot;you@example.com&quot;,\n    &quot;password&quot;: &quot;your-secure-password&quot;\n  }&#x27;</span></code></pre><p>प्रतिक्रिया: <code>/register</code> के समान।</p>\n<h2>Minds एंडपॉइंट्स</h2>\n<h3>POST /minds</h3>\n<p>नया mind बनाएँ। Mind Key लौटाता है — <strong>इसे तुरंत सहेजें</strong>, यह केवल एक बार दिखाया जाता है।</p>\n<pre><code class=\"hljs language-bash\">curl -X POST https://synapse.schaefer.zone/minds \\\n  -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_JWT&quot;</span> \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{\n    &quot;name&quot;: &quot;Work Mind&quot;,\n    &quot;description&quot;: &quot;Job-related memories&quot;\n  }&#x27;</span></code></pre><p>प्रतिक्रिया:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;id&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;m_xyz789&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;name&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Work Mind&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;description&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Job-related memories&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;mind_key&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;created_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><div class=\"callout callout-critical\">`mind_key` केवल एक बार दिखाया जाता है। यदि आप इसे खो देते हैं, तो आप इसे पुनः प्राप्त नहीं कर सकते — आपको mind हटाकर नया बनाना होगा (जिससे सभी स्टोर की गई मेमोरीज़ खो जाती हैं)।</div><h3>GET /minds</h3>\n<p>वर्तमान उपयोगकर्ता के लिए सभी minds की सूची बनाएँ।</p>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_JWT&quot;</span> \\\n     https://synapse.schaefer.zone/minds</code></pre><p>प्रतिक्रिया:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;minds&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span>\n    <span class=\"hljs-punctuation\">{</span>\n      <span class=\"hljs-attr\">&quot;id&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;m_xyz789&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;name&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Work Mind&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;description&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Job-related memories&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;created_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;memory_count&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-number\">142</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;last_activity&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span>\n    <span class=\"hljs-punctuation\">}</span>\n  <span class=\"hljs-punctuation\">]</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>DELETE /minds/:id</h3>\n<p>Mind को स्थायी रूप से हटाएँ।</p>\n<pre><code class=\"hljs language-bash\">curl -X DELETE -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_JWT&quot;</span> \\\n     https://synapse.schaefer.zone/minds/m_xyz789</code></pre><div class=\"callout callout-warn\">Mind हटाना **अपरिवर्तनीय** है। उस mind में सभी मेमोरीज़, कार्य, चैट इतिहास, और स्क्रिप्ट्स स्थायी रूप से खो जाते हैं। यदि आपको बैकअप चाहिए तो पहले `GET /memory/mind-export` के माध्यम से निर्यात करें।</div><h2>मल्टी-Mind पैटर्न</h2>\n<p>अधिकांश उपयोगकर्ता संदर्भों को अलग रखने के लिए कई minds से लाभान्वित होते हैं:</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Create minds for different contexts</span>\ncurl -X POST .../minds -d <span class=\"hljs-string\">&#x27;{&quot;name&quot;: &quot;work&quot;, &quot;description&quot;: &quot;Job&quot;}&#x27;</span>\n<span class=\"hljs-comment\"># → mind_key: mk_work...</span>\n\ncurl -X POST .../minds -d <span class=\"hljs-string\">&#x27;{&quot;name&quot;: &quot;personal&quot;, &quot;description&quot;: &quot;Personal life&quot;}&#x27;</span>\n<span class=\"hljs-comment\"># → mind_key: mk_personal...</span>\n\ncurl -X POST .../minds -d <span class=\"hljs-string\">&#x27;{&quot;name&quot;: &quot;project-synapse&quot;, &quot;description&quot;: &quot;Synapse dev&quot;}&#x27;</span>\n<span class=\"hljs-comment\"># → mind_key: mk_synapse...</span></code></pre><p>संदर्भों को अलग रखने के लिए विभिन्न LLM सत्रों में विभिन्न Mind Keys का उपयोग करें।</p>\n<h2>खाता सुरक्षा</h2>\n<h3>पासवर्ड आवश्यकताएँ</h3>\n<ul>\n<li>न्यूनतम 6 अक्षर</li>\n<li>कोई अधिकतम नहीं (पासवर्ड मैनेजर का उपयोग करें)</li>\n<li>bcrypt हैश के रूप में संग्रहीत (कभी सादा टेक्स्ट नहीं)</li>\n</ul>\n<h3>JWT समाप्ति</h3>\n<p>JWT <strong>7 दिनों</strong> के बाद समाप्त हो जाते हैं। समाप्त होने पर, बस <code>/login</code> फिर से कॉल करें।</p>\n<h3>Mind Key सुरक्षा</h3>\n<p>Mind Keys कभी समाप्त नहीं होते। यदि कोई Mind Key समझौता हो जाता है:</p>\n<ol>\n<li><code>POST /minds</code> के माध्यम से नया mind बनाएँ</li>\n<li>नए Mind Key के साथ अपना LLM config अपडेट करें</li>\n<li><code>DELETE /minds/:id</code> के माध्यम से समझौता किए गए mind को हटाएँ</li>\n</ol>\n<h2>अगले कदम</h2>\n<ul>\n<li><a href=\"/docs/getting-started/authentication\">प्रमाणीकरण</a> — पूर्ण प्रमाणीकरण गाइड</li>\n<li><a href=\"/docs/getting-started/mind-key-vs-jwt\">Mind Key vs JWT</a> — निर्णय गाइड</li>\n<li><a href=\"/docs/api/user\">Sharing API</a> — अन्य उपयोगकर्ताओं के साथ minds साझा करें</li>\n</ul>\n","urls":{"html":"/docs/api/user","text":"/docs/api/user?format=text","json":"/docs/api/user?format=json","llm":"/docs/api/user?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}