> For the complete documentation index, see [llms.txt](https://tech.x2bee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tech.x2bee.com/api/back-office-api/system-bo-api/undefined-4.md).

# 로그인

## 비밀번호 초기화

> \## 기능설명\
> \* 계정의 비밀번호를 초기화합니다.\
> \---\
> \## 상세설명\
> \* 입력한 휴대폰 번호와 입력한 아이디 계정의 휴대폰 번호가 일치해야만 초기화 처리가 가능합니다.\
> \* 알파벳 소문자 5자, 숫자3자, 특수문자2자 가 랜덤으로 조합됩니다.\
> \* 초기화 된 비밀번호 안내 알림톡(카카오톡)이 입력한 휴대폰 번호로 발송됩니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE BO API","version":"v1"},"servers":[{"url":"https://api-bo.x2bee.com/api/bo/","description":"prd"}],"security":[{"accessToken":[]}],"components":{"securitySchemes":{"accessToken":{"type":"http","name":"accessToken","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"LoginRequest":{"type":"object","properties":{"seq":{"type":"integer","format":"int64"},"loginId":{"type":"string","minLength":1},"password":{"type":"string"},"remoteAddr":{"type":"string"},"lastAccessTime":{"type":"integer","format":"int64"},"userGbCd":{"type":"string"},"rtGrpNo":{"type":"string"},"jobGrpCd":{"type":"string"},"ocpCd":{"type":"string"},"caloUrl":{"type":"string"},"sysGbCd":{"type":"string"},"userId":{"type":"string"},"pwd":{"type":"string"},"userNm":{"type":"string"},"cellSctNo":{"type":"string"},"cellTxnoNo":{"type":"string"},"cellEndNo":{"type":"string"},"pwdIniYn":{"type":"string"},"sessId":{"type":"string"},"tpCd":{"type":"string"},"entrNo":{"type":"string"},"entrNm":{"type":"string"},"applicationName":{"type":"string"},"privacyPolicyInfoList":{"type":"array","items":{"$ref":"#/components/schemas/PrivacyPolicyInfo"}},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"username":{"type":"string"},"permissionToViewPersonalInfo":{"type":"object","additionalProperties":{}},"name":{"type":"string"},"enabled":{"type":"boolean"}},"required":["loginId"]},"PrivacyPolicyInfo":{"type":"object","description":"개인정보취급권한 DTO","properties":{"userId":{"type":"string","description":"사용자 아이디"},"indInfoGbCd":{"type":"string","description":"개인정보구분코드(UR008)"},"useYn":{"type":"string","description":"사용여부"}}},"ResponseString":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"type":"string","description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}},"Response":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}}}},"paths":{"/v1/login/initializePasswordOnLogin":{"put":{"tags":["로그인"],"summary":"비밀번호 초기화","description":"## 기능설명\n* 계정의 비밀번호를 초기화합니다.\n---\n## 상세설명\n* 입력한 휴대폰 번호와 입력한 아이디 계정의 휴대폰 번호가 일치해야만 초기화 처리가 가능합니다.\n* 알파벳 소문자 5자, 숫자3자, 특수문자2자 가 랜덤으로 조합됩니다.\n* 초기화 된 비밀번호 안내 알림톡(카카오톡)이 입력한 휴대폰 번호로 발송됩니다.\n","operationId":"initializePasswordOnLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"성공","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseString"}}}},"900":{"description":"업무처리 오류 내용","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}}}
```

## 로그인 토큰 갱신(Refresh)

> \## 기능설명\
> \* 토큰 갱신을 수행합니다.\
> \---\
> \## 상세설명\
> \* refresh token을 이용하여 access token을 갱신합니다.\
> \* refresh token은 쿠키에 저장되어 있어야 합니다.\
> \* 발급받은 access token은 헤더에 accessToken으로 포함하여 사용합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE BO API","version":"v1"},"servers":[{"url":"https://api-bo.x2bee.com/api/bo/","description":"prd"}],"security":[{"accessToken":[]}],"components":{"securitySchemes":{"accessToken":{"type":"http","name":"accessToken","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ResponseLoginResponseV2":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"$ref":"#/components/schemas/LoginResponseV2","description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"LoginResponseV2":{"type":"object","description":"로그인 Response V2","properties":{"accessToken":{"type":"string","description":"Access Token"},"refreshToken":{"type":"string","description":"Refresh Token"}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}},"paths":{"/v2/token/refresh":{"post":{"tags":["로그인"],"summary":"로그인 토큰 갱신(Refresh)","description":"## 기능설명\n* 토큰 갱신을 수행합니다.\n---\n## 상세설명\n* refresh token을 이용하여 access token을 갱신합니다.\n* refresh token은 쿠키에 저장되어 있어야 합니다.\n* 발급받은 access token은 헤더에 accessToken으로 포함하여 사용합니다.\n","operationId":"validRefreshToken","responses":{"200":{"description":"토큰 갱신 성공","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseLoginResponseV2"}}}},"401":{"description":"토큰 갱신 실패","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseLoginResponseV2"}}}}}}}}}
```

## Access Token 검증

> \## 기능설명\
> \* Access Token 검증을 수행합니다.\
> \---\
> \## 상세설명\
> \* Access Token 을 이용하여 토큰의 상태를 확인합니다.\
> \* 토큰이 만료된 경우와 이상한지를 구분하여 반환합니다.\
> \* 토큰이 정상인 경우는 로그인 아이디를 반환합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE BO API","version":"v1"},"servers":[{"url":"https://api-bo.x2bee.com/api/bo/","description":"prd"}],"security":[{"accessToken":[]}],"components":{"securitySchemes":{"accessToken":{"type":"http","name":"accessToken","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"LoginResponseV2":{"type":"object","description":"로그인 Response V2","properties":{"accessToken":{"type":"string","description":"Access Token"},"refreshToken":{"type":"string","description":"Refresh Token"}}},"ResponseString":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"type":"string","description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}},"paths":{"/v2/token/access":{"post":{"tags":["로그인"],"summary":"Access Token 검증","description":"## 기능설명\n* Access Token 검증을 수행합니다.\n---\n## 상세설명\n* Access Token 을 이용하여 토큰의 상태를 확인합니다.\n* 토큰이 만료된 경우와 이상한지를 구분하여 반환합니다.\n* 토큰이 정상인 경우는 로그인 아이디를 반환합니다.\n","operationId":"validAccessToken","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponseV2"}}},"required":true},"responses":{"200":{"description":"토큰 검증 성공","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseString"}}}},"401":{"description":"토큰 검증 실패","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseString"}}}}}}}}}
```

## 로그아웃

> \## 기능설명\
> \* 로그아웃을 수행합니다.\
> \---\
> \## 상세설명\
> \* refresh token을 이용하여 로그아웃을 수행합니다.\
> \* refresh token은 쿠키에 저장되어 있어야 합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE BO API","version":"v1"},"servers":[{"url":"https://api-bo.x2bee.com/api/bo/","description":"prd"}],"security":[{"accessToken":[]}],"components":{"securitySchemes":{"accessToken":{"type":"http","name":"accessToken","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/v2/logout":{"post":{"tags":["로그인"],"summary":"로그아웃","description":"## 기능설명\n* 로그아웃을 수행합니다.\n---\n## 상세설명\n* refresh token을 이용하여 로그아웃을 수행합니다.\n* refresh token은 쿠키에 저장되어 있어야 합니다.\n","operationId":"logout","responses":{"200":{"description":"로그아웃 성공","content":{"*/*":{"schema":{"type":"string"}}}}}}}}}
```

## 로그인

> \## 기능설명\
> \* 로그인을 수행합니다.\
> \---\
> \## 상세설명\
> \* id, password를 입력받아 로그인을 수행합니다.\
> \* 로그인 성공시 access token, refresh token을 발급합니다.\
> \* 발급받은 access token은 헤더에 accessToken으로 포함하여 사용합니다.\
> \* 발급받은 refresh token은 쿠키에 저장하여 사용합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE BO API","version":"v1"},"servers":[{"url":"https://api-bo.x2bee.com/api/bo/","description":"prd"}],"security":[{"accessToken":[]}],"components":{"securitySchemes":{"accessToken":{"type":"http","name":"accessToken","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"LoginRequest":{"type":"object","properties":{"seq":{"type":"integer","format":"int64"},"loginId":{"type":"string","minLength":1},"password":{"type":"string"},"remoteAddr":{"type":"string"},"lastAccessTime":{"type":"integer","format":"int64"},"userGbCd":{"type":"string"},"rtGrpNo":{"type":"string"},"jobGrpCd":{"type":"string"},"ocpCd":{"type":"string"},"caloUrl":{"type":"string"},"sysGbCd":{"type":"string"},"userId":{"type":"string"},"pwd":{"type":"string"},"userNm":{"type":"string"},"cellSctNo":{"type":"string"},"cellTxnoNo":{"type":"string"},"cellEndNo":{"type":"string"},"pwdIniYn":{"type":"string"},"sessId":{"type":"string"},"tpCd":{"type":"string"},"entrNo":{"type":"string"},"entrNm":{"type":"string"},"applicationName":{"type":"string"},"privacyPolicyInfoList":{"type":"array","items":{"$ref":"#/components/schemas/PrivacyPolicyInfo"}},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"username":{"type":"string"},"permissionToViewPersonalInfo":{"type":"object","additionalProperties":{}},"name":{"type":"string"},"enabled":{"type":"boolean"}},"required":["loginId"]},"PrivacyPolicyInfo":{"type":"object","description":"개인정보취급권한 DTO","properties":{"userId":{"type":"string","description":"사용자 아이디"},"indInfoGbCd":{"type":"string","description":"개인정보구분코드(UR008)"},"useYn":{"type":"string","description":"사용여부"}}},"Response":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}},"paths":{"/v2/login":{"post":{"tags":["로그인"],"summary":"로그인","description":"## 기능설명\n* 로그인을 수행합니다.\n---\n## 상세설명\n* id, password를 입력받아 로그인을 수행합니다.\n* 로그인 성공시 access token, refresh token을 발급합니다.\n* 발급받은 access token은 헤더에 accessToken으로 포함하여 사용합니다.\n* 발급받은 refresh token은 쿠키에 저장하여 사용합니다.\n","operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"로그인 성공","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}},"401":{"description":"로그인 실패","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}}}
```

## 로그인 사용자 정보

> \## 기능설명\
> \* 로그인 된 사용자의 정보를 반환합니다.\
> \---\
> \## 상세설명\
> \* 로그인 사용자의 아이다를 통해 사용자 조회 후 비민감 데이터를 반환합니다.\
> \* access token이 필요합니다.<br>

```json
{"openapi":"3.1.0","info":{"title":"X2BEE BO API","version":"v1"},"servers":[{"url":"https://api-bo.x2bee.com/api/bo/","description":"prd"}],"security":[{"accessToken":[]}],"components":{"securitySchemes":{"accessToken":{"type":"http","name":"accessToken","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ResponseAuthUserInfo":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"result time"},"code":{"type":"string","description":"result code"},"message":{"type":"string","description":"result message"},"isProcess":{"type":"boolean","description":"process check"},"payload":{"$ref":"#/components/schemas/AuthUserInfo","description":"payload"},"error":{"type":"boolean","description":"is error"},"errors":{"type":"array","description":"validation error list","items":{"$ref":"#/components/schemas/ValidationError"}}}},"AuthUserInfo":{"type":"object","properties":{"userId":{"type":"string"},"userNm":{"type":"string"},"emailAddr":{"type":"string"},"entrNo":{"type":"string"},"entrNm":{"type":"string"},"userGbCd":{"type":"string"},"rtGrpNo":{"type":"string"},"jobGrpCd":{"type":"string"},"sysGbCd":{"type":"string"},"rcntUseDtm":{"type":"string","format":"date-time"},"userIpAddr":{"type":"string"},"indInfoDealYn":{"type":"string"}}},"ValidationError":{"type":"object","properties":{"field":{"type":"string","description":"field"},"message":{"type":"string","description":"field message"}}}}},"paths":{"/v2/login/auth":{"get":{"tags":["로그인"],"summary":"로그인 사용자 정보","description":"## 기능설명\n* 로그인 된 사용자의 정보를 반환합니다.\n---\n## 상세설명\n* 로그인 사용자의 아이다를 통해 사용자 조회 후 비민감 데이터를 반환합니다.\n* access token이 필요합니다.\n","operationId":"getAuthUserInfo","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseAuthUserInfo"}}}}}}}}}
```
