Join API

이메일 중복체크

HTTP Request

POST /api/v1/join/checkEmail HTTP/1.1
Content-Type: application/json
Content-Length: 37
Host: localhost:8080

{
  "email" : "tkdrl8908@naver.com"
}

Request Fields

Path Type Optional Description

email

String

중복체크 할 이메일

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 121

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "tkdrl8908@naver.com"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

중복 체크 된 이메일

회원가입

HTTP Request

POST /api/v1/join/user HTTP/1.1
Content-Type: application/json
Content-Length: 164
Host: localhost:8080

{
  "email" : "tkdrl8908@naver.com",
  "password" : "1234",
  "termUserAgreement" : "AGREE",
  "personalInfoAgreement" : "AGREE",
  "marketingAgreement" : "AGREE"
}

Request Fields

Path Type Optional Description

email

String

이메일

password

String

패스워드

termUserAgreement

String

이용약관 필수동의 여부[AGREE, DISAGREE]

personalInfoAgreement

String

개인정보 동의여부[AGREE, DISAGREE]

marketingAgreement

String

마케팅 수신여부[AGREE, DISAGREE]

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 281

{
  "statusCode" : 201,
  "httpStatus" : "CREATED",
  "message" : "CREATED",
  "data" : {
    "id" : 1,
    "email" : "tkdrl8908@naver.com",
    "snsType" : "NORMAL",
    "termUserAgreement" : "AGREE",
    "personalInfoAgreement" : "AGREE",
    "marketingAgreement" : "AGREE"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

id

data.email

String

이메일

data.snsType

String

로그인타입. 가능한 값: [NORMAL, KAKAO, GOOGLE, APPLE]

data.termUserAgreement

String

이용약관 필수동의 여부[AGREE, DISAGREE]

data.personalInfoAgreement

String

개인정보 동의여부[AGREE, DISAGREE]

data.marketingAgreement

String

마케팅 수신여부[AGREE, DISAGREE]

Mail API

이메일 인증코드 전송

HTTP Request

POST /api/v1/mail/authUrl HTTP/1.1
Content-Type: application/json
Content-Length: 37
Host: localhost:8080

{
  "email" : "tkdrl8908@naver.com"
}

Request Fields

Path Type Optional Description

email

String

발송 할 이메일

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 118

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "authKey" : "7MMfhzwplTsqvw"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.authKey

String

인증키

이메일 임시비밀번호 전송

HTTP Request

POST /api/v1/mail/password HTTP/1.1
Content-Type: application/json
Content-Length: 37
Host: localhost:8080

{
  "email" : "tkdrl8908@naver.com"
}

Request Fields

Path Type Optional Description

email

String

전송 할 이메일

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 121

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "tkdrl8908@naver.com"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

발송성공한 이메일

confirmEmail API

이메일인증완료여부 체크 API

HTTP Request

POST /api/v1/confirmEmail/check HTTP/1.1
Content-Type: application/json
Content-Length: 61
Host: localhost:8080

{
  "email" : "test@test.com",
  "authKey" : "testtesttest"
}

Request Fields

Path Type Optional Description

email

String

중복체크 할 이메일

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 115

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "test@test.com"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

인증완료 이메일

Login API

일반 로그인

HTTP Request

POST /api/v1/auth/login HTTP/1.1
Content-Type: application/json
Content-Length: 120
Host: localhost:8080

{
  "email" : "tkdrl8908@naver.com",
  "password" : "1234",
  "deviceId" : "testdeviceId",
  "pushKey" : "tessPushKey"
}

Request Fields

Path Type Optional Description

email

String

이메일

password

String

비밀번호

deviceId

String

디바이스ID

pushKey

String

푸시키

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 546

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "tkdrl8908@naver.com",
    "accessToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzI1OTYzfQ.StpNeN7Mrcm9n3niSPU8ItRMBZqy__gS8AjRkqlIZ2dWtLaciMQF6EGPY4JaagoFkP-GfhUr8pMYfRewEZ-BYg",
    "refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw",
    "settingStatus" : "INCOMPLETE"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

이메일

data.accessToken

String

Access-Token

data.refreshToken

String

Refresh-Token

data.settingStatus

String

미션 및 캐릭터 초기세팅여부. 가능한 값: [INCOMPLETE, COMPLETE]

엑세스토큰 재발급

HTTP Request

POST /api/v1/auth/refresh HTTP/1.1
Content-Type: application/json
Content-Length: 261
Host: localhost:8080

{
  "refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw",
  "email" : "tkdrl8908@naver.com",
  "deviceId" : "testDeviceId"
}

Request Fields

Path Type Optional Description

email

String

이메일

deviceId

String

디바이스ID

refreshToken

String

리플래시토큰

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 473

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "accessToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzI1OTYzfQ.StpNeN7Mrcm9n3niSPU8ItRMBZqy__gS8AjRkqlIZ2dWtLaciMQF6EGPY4JaagoFkP-GfhUr8pMYfRewEZ-BYg",
    "refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.accessToken

String

Access-Token

data.refreshToken

String

Refresh-Token

OAuth 로그인

HTTP Request

POST /api/v1/auth/oauth/login HTTP/1.1
Content-Type: application/json
Content-Length: 151
Host: localhost:8080

{
  "token" : "dagrjrtkfddsdasfheherhrfbgngmusduktregegwfwdwdwdwd",
  "snsType" : "KAKAO",
  "deviceId" : "testdeviceId",
  "pushKey" : "tessPushKey"
}

Request Fields

Path Type Optional Description

token

String

토큰값

snsType

String

인증타입 가능한 값: [NORMAL, KAKAO, GOOGLE, APPLE]

deviceId

String

디바이스ID

pushKey

String

푸시토큰

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 546

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "tkdrl8908@naver.com",
    "accessToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzI1OTYzfQ.StpNeN7Mrcm9n3niSPU8ItRMBZqy__gS8AjRkqlIZ2dWtLaciMQF6EGPY4JaagoFkP-GfhUr8pMYfRewEZ-BYg",
    "refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw",
    "settingStatus" : "INCOMPLETE"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

이메일

data.accessToken

String

Access-Token

data.refreshToken

String

Refresh-Token

data.settingStatus

String

미션 및 캐릭터 초기세팅여부. 가능한 값: [INCOMPLETE, COMPLETE]

InitialSetting API

초기세팅 저장 API

HTTP Request

POST /api/v1/initialSetting HTTP/1.1
Content-Type: application/json
Content-Length: 470
Host: localhost:8080

{
  "alertSetting" : {
    "deviceId" : "testDeviceId",
    "alertStatus" : "CHECKED"
  },
  "character" : {
    "id" : 1,
    "nickName" : "럭키즈!!"
  },
  "missions" : [ {
    "luckkidsMissionId" : 1,
    "missionType" : "HEALTH",
    "missionDescription" : "1시에 운동하기",
    "alertTime" : "00:00:00"
  }, {
    "luckkidsMissionId" : 2,
    "missionType" : "HEALTH",
    "missionDescription" : "2시에 운동하기",
    "alertTime" : "00:00:00"
  } ]
}

Request Fields

Path Type Optional Description

alertSetting

Object

알람설정 요청 데이터

alertSetting.deviceId

String

디바이스ID

alertSetting.alertStatus

String

알림상태. 가능한값: [CHECKED, UNCHECKED]

character

Object

캐릭터설정 요청 데이터

character.id

Number

럭키즈 캐릭터 ID

character.nickName

String

캐릭터 닉네임

missions[]

Array

설정미션 요청 데이터

missions[].luckkidsMissionId

Number

럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션)

missions[].missionType

String

미션타입. 가능한값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT]

missions[].missionDescription

String

미션내용

missions[].alertTime

String

알림시간

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 779

{
  "statusCode" : 201,
  "httpStatus" : "CREATED",
  "message" : "CREATED",
  "data" : {
    "alertSetting" : {
      "entire" : "CHECKED",
      "mission" : "CHECKED",
      "luck" : "CHECKED",
      "friend" : "CHECKED",
      "notice" : "CHECKED",
      "luckMessageAlertTime" : "07:00:00"
    },
    "character" : {
      "id" : 1,
      "nickName" : "럭키즈!"
    },
    "missions" : [ {
      "luckkidsMissionId" : 1,
      "missionType" : "HEALTH",
      "missionDescription" : "1시에 운동하기",
      "alertStatus" : "CHECKED",
      "alertTime" : "00:00:00"
    }, {
      "luckkidsMissionId" : 2,
      "missionType" : "HEALTH",
      "missionDescription" : "2시에 운동하기",
      "alertStatus" : "CHECKED",
      "alertTime" : "00:00:00"
    } ]
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.alertSetting

Object

알람설정 응답 데이터

data.alertSetting.entire

String

전체알림. 가능한값: [CHECKED, UNCHECKED]

data.alertSetting.mission

String

미션알림. 가능한값: [CHECKED, UNCHECKED]

data.alertSetting.luck

String

행운알림. 가능한값: [CHECKED, UNCHECKED]

data.alertSetting.friend

String

친구알림. 가능한값: [CHECKED, UNCHECKED]

data.alertSetting.notice

String

공지사항알림. 가능한값: [CHECKED, UNCHECKED]

data.alertSetting.luckMessageAlertTime

String

행운의 한마디 알림시간

data.character

Object

캐릭터설정 응답 데이터

data.character.id

Number

캐릭터설정 ID

data.character.nickName

String

캐릭터 닉네임

data.missions[]

Array

설정미션 응답 데이터

data.missions[].luckkidsMissionId

Number

럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션)

data.missions[].missionType

String

미션타입. 가능한값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT]

data.missions[].missionDescription

String

미션내용

data.missions[].alertStatus

String

미션알림여부. 가능한값: [CHECKED, UNCHECKED]

data.missions[].alertTime

String

미션알림시간

초기 캐릭터 조회 API

HTTP Request

GET /api/v1/initialSetting/character HTTP/1.1
Content-Type: application/json
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 144

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "id" : 1,
    "characterType" : "SUN",
    "level" : 1
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

럭키즈 캐릭터 ID

data.characterType

String

럭키즈 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN]

data.level

Number

럭키즈 캐릭터 레벨

럭키즈에서 미리 등록한 미션조회 API

HTTP Request

GET /api/v1/initialSetting/luckMission HTTP/1.1
Content-Type: application/json
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 364

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : [ {
    "id" : 1,
    "missionType" : "HEALTH",
    "missionDescription" : "일찍일어나기",
    "alertTime" : "01:00:00",
    "sort" : 1
  }, {
    "id" : 2,
    "missionType" : "MINDSET",
    "missionDescription" : "책읽기",
    "alertTime" : "02:00:00",
    "sort" : 1
  } ]
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data[]

Array

응답 데이터

data[].id

Number

럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션)

data[].missionType

String

미션타입. 가능한값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT]

data[].missionDescription

String

미션내용

data[].alertTime

String

알림시간

data[].sort

Number

정렬값

AlertSetting API

알림설정조회

HTTP Request

GET /api/v1/alertSetting?deviceId=testdeviceId HTTP/1.1
Host: localhost:8080

Request Query Parameters

Parameter Optional Description

deviceId

디바이스 ID

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 254

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "entire" : "CHECKED",
    "mission" : "CHECKED",
    "luck" : "CHECKED",
    "friend" : "CHECKED",
    "notice" : "CHECKED",
    "luckMessageAlertTime" : "07:00:00"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.entire

String

전체알람설정

data.mission

String

미션알림설정

data.luck

String

7시행운문구알림설정

data.friend

String

친구 알림설정

data.notice

String

공지사항 알림설정

data.luckMessageAlertTime

String

행운의 한마디 알림시간

알림설정 수정

HTTP Request

PATCH /api/v1/alertSetting/update HTTP/1.1
Content-Type: application/json
Content-Length: 90
Host: localhost:8080

{
  "alertType" : "ENTIRE",
  "alertStatus" : "UNCHECKED",
  "deviceId" : "testDeviceId"
}

Request Fields

Path Type Optional Description

alertType

String

알림타입 가능한 값: [ENTIRE, MISSION, LUCK, FRIEND, NOTICE]

alertStatus

String

알림여부[CHECKED, UNCHECKED]

deviceId

String

디바이스ID

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 213

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "entire" : "CHECKED",
    "mission" : "CHECKED",
    "luck" : "CHECKED",
    "friend" : "CHECKED",
    "notice" : "CHECKED"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.entire

String

전체알람설정: [CHECKED, UNCHECKED]

data.mission

String

미션알림설정: [CHECKED, UNCHECKED]

data.luck

String

7시행운문구알림설정: [CHECKED, UNCHECKED]

data.friend

String

친구 알림설정: [CHECKED, UNCHECKED]

data.notice

String

공지사항 알림설정: [CHECKED, UNCHECKED]

data.notice

String

공지사항 알림설정: [CHECKED, UNCHECKED]

행운의 한마디 알림시간 수정

HTTP Request

PATCH /api/v1/alertSetting/luckMessageAlertTime/update HTTP/1.1
Content-Type: application/json
Content-Length: 72
Host: localhost:8080

{
  "luckMessageAlertTime" : "08:00:00",
  "deviceId" : "testDeviceId"
}

Request Fields

Path Type Optional Description

luckMessageAlertTime

String

행운의 한마디 알림시간

deviceId

String

디바이스ID

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 254

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "entire" : "CHECKED",
    "mission" : "CHECKED",
    "luck" : "CHECKED",
    "friend" : "CHECKED",
    "notice" : "CHECKED",
    "luckMessageAlertTime" : "08:00:00"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.entire

String

전체알람설정: [CHECKED, UNCHECKED]

data.mission

String

미션알림설정: [CHECKED, UNCHECKED]

data.luck

String

7시행운문구알림설정: [CHECKED, UNCHECKED]

data.friend

String

친구 알림설정: [CHECKED, UNCHECKED]

data.notice

String

공지사항 알림설정: [CHECKED, UNCHECKED]

data.luckMessageAlertTime

String

행운의 한마디 시간

Home API

홈/메인

HTTP Request

GET /api/v1/home/main HTTP/1.1
Content-Type: application/json
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1174

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "luckkidsAchievementRate" : 0.75,
    "userCharacterSummaryResponse" : {
      "inProgressCharacter" : {
        "characterType" : "CLOVER",
        "level" : 1,
        "characterProgressStatus" : "IN_PROGRESS"
      },
      "completedCharacterCount" : {
        "RABBIT" : 0,
        "SUN" : 5,
        "CLOVER" : 2,
        "STONE" : 1,
        "CLOUD" : 0
      }
    },
    "missionOutcomeForWeekResponse" : {
      "startDate" : "2024-02-24",
      "endDate" : "2024-03-01",
      "calendar" : [ {
        "missionDate" : "2024-02-24",
        "hasSucceed" : true
      }, {
        "missionDate" : "2024-02-25",
        "hasSucceed" : true
      }, {
        "missionDate" : "2024-02-26",
        "hasSucceed" : false
      }, {
        "missionDate" : "2024-02-27",
        "hasSucceed" : true
      }, {
        "missionDate" : "2024-02-28",
        "hasSucceed" : true
      }, {
        "missionDate" : "2024-02-29",
        "hasSucceed" : false
      }, {
        "missionDate" : "2024-03-01",
        "hasSucceed" : false
      } ]
    },
    "hasUncheckedAlerts" : true
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.luckkidsAchievementRate

Number

럭키즈 달성률

data.userCharacterSummaryResponse

Object

캐릭터들 요약 정보

data.userCharacterSummaryResponse.inProgressCharacter

Object

진행 중인 캐릭터 정보

data.userCharacterSummaryResponse.inProgressCharacter.characterType

String

캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN]

data.userCharacterSummaryResponse.inProgressCharacter.level

Number

캐릭터 레벨

data.userCharacterSummaryResponse.inProgressCharacter.characterProgressStatus

String

캐릭터 진행 상태

data.userCharacterSummaryResponse.completedCharacterCount

Object

완료한 캐릭터들 수

data.userCharacterSummaryResponse.completedCharacterCount

Object

완료한 캐릭터의 수. 키는 캐릭터 타입을 나타내며, 값은 완료된 캐릭터 수.

data.userCharacterSummaryResponse.completedCharacterCount.RABBIT

Number

토끼 캐릭터를 완료한 횟수

data.userCharacterSummaryResponse.completedCharacterCount.CLOVER

Number

클로버 캐릭터를 완료한 횟수

data.userCharacterSummaryResponse.completedCharacterCount.STONE

Number

돌 캐릭터를 완료한 횟수

data.userCharacterSummaryResponse.completedCharacterCount.CLOUD

Number

구름 캐릭터를 완료한 횟수

data.userCharacterSummaryResponse.completedCharacterCount.SUN

Number

태양 캐릭터를 완료한 횟수

data.missionOutcomeForWeekResponse

Object

주간 미션 결과

data.missionOutcomeForWeekResponse.startDate

String

시작 날짜

data.missionOutcomeForWeekResponse.endDate

String

종료 날짜

data.missionOutcomeForWeekResponse.calendar[].missionDate

String

미션 날짜

data.missionOutcomeForWeekResponse.calendar[].hasSucceed

Boolean

미션 성공 여부

data.hasUncheckedAlerts

Boolean

읽지 않은 알림이 있는지 여부 (읽지 않은 알림이 있으면 true, 없으면 false)

홈/프로필 행운문구 수정

HTTP Request

PATCH /api/v1/user/phrase HTTP/1.1
Content-Type: application/json
Content-Length: 40
Host: localhost:8080

{
  "luckPhrase" : "행운입니다.!"
}

Request Fields

Path Type Optional Description

luckPhrase

String

행운문구

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 124

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "luckPhrase" : "행운입니다.!"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.luckPhrase

String

행운문구

홈/프로필 닉네임 수정

HTTP Request

PATCH /api/v1/user/nickname HTTP/1.1
Content-Type: application/json
Content-Length: 30
Host: localhost:8080

{
  "nickname" : "테스트"
}

Request Fields

Path Type Optional Description

nickname

String

닉네임

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 114

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "nickname" : "테스트"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.nickname

String

닉네임

홈/캘린더

HTTP Request

GET /api/v1/home/calendar HTTP/1.1
Content-Type: application/json
Host: localhost:8080

Request Query Parameters

Parameter Optional Description

missionDate

O

미션 검색 날짜. 기본 값: now()

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 452

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "startDate" : "2023-11-01",
    "endDate" : "2023-12-31",
    "calendar" : [ {
      "missionDate" : "2024-11-01",
      "hasSucceed" : true
    }, {
      "missionDate" : "2024-11-02",
      "hasSucceed" : true
    }, {
      "missionDate" : "2024-11-03",
      "hasSucceed" : false
    }, {
      "missionDate" : "2024-11-04",
      "hasSucceed" : true
    } ]
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.startDate

String

날짜 범위(시작)

data.endDate

String

날짜 범위(끝)

data.calendar[]

Array

알림 여부

data.calendar[].missionDate

String

미션 날짜

data.calendar[].hasSucceed

Boolean

미션 성공 여부

홈/캘린더 세부

HTTP Request

GET /api/v1/home/calendar/2023-12-26 HTTP/1.1
Content-Type: application/json
Host: localhost:8080

Request Path Parameters

/api/v1/home/calendar/{missionDate}

Parameter Description

missionDate

미션 날짜

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 248

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : [ {
    "missionType" : "HEALTH",
    "missionDescription" : "운동하기"
  }, {
    "missionType" : "SELF_DEVELOPMENT",
    "missionDescription" : "책 읽기"
  } ]
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data[]

Array

미션 내용들

data[].missionType

String

미션 타입

data[].missionDescription

String

미션 내용

홈/알림 조회

HTTP Request

GET /api/v1/alertHistories?page=1&size=12 HTTP/1.1
Host: localhost:8080

Request Query Parameters

Parameter Optional Description

page

O

페이지. 기본값: 1

size

O

페이지 사이즈. 기본값: 12

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 924

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "content" : [ {
      "id" : 1,
      "alertDescription" : "알림 내역1",
      "alertHistoryStatus" : "UNCHECKED",
      "alertDestinationType" : "MISSION",
      "alertDestinationInfo" : "NULL",
      "createdDate" : "2024-02-29T16:00:00"
    }, {
      "id" : 2,
      "alertDescription" : "알림 내역2",
      "alertHistoryStatus" : "CHECKED",
      "alertDestinationType" : "FRIEND",
      "alertDestinationInfo" : "1",
      "createdDate" : "2024-03-01T12:00:00"
    }, {
      "id" : 3,
      "alertDescription" : "알림 내역3",
      "alertHistoryStatus" : "CHECKED",
      "alertDestinationType" : "WEBVIEW",
      "alertDestinationInfo" : "https://www.naver.com/",
      "createdDate" : "2024-03-01T12:00:00"
    } ],
    "pageInfo" : {
      "currentPage" : 1,
      "totalPage" : 1,
      "totalElement" : 2
    }
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.content[]

Array

데이터 리스트

data.content[].id

Number

알림 내역 ID

data.content[].alertDescription

String

알림 내역 내용

data.content[].alertHistoryStatus

String

알림 내역 읽음 상태

data.content[].alertDestinationType

String

알림 이동 목적지 타입

data.content[].alertDestinationInfo

String

알림 이동 목적지 정보 (String 또는 null 가능)

data.content[].createdDate

String

알림 내역 등록일

data.pageInfo

Object

페이지 정보

data.pageInfo.currentPage

Number

현재 페이지

data.pageInfo.totalPage

Number

총 페이지

data.pageInfo.totalElement

Number

총 개수

홈/알림 읽음 수정

HTTP Request

PATCH /api/v1/alertHistories/1 HTTP/1.1
Host: localhost:8080

Request Path Parameters

/api/v1/alertHistories/{id}

Parameter Description

id

알림 내역 ID

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 122

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "alertHistoryStatus" : "CHECKED"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.alertHistoryStatus

String

알림 내역 읽음 상태

Mission API

미션 등록

HTTP Request

POST /api/v1/missions/new HTTP/1.1
Content-Type: application/json
Content-Length: 155
Host: localhost:8080

{
  "luckkidsMissionId" : 1,
  "missionType" : "HEALTH",
  "missionDescription" : "운동하기",
  "alertStatus" : "CHECKED",
  "alertTime" : "18:30:00"
}

Request Fields

Path Type Optional Description

luckkidsMissionId

Number

O

럭키즈 대표 미션 ID (null일 때는 개인 미션 등록)

missionType

String

미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT]

missionDescription

String

미션 내용

alertStatus

String

알람 여부. 가능한 값: [CHECKED, UNCHECKED]

alertTime

String

알람 시간

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 353

{
  "statusCode" : 201,
  "httpStatus" : "CREATED",
  "message" : "CREATED",
  "data" : {
    "id" : 1,
    "luckkidsMissionId" : 1,
    "missionType" : "HEALTH",
    "missionDescription" : "운동하기",
    "missionActive" : "TRUE",
    "alertStatus" : "CHECKED",
    "alertTime" : "18:00:00",
    "createdDate" : "2025-05-25T07:06:23.55597417"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

미션 ID

data.luckkidsMissionId

Number

럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션)

data.missionType

String

미션 타입

data.missionActive

String

미션 활성화 여부

data.missionDescription

String

미션 내용

data.alertStatus

String

알림 여부

data.alertTime

String

알림 시간

data.createdDate

String

생성일

미션 조회

HTTP Request

GET /api/v1/missions HTTP/1.1
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1996

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "userMissions" : {
      "SELF_DEVELOPMENT" : [ {
        "id" : 3,
        "luckkidsMissionId" : 4,
        "missionType" : "SELF_DEVELOPMENT",
        "missionDescription" : "공부하기",
        "missionActive" : "FALSE",
        "alertStatus" : "CHECKED",
        "alertTime" : "21:00:00",
        "createdDate" : "2025-05-25T07:06:23.605862958"
      }, {
        "id" : 4,
        "luckkidsMissionId" : 6,
        "missionType" : "SELF_DEVELOPMENT",
        "missionDescription" : "책 읽기",
        "missionActive" : "TRUE",
        "alertStatus" : "UNCHECKED",
        "alertTime" : "22:00:00",
        "createdDate" : "2025-05-25T07:06:23.605867036"
      } ],
      "SELF_CARE" : [ ],
      "MINDSET" : [ ],
      "WORK" : [ ],
      "HEALTH" : [ {
        "id" : 1,
        "luckkidsMissionId" : 1,
        "missionType" : "HEALTH",
        "missionDescription" : "운동하기",
        "missionActive" : "TRUE",
        "alertStatus" : "CHECKED",
        "alertTime" : "18:00:00",
        "createdDate" : "2025-05-25T07:06:23.605823645"
      }, {
        "id" : 2,
        "luckkidsMissionId" : 3,
        "missionType" : "HEALTH",
        "missionDescription" : "물 마시기",
        "missionActive" : "TRUE",
        "alertStatus" : "UNCHECKED",
        "alertTime" : "20:00:00",
        "createdDate" : "2025-05-25T07:06:23.605834686"
      } ],
      "HOUSEKEEPING" : [ ]
    },
    "luckkidsMissions" : {
      "SELF_DEVELOPMENT" : [ ],
      "SELF_CARE" : [ ],
      "MINDSET" : [ ],
      "WORK" : [ {
        "luckkidsMissionId" : 5,
        "missionType" : "WORK",
        "missionDescription" : "일 열심히 하기",
        "alertTime" : "13:00:00"
      } ],
      "HEALTH" : [ {
        "luckkidsMissionId" : 2,
        "missionType" : "HEALTH",
        "missionDescription" : "요가하기",
        "alertTime" : "18:00:00"
      } ],
      "HOUSEKEEPING" : [ ]
    }
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.userMissions.HEALTH[]

Array

유저의 건강 관련 미션

data.userMissions.SELF_CARE[]

Array

유저의 셀프케어 관련 미션

data.userMissions.HOUSEKEEPING[]

Array

유저의 집 정돈 관련 미션

data.userMissions.MINDSET[]

Array

유저의 마인드셋 관련 미션

data.userMissions.WORK[]

Array

유저의 일 관련 미션

data.userMissions.SELF_DEVELOPMENT[]

Array

유저의 자기 계발 관련 미션

data.luckkidsMissions.HEALTH[]

Array

선택하지 않은 럭키즈 대표 건강 관련 미션

data.luckkidsMissions.SELF_CARE[]

Array

선택하지 않은 럭키즈 대표 셀프케어 관련 미션

data.luckkidsMissions.HOUSEKEEPING[]

Array

선택하지 않은 럭키즈 대표 집 정돈 관련 미션

data.luckkidsMissions.MINDSET[]

Array

선택하지 않은 럭키즈 대표 마인드셋 관련 미션

data.luckkidsMissions.WORK[]

Array

선택하지 않은 럭키즈 대표 일 관련 미션

data.luckkidsMissions.SELF_DEVELOPMENT[]

Array

선택하지 않은 럭키즈 대표 자기 계발 관련 미션

data.userMissions.HEALTH[].id

Number

미션 ID

data.userMissions.HEALTH[].luckkidsMissionId

Number

럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션)

data.userMissions.HEALTH[].missionType

String

미션 타입

data.userMissions.HEALTH[].missionActive

String

미션 활성화 여부

data.userMissions.HEALTH[].missionDescription

String

미션 내용

data.userMissions.HEALTH[].alertStatus

String

알림 여부

data.userMissions.HEALTH[].alertTime

String

알림 시간

data.userMissions.HEALTH[].createdDate

String

생성일

data.userMissions.SELF_DEVELOPMENT[].id

Number

미션 ID

data.userMissions.SELF_DEVELOPMENT[].luckkidsMissionId

Number

럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션)

data.userMissions.SELF_DEVELOPMENT[].missionType

String

미션 타입

data.userMissions.SELF_DEVELOPMENT[].missionActive

String

미션 활성화 여부

data.userMissions.SELF_DEVELOPMENT[].missionDescription

String

미션 내용

data.userMissions.SELF_DEVELOPMENT[].alertStatus

String

알림 여부

data.userMissions.SELF_DEVELOPMENT[].alertTime

String

알림 시간

data.userMissions.SELF_DEVELOPMENT[].createdDate

String

생성일

data.luckkidsMissions.HEALTH[].luckkidsMissionId

Number

럭키즈 대표 미션 ID

data.luckkidsMissions.HEALTH[].missionType

String

미션 타입

data.luckkidsMissions.HEALTH[].missionDescription

String

럭키즈 대표 미션 내용

data.luckkidsMissions.HEALTH[].alertTime

String

럭키즈 대표 미션 알림 시간

data.luckkidsMissions.WORK[].luckkidsMissionId

Number

럭키즈 대표 미션 ID

data.luckkidsMissions.WORK[].missionType

String

미션 타입

data.luckkidsMissions.WORK[].missionDescription

String

럭키즈 대표 미션 내용

data.luckkidsMissions.WORK[].alertTime

String

럭키즈 대표 미션 알림 시간

미션 수정

HTTP Request

PATCH /api/v1/missions/1 HTTP/1.1
Content-Type: application/json
Content-Length: 157
Host: localhost:8080

{
  "missionType" : "HEALTH",
  "missionDescription" : "운동하기",
  "missionActive" : "FALSE",
  "alertStatus" : "CHECKED",
  "alertTime" : "18:30:00"
}

Request Path Parameters

/api/v1/missions/{missionId}

Parameter Description

missionId

미션 ID

Request Fields

Path Type Optional Description

missionType

String

O

미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT]

missionDescription

String

O

미션 내용

missionActive

String

O

미션 활성화 여부. 가능한 값: [TRUE, FALSE]

alertStatus

String

O

알람 여부. 가능한 값: [CHECKED, UNCHECKED]

alertTime

String

O

알람 시간

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 344

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "id" : 1,
    "luckkidsMissionId" : 1,
    "missionType" : "HEALTH",
    "missionDescription" : "운동하기",
    "missionActive" : "FALSE",
    "alertStatus" : "CHECKED",
    "alertTime" : "18:00:00",
    "createdDate" : "2025-05-25T07:06:23.57549175"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

미션 ID

data.luckkidsMissionId

Number

럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션)

data.missionType

String

미션 타입

data.missionActive

String

미션 활성화 여부

data.missionDescription

String

미션 내용

data.alertStatus

String

알림 여부

data.alertTime

String

알림 시간

data.createdDate

String

생성일

미션 삭제

HTTP Request

DELETE /api/v1/missions/1 HTTP/1.1
Host: localhost:8080

Request Path Parameters

/api/v1/missions/{missionId}

Parameter Description

missionId

미션 ID

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 105

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "missionId" : 1
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.missionId

Number

미션 ID

MissionOutcome API

미션결과 조회

HTTP Request

GET /api/v1/missionOutcomes HTTP/1.1
Host: localhost:8080

Request Query Parameters

Parameter Optional Description

missionStatus

O

미션 성공 여부. 가능한 값: [SUCCEED, FAILED]

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 464

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : [ {
    "id" : 1,
    "missionType" : "HEALTH",
    "missionDescription" : "운동하기",
    "alertStatus" : "UNCHECKED",
    "alertTime" : "19:00:00",
    "missionStatus" : "SUCCEED"
  }, {
    "id" : 2,
    "missionType" : "SELF_DEVELOPMENT",
    "missionDescription" : "책읽기",
    "alertStatus" : "CHECKED",
    "alertTime" : "20:00:00",
    "missionStatus" : "FAILED"
  } ]
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data[]

Array

응답 데이터

data[].id

Number

미션결과 ID

data[].missionType

String

미션결과 미션타입

data[].missionDescription

String

미션결과 내용

data[].alertTime

String

알림 시간

data[].alertStatus

String

알림 상태

data[].missionStatus

String

미션 성공 여부

누적된 수행 미션결과

HTTP Request

GET /api/v1/missionOutcomes/count HTTP/1.1
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 101

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "count" : 2
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.count

Number

누적된 수행 미션

미션결과 수정 레벨업_O

HTTP Request

PATCH /api/v1/missionOutcomes/1 HTTP/1.1
Content-Type: application/json
Content-Length: 33
Host: localhost:8080

{
  "missionStatus" : "SUCCEED"
}

Request Path Parameters

/api/v1/missionOutcomes/{missionOutcomeId}

Parameter Description

missionOutcomeId

미션결과 ID

Request Fields

Path Type Optional Description

missionStatus

String

미션 성공 여부. 가능한 값: [SUCCEED, FAILED]

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 161

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "levelUpResult" : true,
    "characterType" : "CLOVER",
    "level" : 2
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.levelUpResult

Boolean

레벨업 여부

data.characterType

String

럭키즈 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN]

data.level

Number

캐릭터 레벨

미션결과 수정 레벨업_X

HTTP Request

PATCH /api/v1/missionOutcomes/1 HTTP/1.1
Content-Type: application/json
Content-Length: 33
Host: localhost:8080

{
  "missionStatus" : "SUCCEED"
}

Request Path Parameters

/api/v1/missionOutcomes/{missionOutcomeId}

Parameter Description

missionOutcomeId

미션결과 ID

Request Fields

Path Type Optional Description

missionStatus

String

미션 성공 여부. 가능한 값: [SUCCEED, FAILED]

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 158

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "levelUpResult" : false,
    "characterType" : null,
    "level" : 0
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.levelUpResult

Boolean

레벨업 여부

data.characterType

Null

캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN]

data.level

Number

캐릭터 레벨

Garden API

가든/앨범,랭킹 리스트 조회

HTTP Request

GET /api/v1/garden/list?page=1&size=12 HTTP/1.1
Host: localhost:8080

Request Query Parameters

Parameter Optional Description

page

O

페이지. 기본값: 1

size

O

페이지 사이즈. 기본값: 12

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1052

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "myProfile" : {
      "myId" : 1,
      "nickname" : "럭키즈",
      "luckPhrase" : "행운문구",
      "characterType" : "CLOVER",
      "level" : 1,
      "characterCount" : 0
    },
    "friendList" : {
      "content" : [ {
        "friendId" : 2,
        "nickname" : "럭키즈 친구 2",
        "luckPhrase" : "행운 문구 2",
        "characterType" : "CLOVER",
        "level" : 1,
        "characterCount" : 1
      }, {
        "friendId" : 3,
        "nickname" : "럭키즈 친구 3",
        "luckPhrase" : "행운 문구 3",
        "characterType" : "RABBIT",
        "level" : 4,
        "characterCount" : 0
      }, {
        "friendId" : 4,
        "nickname" : "럭키즈 친구 4",
        "luckPhrase" : "행운 문구 4",
        "characterType" : "SUN",
        "level" : 1,
        "characterCount" : 0
      } ],
      "pageInfo" : {
        "currentPage" : 1,
        "totalPage" : 1,
        "totalElement" : 10
      }
    }
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.myProfile

Object

내 프로필 정보

data.myProfile.myId

Number

내 ID

data.myProfile.nickname

String

내 닉네임

data.myProfile.luckPhrase

String

내 행운 문구

data.myProfile.characterType

String

내 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN]

data.myProfile.level

Number

내 캐릭터 레벨

data.myProfile.characterCount

Number

내 캐릭터 개수

data.friendList

Object

친구 목록

data.friendList.content[]

Array

친구 프로필 리스트

data.friendList.content[].friendId

Number

친구 ID

data.friendList.content[].nickname

String

친구 닉네임

data.friendList.content[].luckPhrase

String

친구의 행운 문구

data.friendList.content[].characterType

String

친구의 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN]

data.friendList.content[].level

Number

친구의 캐릭터 레벨

data.friendList.content[].characterCount

Number

친구의 캐릭터 개수

data.friendList.pageInfo

Object

페이징 정보

data.friendList.pageInfo.currentPage

Number

현재 페이지

data.friendList.pageInfo.totalPage

Number

총 페이지 수

data.friendList.pageInfo.totalElement

Number

총 요소 개수

가든/리그 조회

HTTP Request

GET /api/v1/garden/league HTTP/1.1
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 416

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : [ {
    "nickname" : "테스트1",
    "characterType" : "CLOVER",
    "level" : 1,
    "characterCount" : 3
  }, {
    "nickname" : "테스트4",
    "characterType" : "CLOUD",
    "level" : 3,
    "characterCount" : 3
  }, {
    "nickname" : "테스트2",
    "characterType" : "STONE",
    "level" : 2,
    "characterCount" : 2
  } ]
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data[]

Array

응답 데이터

data[].nickname

String

닉네임 (null 가능)

data[].characterType

String

캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN]

data[].level

Number

캐릭터 레벨

data[].characterCount

Number

캐릭터 수

친구 삭제

HTTP Request

DELETE /api/v1/garden/1 HTTP/1.1
Host: localhost:8080

Request Path Parameters

/api/v1/garden/{friendId}

Parameter Description

friendId

친구 ID

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 104

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "friendId" : 1
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.friendId

Number

삭제한 친구 ID

FriendCode API

친구코드 생성

HTTP Request

GET /api/v1/friendcode HTTP/1.1
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 109

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "code" : "ACSDSWEE"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.code

String

친구 코드

친구코드로 친구 닉네임 조회

HTTP Request

GET /api/v1/friendcode/ASDSDWEE/nickname HTTP/1.1
Host: localhost:8080

Request Path Parameters

/api/v1/friendcode/{code}/nickname

Parameter Description

code

친구 코드

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 149

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "nickName" : "테스트 닉네임",
    "status" : "FRIEND"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.nickName

String

요청자 닉네임

data.status

String

친구 상태값 가능한 값:[ME, ALREADY, FRIEND]

친구코드로 친구추가

HTTP Request

POST /api/v1/friendcode/create HTTP/1.1
Content-Type: application/json
Content-Length: 25
Host: localhost:8080

{
  "code" : "ASDSDWEE"
}

Request Fields

Path Type Optional Description

code

String

친구코드

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 155

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "requester" : "ghmin@test.com",
    "receiver" : "skhan@test.com"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.receiver

String

초대 받은 친구

data.requester

String

초대한 친구

친구코드로 친구 닉네임 조회

HTTP Request

POST /api/v1/friendcode/ASDSDWEE/refuse HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded

Request Path Parameters

/api/v1/friendcode/{code}/refuse

Parameter Description

code

친구 코드

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 109

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "code" : "ASDSDWEE"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.code

String

거절한 친구코드

Notice API

공지사항 목록 API

HTTP Request

GET /api/v1/notices HTTP/1.1
Content-Type: application/json
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 368

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : [ {
    "id" : 1,
    "title" : "공지사항 타이틀1",
    "url" : "www.naver.com",
    "createdDate" : "2025-05-25T07:06:23.710807123"
  }, {
    "id" : 2,
    "title" : "공지사항 타이틀2",
    "url" : "www.naver.com",
    "createdDate" : "2025-05-25T07:06:23.710813215"
  } ]
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data[]

Array

응답 데이터

data[].id

Number

공지사항 ID

data[].title

String

공지사항 제목

data[].url

String

공지사항 url

data[].createdDate

String

공지사항 생성시간

공지사항 저장 API (추후 공지사항 등록할 때 따로 사용)

HTTP Request

POST /api/v1/notices/new HTTP/1.1
Content-Type: application/json
Content-Length: 63
Host: localhost:8080

{
  "title" : "공지사항 제목",
  "url" : "www.test.com"
}

Request Fields

Path Type Optional Description

title

String

공지사항 제목

url

String

공지사항 url

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 230

{
  "statusCode" : 201,
  "httpStatus" : "CREATED",
  "message" : "CREATED",
  "data" : {
    "id" : 1,
    "title" : "공지사항 타이틀",
    "url" : "www.naver.com",
    "createdDate" : "2025-05-25T07:06:23.721071091"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

공지사항 ID

data.title

String

공지사항 제목

data.url

String

공지사항 url

data.createdDate

String

공지사항 생성시간

Version API

버전조회 API

HTTP Request

GET /api/v1/versions/ HTTP/1.1
Content-Type: application/json
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 126

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "id" : 1,
    "versionNum" : "1.1.2"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

버전 ID

data.versionNum

String

버전

버전 저장 API (추후 버전 등록할 때 따로 사용)

HTTP Request

POST /api/v1/versions HTTP/1.1
Content-Type: application/json
Content-Length: 54
Host: localhost:8080

{
  "versionNum" : "1.1.2",
  "url" : "www.test.com"
}

Request Fields

Path Type Optional Description

versionNum

String

최신버전

url

String

최신버전 소개 URL

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 136

{
  "statusCode" : 201,
  "httpStatus" : "CREATED",
  "message" : "CREATED",
  "data" : {
    "id" : 1,
    "versionNum" : "1.1.2"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

버전 ID

data.versionNum

String

버전

User API

로그인한 사용자 정보 조회 API

HTTP Request

GET /api/v1/user/me HTTP/1.1
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 390

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "test@gmail.com",
    "nickname" : "test",
    "snsType" : "GOOGLE",
    "luckPhrase" : "테스트 행운문구입니다.",
    "role" : "USER",
    "settingStatus" : "COMPLETE",
    "missionCount" : 0,
    "inProgressCharacter" : {
      "characterType" : "CLOVER",
      "level" : 1
    }
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

이메일

data.nickname

String

닉네임

data.snsType

String

SNS 타입

data.luckPhrase

String

행운문구

data.role

String

역할

data.settingStatus

String

초기세팅상태

data.missionCount

Number

미션성공갯수

data.inProgressCharacter.characterType

String

진행중인 캐릭터 타입

data.inProgressCharacter.level

Number

진행중인 캐릭터 레벨

사용자 정보 조회 API

HTTP Request

GET /api/v1/user/1 HTTP/1.1
Host: localhost:8080

Request Path Parameters

/api/v1/user/{id}

Parameter Description

id

유저의 id 값

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 390

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "test@gmail.com",
    "nickname" : "test",
    "snsType" : "GOOGLE",
    "luckPhrase" : "테스트 행운문구입니다.",
    "role" : "USER",
    "settingStatus" : "COMPLETE",
    "missionCount" : 0,
    "inProgressCharacter" : {
      "characterType" : "CLOVER",
      "level" : 1
    }
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

이메일

data.nickname

String

닉네임

data.snsType

String

SNS 타입

data.luckPhrase

String

행운문구

data.role

String

역할

data.settingStatus

String

초기세팅상태

data.missionCount

Number

미션성공갯수

data.inProgressCharacter.characterType

String

진행중인 캐릭터 타입

data.inProgressCharacter.level

Number

진행중인 캐릭터 레벨

사용자 프로필 행운문구 수정 API

HTTP Request

PATCH /api/v1/user/phrase HTTP/1.1
Content-Type: application/json
Content-Length: 40
Host: localhost:8080

{
  "luckPhrase" : "행운입니다.!"
}

Request Fields

Path Type Optional Description

luckPhrase

String

행운문구

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 124

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "luckPhrase" : "행운입니다.!"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.luckPhrase

String

행운문구

비밀번호 재설정

HTTP Request

PATCH /api/v1/user/password/ HTTP/1.1
Content-Type: application/json
Content-Length: 55
Host: localhost:8080

{
  "email" : "test@email.com",
  "password" : "1234"
}

Request Fields

Path Type Optional Description

email

String

이메일

password

String

비밀번호

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 116

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "email" : "test@email.com"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.email

String

이메일

비밀번호 재설정 전 이메일 가입형식 조회 (존재X 시 에러발생)

HTTP Request

GET /api/v1/user/findEmail?email=test%40email.com HTTP/1.1
Host: localhost:8080

Request Query Parameters

Parameter Optional Description

deviceId

디바이스 ID

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 110

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "snsType" : "NORMAL"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.snsType

String

가입한 SNS형식. 가능한 값: [NORMAL, KAKAO, GOOGLE, APPLE]

회원탈퇴 API

HTTP Request

DELETE /api/v1/user/withdraw HTTP/1.1
Content-Type: application/json
Host: localhost:8080

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 99

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "id" : 12
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

탈퇴완료된 id

WithdrawReason API

탈퇴사유 등록 API

HTTP Request

POST /api/v1/withdraw/reason HTTP/1.1
Content-Type: application/json
Content-Length: 52
Host: localhost:8080

{
  "reason" : "앱을 잘 사용하지 않아요"
}

Request Fields

Path Type Optional Description

reason

String

탈퇴 사유

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 109

{
  "statusCode" : 201,
  "httpStatus" : "CREATED",
  "message" : "CREATED",
  "data" : {
    "id" : 13
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.id

Number

등록성공한 탈퇴사유 ID

LuckkidsMission API

럭키즈 미션 등록 API

HTTP Request

POST /api/v1/luckkidsMission HTTP/1.1
Content-Type: application/json
Content-Length: 308
Host: localhost:8080

{
  "missions" : [ {
    "missionType" : "HEALTH",
    "missionDescription" : "아침 일찍 일어나기",
    "alertTime" : "01:00:00",
    "sort" : 1
  }, {
    "missionType" : "HOUSEKEEPING",
    "missionDescription" : "아침에 청소기 돌리기",
    "alertTime" : "01:00:00",
    "sort" : 1
  } ]
}

Request Fields

Path Type Optional Description

missions[]

Array

미션 목록

missions[].missionType

String

미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT]

missions[].missionDescription

String

미션명

missions[].alertTime

String

알림시간

missions[].sort

Number

정렬값

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 454

{
  "statusCode" : 201,
  "httpStatus" : "CREATED",
  "message" : "CREATED",
  "data" : {
    "missions" : [ {
      "id" : 1,
      "missionType" : "HEALTH",
      "missionDescription" : "아침 일찍 일어나기",
      "alertTime" : "01:00:00",
      "sort" : 1
    }, {
      "id" : 1,
      "missionType" : "HOUSEKEEPING",
      "missionDescription" : "아침에 청소기 돌리기",
      "alertTime" : "01:00:00",
      "sort" : 1
    } ]
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.missions[]

Array

미션 목록

data.missions[].id

Number

ID

data.missions[].missionType

String

미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT]

data.missions[].missionDescription

String

미션명

data.missions[].alertTime

String

알림시간

data.missions[].sort

Number

정렬값

LuckMessageHistory API

오늘의 행운의 한마디 조회 API

HTTP Request

GET /api/v1/luckMessageHistory?deviceId=testdeviceId HTTP/1.1
Host: localhost:8080

Unresolved directive in api/luckMessageHistory/luckMessageHistory.adoc - include::/home/runner/work/luckkids-server/luckkids-server/build/generated-snippets/luckMessageHistory-findOne/request-fields.adoc[]

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 144

{
  "statusCode" : 200,
  "httpStatus" : "OK",
  "message" : "OK",
  "data" : {
    "messageDescription" : "테스트 오늘의 한마디"
  }
}
Path Type Description

statusCode

Number

코드

httpStatus

String

상태

message

String

메세지

data

Object

응답 데이터

data.messageDescription

String

오늘의 행운 한마디