Skip to main content

User & Minds API

Manajemen akun — daftar, login, buat mind, daftar mind, hapus mind. Dilindungi JWT.


User & Minds API

User & Minds API menangani manajemen akun. Endpoint ini menggunakan autentikasi JWT (bukan Mind Key) karena beroperasi di level akun, bukan level mind.

Endpoint Autentikasi

POST /register

Membuat akun pengguna baru.

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"
  }'

Respons:

{
  "jwt": "eyJhbGci...",
  "user": {
    "id": "u_abc123",
    "email": "you@example.com",
    "display_name": "Michael",
    "created_at": "2026-06-27T..."
  }
}

POST /login

Masuk ke akun yang sudah ada.

curl -X POST https://synapse.schaefer.zone/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-secure-password"
  }'

Respons: sama dengan /register.

Endpoint Minds

POST /minds

Membuat mind baru. Mengembalikan Mind Key — simpan segera, hanya ditampilkan sekali.

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"
  }'

Respons:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
`mind_key` hanya ditampilkan sekali. Jika Anda kehilangannya, Anda tidak dapat mengambilnya kembali — Anda harus menghapus mind dan membuat yang baru (yang akan kehilangan semua memori yang disimpan).

GET /minds

Mendaftar semua mind untuk pengguna saat ini.

curl -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds

Respons:

{
  "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

Menghapus mind secara permanen.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
Menghapus mind bersifat **ireversibel**. Semua memori, tugas, riwayat chat, dan skrip dalam mind tersebut hilang secara permanen. Ekspor terlebih dahulu melalui `GET /memory/mind-export` jika Anda memerlukan backup.

Pola Multi-Mind

Sebagian besar pengguna mendapat manfaat dari beberapa mind untuk menjaga konteks tetap terisolasi:

# Buat mind untuk konteks berbeda
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...

Gunakan Mind Key yang berbeda dalam sesi LLM yang berbeda untuk menjaga konteks tetap terisolasi.

Keamanan Akun

Persyaratan kata sandi

  • Minimal 6 karakter
  • Tidak ada maksimum (gunakan pengelola kata sandi)
  • Disimpan sebagai hash bcrypt (tidak pernah plaintext)

Kedaluwarsa JWT

JWT kedaluwarsa setelah 7 hari. Saat kedaluwarsa, cukup panggil /login lagi.

Keamanan Mind Key

Mind Key tidak pernah kedaluwarsa. Jika Mind Key terkompromi:

  1. Buat mind baru melalui POST /minds
  2. Perbarui konfigurasi LLM Anda dengan Mind Key baru
  3. Hapus mind yang terkompromi melalui DELETE /minds/:id

Langkah Berikutnya