User & Minds API
การจัดการบัญชี — สมัคร, ล็อกอิน, สร้าง mind, รายการ mind, ลบ mind ป้องกันด้วย JWT
User & Minds API
User & Minds API จัดการบัญชี endpoint เหล่านี้ใช้ JWT authentication (ไม่ใช่ Mind Key) เพราะทำงานในระดับบัญชี ไม่ใช่ระดับ mind
Endpoint ยืนยันตัวตน
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"
}'Response:
{
"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"
}'Response: เหมือนกับ /register
Minds Endpoints
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"
}'Response:
{
"id": "m_xyz789",
"name": "Work Mind",
"description": "Job-related memories",
"mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
"created_at": "2026-06-27T..."
}`mind_key` แสดงเพียงครั้งเดียว หากคุณสูญเสียจะดึงคืนไม่ได้ — ต้องลบ mind และสร้างใหม่ (ซึ่งจะสูญเสีย memory ที่จัดเก็บไว้ทั้งหมด)
GET /minds
รายการ mind ทั้งหมดของผู้ใช้ปัจจุบัน
curl -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/mindsResponse:
{
"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 **เป็นการกระทำที่ย้อนกลับไม่ได้** memory, task, chat history และ script ทั้งหมดใน mind นั้นจะสูญหายอย่างถาวร export ก่อนผ่าน `GET /memory/mind-export` หากคุณต้องการสำรองข้อมูล
รูปแบบ Multi-Mind
ผู้ใช้ส่วนใหญ่ได้ประโยชน์จากหลาย mind เพื่อแยก context:
# 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...ใช้ Mind Key ต่างกันใน LLM session ต่างกันเพื่อแยก context
ความปลอดภัยบัญชี
ข้อกำหนดรหัสผ่าน
- ขั้นต่ำ 6 ตัวอักษร
- ไม่จำกัดความยาวสูงสุด (ใช้ password manager)
- เก็บเป็น bcrypt hash (ไม่เก็บ plaintext เด็ดขาด)
การหมดอายุของ JWT
JWT หมดอายุหลัง 7 วัน เมื่อหมดอายุเรียก /login อีกครั้ง
ความปลอดภัยของ Mind Key
Mind Key ไม่มีวันหมดอายุ หาก Mind Key ถูกโจมตี:
- สร้าง mind ใหม่ผ่าน
POST /minds - อัปเดต config ของ LLM ด้วย Mind Key ใหม่
- ลบ mind ที่ถูกโจมตีผ่าน
DELETE /minds/:id
ขั้นตอนถัดไป
- Authentication — คู่มือ auth แบบเต็ม
- Mind Key vs JWT — คู่มือการตัดสินใจ
- Sharing API — แชร์ mind กับผู้ใช้อื่น