본문으로 건너뛰기
버전: 개발 버전 (최신)

연구 데이터 API

참고: 이 문서에 설명된 모든 API는 dta-wir-medi-api 애플리케이션에 구현되어 있습니다. (Go)

개요

연구 데이터 API는 임상 연구 환자 관리, 데이터 조회 및 분석을 위한 기능을 제공합니다.

주요기능

  • 환자 관리: 연구 환자 등록, 조회, 제거
  • 데이터 조회: 환자 목록, 수면 데이터, 설문 데이터 조회
  • 정보 수정: 메모, 무작위번호 수정
  • 액세스 코드: 연구 환자용 액세스 코드 생성 및 발송
  • 검증: 무작위번호 검증, 비밀번호 검증
  • 사이트 관리: 연구 사이트 목록 조회
  • 불성실 관리: 불성실 환자 등록 및 관리
[GET] /v1/research/users - 연구 환자 목록 조회

연구 환자 목록 조회

[클라이언트 수정 필요]
asis: /v1/research/patients
tobe: /v1/research/users

임상 연구에 참여 중인 환자 목록을 조회합니다. 환자의 기본 정보, 치료 진행 상황, 수면 데이터, 설문 데이터 등을 포함합니다.

  • HTTP Method: GET
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.

Query Parameters

필드타입설명RequiredDefault
limitnumber한 페이지당 항목 수50
pagenumber페이지 번호 (1부터 시작)1
sortBystring정렬 기준 필드startAt
sortOrderstring정렬 순서 (asc, desc)desc
noncomplianceboolean불성실 환자만 조회false
siteIdnumber사이트 ID (특정 사이트 필터링)-
searchKeystring검색어 (이름, 슬립큐코드, 무작위번호)-

Request 예시

GET /v1/research/users?limit=20&page=1&sortBy=startAt&sortOrder=desc&siteId=1

Responses

Http Status Code설명Error Code(s)
200 OK조회 성공-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"total": 100,
"count": 20,
"data": [
{
"userCycleId": 12345,
"status": 2,
"user": {
"id": 1001,
"name": "홍길동",
"birthDate": "1990-01-15"
},
"account": {
"id": 501,
"name": "김의사"
},
"randomizationCode": "RND-001",
"memo": "특이사항 없음",
"accesscode": {
"code": "ABC123XYZ",
"createdAt": "2024-01-10T09:00:00Z"
},
"activityTimeline": {
"startedAt": "2024-01-10T09:00:00Z",
"lastLogin": "2024-03-15T14:30:00Z",
"appUsageDays": 45
},
"day": 50,
"learningStatus": {
"done": 8,
"total": 12
},
"completedQuestionnaireCount": 3,
"finalQuestionnaireNonCompliance": false,
"sleepRecordCount": 48,
"sleepRecordCountNonCompliance": false,
"pillAdherenceCount": 30,
"aetConsistencyRate": 85,
"lotConsistencyRate": 90,
"weeklySleepData": [
{
"weekNumber": 1,
"isOnTargetWeek": true,
"SE": 75.5,
"WASO": 45.2,
"TST": 360.0,
"SOL": 25.3
},
{
"weekNumber": 6,
"isOnTargetWeek": true,
"SE": 85.2,
"WASO": 30.1,
"TST": 420.0,
"SOL": 15.5
}
],
"noncompliance": false,
"site": {
"id": 1,
"name": "서울대학교병원"
}
}
]
}
필드타입설명
totalnumber전체 항목 수
countnumber현재 페이지 항목 수
dataarray연구 환자 목록

data 배열의 각 항목:

필드타입설명
userCycleIdnumber사용자 사이클 ID
statusnumber환자 상태 (1: 대기, 2: 활성, 3: 완료 필요, 4: 완료, 5: 중단)
userobject사용자 정보
user.idnumber사용자 ID
user.namestring사용자 이름
user.birthDatestring생년월일 (YYYY-MM-DD)
accountobject담당의 정보
account.idnumber담당의 ID
account.namestring담당의 이름
randomizationCodestring무작위번호 (연구 참가자 할당용)
memostring메모 (연구 관련 특이사항)
accesscodeobject액세스 코드 정보
accesscode.codestring슬립큐 코드
accesscode.createdAtstring처방일 (ISO 8601 형식)
activityTimelineobject활동 타임라인
activityTimeline.startedAtstring등록일 (ISO 8601 형식)
activityTimeline.lastLoginstring마지막 앱 사용 (ISO 8601 형식)
activityTimeline.appUsageDaysnumber앱 접속 일 수
daynumber치료 일차
learningStatusobject학습 진행 상태 (선택)
learningStatus.donenumber완료한 학습 수
learningStatus.totalnumber전체 학습 수
completedQuestionnaireCountnumber완료한 설문 횟수
finalQuestionnaireNonComplianceboolean마지막 설문 불성실 여부
sleepRecordCountnumber수면 기록 횟수
sleepRecordCountNonComplianceboolean수면 기록 불성실 여부
pillAdherenceCountnumber수면제 복용 횟수
aetConsistencyRatenumber기상시각 준수율 (%)
lotConsistencyRatenumber취침시각 준수율 (%)
weeklySleepDataarray주차별 수면 데이터 (1주차, 6주차 등)
noncomplianceboolean전체 불성실 여부 (수면 기록 또는 설문 불성실)
siteobject사이트 정보 (STUDY_ADMIN Position인 경우에만 표시)

weeklySleepData 배열의 각 항목:

필드타입설명
weekNumbernumber주차 번호
isOnTargetWeekboolean목표 주차 여부
SEnumber수면 효율 (%) (선택)
WASOnumber입면 후 각성 시간 (분) (선택)
TSTnumber총 수면 시간 (분) (선택)
SOLnumber입면 잠복기 (분) (선택)

참고사항:

  • 일반 연구자는 자신이 속한 사이트의 환자만 조회 가능
  • STUDY_ADMIN Position을 가진 경우 모든 사이트 조회 가능 및 site 정보 표시
  • status가 Active(2)이고 endAt을 지난 경우 자동으로 CompletionRequired(3)로 변경됨
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[GET] /v1/research/users/options - 환자 옵션 조회

환자 옵션 조회

[클라이언트 수정 필요]
asis: /v1/research/patients/options
tobe: /v1/research/users/options

드롭다운 또는 선택 목록을 위한 간단한 환자 정보를 조회합니다.

  • HTTP Method: GET
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.

Query Parameters

필드타입설명Required
siteIdnumber사이트 ID
searchKeystring검색어 (이름, 슬립큐코드, 무작위번호)

Request 예시

GET /v1/research/patients/options?siteId=1&searchKey=홍길동

Responses

Http Status Code설명Error Code(s)
200 OK조회 성공-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"data": [
{
"userCycleId": 12345,
"userName": "홍길동",
"userBirthDate": "1990-01-15"
},
{
"userCycleId": 12346,
"userName": "김영희",
"userBirthDate": "1985-05-20"
}
]
}
필드타입설명
dataarray환자 옵션 목록

data 배열의 각 항목:

필드타입설명
userCycleIdnumber사용자 사이클 ID
userNamestring사용자 이름
userBirthDatestring생년월일 (YYYY-MM-DD)
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[POST] /v1/research/users - 연구 환자 등록

연구 환자 등록

[클라이언트 수정 필요]
asis: /v1/research/patients
tobe: /v1/research/users

기존 userCycleId를 가진 사용자를 연구 환자로 등록합니다.

  • HTTP Method: POST
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.
Content-Typeapplication/json요청 본문 형식

Request Body

필드타입설명Required
userCycleIdnumber사용자 사이클 ID
randomizationCodestring무작위번호

Request Body 예시

{
"userCycleId": 12345,
"randomizationCode": "RND-001"
}

Responses

Http Status Code설명Error Code(s)
200 OK연구 환자 등록 성공-
400 Bad Request잘못된 요청BAD_REQUEST (40000)
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"success": true
}
필드타입설명
successboolean성공 여부 (true)
400 Bad Request - 잘못된 요청
{
"status": 400,
"code": 40000,
"message": "유효하지 않은 무작위번호 입니다."
}

발생 가능한 에러 메시지:

  • "유효하지 않은 무작위번호 입니다." - randomizationCode가 비어있거나 유효하지 않음
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[POST] /v1/research/users/{userId} - userId 연구 환자 생성

userId로 연구 환자 생성

[클라이언트 수정 필요]
asis: /v1/research/patients/users/{userCycleId}
tobe: /v1/research/users/{userId}

특정 userCycleId를 가진 사용자를 연구 환자로 생성합니다.

  • HTTP Method: POST
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.

Path Parameters

필드타입설명Required
userIdnumber사용자 ID

Request 예시

POST /v1/research/users/12345

Responses

Http Status Code설명Error Code(s)
200 OK생성 성공-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{}

빈 객체가 반환됩니다.

401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[DELETE] /v1/research/users/{userId} - 연구 환자 제거

연구 환자 제거

[클라이언트 수정 필요]
asis: /v1/research/patients/{userCycleId}
tobe: /v1/research/users/{userId}

연구 환자를 제거합니다. 제거하기 전에 비밀번호 검증이 필요합니다.

  • HTTP Method: DELETE
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.

Path Parameters

필드타입설명Required
userIdnumber사용자 ID

Query Parameters

필드타입설명Required
tokenstring비밀번호 검증 후 발급받은 제거 인증 토큰

Request 예시

DELETE /v1/research/patients/12345?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Responses

Http Status Code설명Error Code(s)
200 OK제거 성공-
400 Bad Request잘못된 요청BAD_REQUEST (40000)
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"success": true
}
필드타입설명
successboolean성공 여부 (true)
400 Bad Request - 잘못된 요청
{
"status": 400,
"code": 40000,
"message": "유효하지 않은 토큰입니다."
}

발생 가능한 에러 메시지:

  • "유효하지 않은 토큰입니다." - token이 유효하지 않거나 만료됨
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[PATCH] /v1/research/users/{userId}/memo - 환자 메모 수정

환자 메모 수정

[클라이언트 수정 필요]
asis: /v1/research/patients/{userCycleId}/memo
tobe: /v1/research/users/{userId}/memo

연구 환자의 메모를 수정합니다. 메모는 연구 관련 특이사항이나 중요한 정보를 기록하는 용도로 사용됩니다.

  • HTTP Method: PATCH
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.
Content-Typeapplication/json요청 본문 형식

Path Parameters

필드타입설명Required
userIdnumber사용자 ID

Request Body

필드타입설명Required
memostring메모

Request Body 예시

{
"memo": "환자 상태 양호. 다음 주 추가 상담 필요."
}

Responses

Http Status Code설명Error Code(s)
200 OK수정 성공-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"success": true
}
필드타입설명
successboolean성공 여부 (true)
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[PATCH] /v1/research/patients/{userCycleId}/randomization-code - 무작위번호 수정

무작위번호 수정

[클라이언트 수정 필요]
asis: /v1/research/patients/{userCycleId}/randomization-code
tobe: /v1/research/users/{userId}/randomization-code

연구 환자의 무작위번호를 수정합니다. 무작위번호는 연구 참가자를 무작위로 할당하기 위해 사용됩니다.

  • HTTP Method: PATCH
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.
Content-Typeapplication/json요청 본문 형식

Path Parameters

필드타입설명Required
userIdnumber사용자 ID

Request Body

필드타입설명Required
randomizationCodestring무작위번호

Request Body 예시

{
"randomizationCode": "RND-002"
}

Responses

Http Status Code설명Error Code(s)
200 OK수정 성공-
400 Bad Request잘못된 요청BAD_REQUEST (40000)
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"success": true
}
필드타입설명
successboolean성공 여부 (true)
400 Bad Request - 잘못된 요청
{
"status": 400,
"code": 40000,
"message": "유효하지 않은 무작위번호 입니다."
}

발생 가능한 에러 메시지:

  • "유효하지 않은 무작위번호 입니다." - randomizationCode가 비어있거나 이미 사용 중
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[POST] /v1/research/accesscodes - 액세스 코드 생성 및 알림 전송

액세스 코드 생성 및 알림 전송

연구 환자용 액세스 코드(슬립큐 코드)를 생성하고 이메일 또는 SMS로 전송합니다.

  • HTTP Method: POST
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.
Content-Typeapplication/json요청 본문 형식

Request Body

필드타입설명RequiredDefault
emailstring이메일 주소-
phonestring전화번호-
accountIdnumber담당의 계정 ID-
siteIdnumber사이트 ID-
groupIdnumber그룹 ID-
registrationChannelIdnumber등록 채널 ID6 (SleepQ Dashboard)
saveAccountIdboolean담당의 저장 여부-
notificationMethodstring알림 방법 (EMAIL, SMS, IN_APP, MANUAL, Unknown)EMAIL
randomizationCodestring무작위번호-
validDaysnumber유효 기간 (일)-

참고:

  • email 또는 phone 중 하나는 필수입니다.
  • notificationMethod가 Unknown인 경우 EMAIL로 설정됩니다.

Request Body 예시

{
"email": "patient@example.com",
"accountId": 501,
"siteId": 1,
"groupId": 10,
"registrationChannelId": 6,
"saveAccountId": true,
"notificationMethod": "EMAIL",
"randomizationCode": "RND-001",
"validDays": 90
}

Responses

Http Status Code설명Error Code(s)
200 OK생성 성공-
400 Bad Request잘못된 요청BAD_REQUEST (40000)
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"accesscode": "ABC123XYZ",
"accesscodeCreatedAt": "2024-03-15T10:00:00Z",
"accesscodeExpiresAt": "2024-06-13T10:00:00Z",
"sent": true
}
필드타입설명
accesscodestring생성된 액세스 코드
accesscodeCreatedAtstring생성 일시 (ISO 8601 형식)
accesscodeExpiresAtstring만료 일시 (ISO 8601 형식)
sentboolean알림 전송 성공 여부
400 Bad Request - 잘못된 요청
{
"status": 400,
"code": 40000,
"message": "잘못된 무작위번호 입니다."
}

발생 가능한 에러 메시지:

  • "잘못된 무작위번호 입니다." - randomizationCode가 비어있음
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[POST] /v1/research/patients/randomization-code/validate - 무작위번호 검증

무작위번호 검증

무작위번호의 사용 가능 여부를 검증합니다.

  • HTTP Method: POST
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.
Content-Typeapplication/json요청 본문 형식

Request Body

필드타입설명Required
randomizationCodestring무작위번호

Request Body 예시

{
"randomizationCode": "RND-001"
}

Responses

Http Status Code설명Error Code(s)
200 OK검증 완료-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"available": true,
"reason": null
}

또는

{
"available": false,
"reason": "이미 사용 중인 무작위번호입니다."
}
필드타입설명
availableboolean사용 가능 여부
reasonstring사용 불가능한 경우 이유 (선택)
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[POST] /v1/research/patients/remove/verify-password - 환자 제거를 위한 비밀번호 검증

환자 제거를 위한 비밀번호 검증

[클라이언트 수정 필요]
asis: Request Body의 userCycleId (사용자 사이클 ID)
tobe: Request Body의 userId (사용자 ID)

연구 환자를 제거하기 전에 담당자의 비밀번호를 검증하고 제거 인증 토큰을 발급합니다.

  • HTTP Method: POST
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.
Content-Typeapplication/json요청 본문 형식

Request Body

필드타입설명Required
passwordstring담당자 비밀번호
userIdnumber사용자 ID

Request Body 예시

{
"password": "mySecurePassword123!",
"userId": 12345
}

Responses

Http Status Code설명Error Code(s)
200 OK검증 성공-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
필드타입설명
tokenstring제거 인증 토큰 (환자 제거 API에서 사용)

참고:

  • 발급받은 token은 제한된 시간 동안만 유효합니다.
  • token을 사용하여 DELETE /v1/research/users/{userId} API를 호출하면 환자를 제거할 수 있습니다.
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}

발생 가능한 경우:

  • 액세스 토큰이 유효하지 않음
  • 비밀번호가 일치하지 않음
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[GET] /v1/research/sites - 연구 사이트 목록 조회

연구 사이트 목록 조회

연구 관련 사이트 목록을 조회합니다.

  • HTTP Method: GET
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.

Request 예시

GET /v1/research/sites

Responses

Http Status Code설명Error Code(s)
200 OK조회 성공-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{
"sites": [
{
"id": 1,
"name": "서울대학교병원",
"description": "서울특별시 종로구",
"code": "SNUH",
"clinicalResearch": true,
"managedByCrm": true,
"createdAt": "2024-01-10T08:00:00Z"
},
{
"id": 2,
"name": "연세대학교병원",
"code": "YUHS",
"clinicalResearch": true,
"managedByCrm": true,
"createdAt": "2024-01-11T09:30:00Z"
}
]
}
필드타입설명
sitesarray사이트 목록

sites 배열의 각 항목:

필드타입설명
idnumber사이트 ID
namestring사이트(병원) 이름
descriptionstring사이트 설명 (선택)
codestring사이트 코드 (선택)
clinicalResearchboolean임상 연구 사이트 여부
managedByCrmbooleanCRM 관리 여부
createdAtstring생성 일시 (ISO 8601 형식)
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
[POST] /v1/research/patients/non-compliance - 불성실 환자 등록/수정

불성실 환자 등록/수정

[클라이언트 수정 필요]
asis: Request Body의 userCycleId (사용자 사이클 ID)
tobe: Request Body의 userId (사용자 ID)

불성실 환자 정보를 등록하거나 수정합니다.

  • HTTP Method: POST
  • 인증: 액세스 토큰 (accessToken) 필요

Headers

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.
Content-Typeapplication/json요청 본문 형식

Request Body

필드타입설명Required
userIdnumber사용자 ID (선택)
contextIdnumber컨텍스트 ID

Request Body 예시

{
"userId": 12345,
"contextId": 1001
}

Responses

Http Status Code설명Error Code(s)
200 OK등록/수정 성공-
401 Unauthorized인증 실패UNAUTHORIZED (40100)
500 Internal Server Error서버 내부 오류INTERNAL_SERVER_ERROR (50000)
200 OK - 성공
{}

빈 객체가 반환됩니다.

401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}