Skip to main content

User और Minds API

खाता प्रबंधन — पंजीकरण, लॉगिन, minds बनाएँ, minds की सूची बनाएँ, minds हटाएँ। JWT-सुरक्षित।


User और Minds API

User और Minds API खाता प्रबंधन को संभालता है। ये एंडपॉइंट्स JWT प्रमाणीकरण का उपयोग करते हैं (Mind Key नहीं) क्योंकि ये mind स्तर पर नहीं, बल्कि खाता स्तर पर काम करते हैं।

प्रमाणीकरण एंडपॉइंट्स

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

वर्तमान उपयोगकर्ता के लिए सभी minds की सूची बनाएँ।

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 पैटर्न

अधिकांश उपयोगकर्ता संदर्भों को अलग रखने के लिए कई minds से लाभान्वित होते हैं:

# 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 को हटाएँ

अगले कदम