API 명세 (REST + WebSocket)

/api/v1/* · JSON · JWT Bearer

26

REST 엔드포인트 전체

분류엔드포인트메서드설명
인증/api/v1/auth/send-codePOST이메일 인증코드 발송
/api/v1/auth/verify-codePOST코드 검증
/api/v1/auth/registerPOST가입 완료
/api/v1/auth/loginPOST로그인 → JWT
/api/v1/auth/refreshPOST토큰 갱신
/api/v1/auth/meGET본인 정보
프로필/api/v1/profileGET/PUT프로필 조회/수정
/api/v1/profile/avatarPOST프로필 사진 업로드
/api/v1/profile/familyGET/POST가족 목록/초대
마음/api/v1/moodPOST오늘 기분 기록
/api/v1/mood/weekGET주간 기분
/api/v1/mood/insightsGETAI 분석 인사이트
AI/api/v1/ai/chatPOST (SSE)AI 말벗 스트리밍
/api/v1/ai/secretaryPOSTAI 비서 (Function Calling)
/api/v1/ai/autobiographyPOST자서전 질문/답변
건강/api/v1/health/recordsGET/POST건강지표 기록
/api/v1/medicationsGET/POST약 등록/조회
/api/v1/medications/logPOST복용 기록
/api/v1/health/report/weeklyGET주간 리포트
안전/api/v1/sos/triggerPOSTSOS 발동
/api/v1/sos/cancelPOSTSOS 취소
/api/v1/safety/voice-checkPOST보이스피싱 번호 검증
가족/api/v1/family/messagePOST가족 메시지 전송
/api/v1/family/albumGET/POST가족 앨범
지역/api/v1/village/eventsGET동네 행사
/api/v1/village/welfareGET복지 정보
/api/v1/help/requestPOST도움 요청
학습/api/v1/learn/coursesGET강좌 목록
/api/v1/jobs/listingsGET일자리 목록
결제/api/v1/payment/confirmPOST토스 결제 승인
/api/v1/payment/billing-keyPOST정기결제 빌링키
/api/v1/subscriptionsGET/POST구독 관리
관리/api/v1/admin/usersGET사용자 관리
/api/v1/admin/statsGET운영 통계
/api/v1/admin/sos-monitorGET실시간 SOS 모니터

표준 응답 포맷

// 성공
{
  "success": true,
  "data": { /* ... */ },
  "meta": { "timestamp": "2026-05-23T18:30:00Z" }
}

// 실패
{
  "success": false,
  "error": {
    "code": "AUTH_INVALID_TOKEN",
    "message": "로그인이 만료되었어요. 다시 로그인해 주세요."
  }
}

WebSocket 채널 (원챗 연동)

채널설명
wss://onechat.kiam.kr/aimessage/onechat/ws원챗 메인 (인증 토큰 포함)
silbeot/user/{id}본인 알림
silbeot/family/{family_id}가족 그룹
silbeot/ai-companion/{user_id}AI 말벗 세션
silbeot/sos-monitor관리자 SOS 모니터링

에러 코드 표

코드HTTP의미
AUTH_INVALID_TOKEN401토큰 만료/무효
AUTH_EMAIL_NOT_VERIFIED403이메일 미인증
RATE_LIMIT429요청 과다
SUBSCRIPTION_REQUIRED402유료 기능
NOT_FOUND404리소스 없음
VALIDATION_ERROR422입력값 오류
SERVER_ERROR500서버 오류