Skip to main content

User 및 Minds API

계정 관리 — 가입, 로그인, 마인드 생성, 마인드 나열, 마인드 삭제. JWT로 보호됨.


User 및 Minds API

User 및 Minds API는 계정 관리를 처리합니다. 이 엔드포인트들은 계정 수준에서 작동하므로 (마인드 수준이 아님) Mind Key가 아닌 JWT 인증을 사용합니다.

인증 엔드포인트

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와 동일.

마인드 엔드포인트

POST /minds

새 마인드를 생성합니다. 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`는 한 번만 표시됩니다. 분실하면 복구할 수 없으며 — 마인드를 삭제하고 새로 만들어야 합니다 (저장된 모든 메모리가 손실됨).

GET /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

마인드를 영구적으로 삭제합니다.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
마인드 삭제는 **되돌릴 수 없습니다**. 해당 마인드의 모든 메모리, 작업, 채팅 기록, 스크립트가 영구적으로 손실됩니다. 백업이 필요한 경우 먼저 `GET /memory/mind-export`로 내보내십시오.

다중 마인드 패턴

대부분의 사용자는 컨텍스트를 격리하기 위해 여러 마인드를 사용하면 이점이 있습니다:

# 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 Key를 사용하여 컨텍스트를 격리하십시오.

계정 보안

비밀번호 요구 사항

  • 최소 6자
  • 최대값 없음 (비밀번호 관리자 사용)
  • bcrypt 해시로 저장 (평문 저장 안 함)

JWT 만료

JWT는 7일 후에 만료됩니다. 만료되면 /login을 다시 호출하십시오.

Mind Key 보안

Mind Key는 만료되지 않습니다. Mind Key가 노출된 경우:

  1. POST /minds로 새 마인드 생성
  2. 새 Mind Key로 LLM 구성 업데이트
  3. DELETE /minds/:id로 노출된 마인드 삭제

다음 단계