{"openapi":"3.0.1","info":{"title":"Boolti Client API","version":"dev"},"servers":[{"url":"/","description":"Default Server URL"}],"security":[{"bearerAuth":[]}],"paths":{"/app/api/v1/pre-question-answers":{"put":{"tags":["사전 질문 답변 API"],"summary":"사전 질문 답변 등록/수정","operationId":"upsertPreQuestionAnswers","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreQuestionAnswerCreateListRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreQuestionAnswerResponse"}}}}}}}},"/app/v1/logout":{"post":{"tags":["login-controller"],"operationId":"logout","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/app/papi/v1/signup/sns":{"post":{"tags":["signup-controller"],"operationId":"snsSignUp","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnsSignUpRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SignupResponse"}}}}}}},"/app/papi/v1/login/refresh":{"post":{"tags":["login-controller"],"operationId":"loginByRefreshToken","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRefreshRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LoginTokenResponse"}}}}}}},"/app/papi/v1/login/kakao":{"post":{"tags":["login-controller"],"operationId":"kakaoLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KakaoLoginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}}}},"/app/papi/v1/login/appleid":{"post":{"tags":["login-controller"],"operationId":"appleIdLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppleIdLoginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}}}},"/app/papi/v1/device-token":{"post":{"tags":["device-token-controller"],"operationId":"registerDeviceToken","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDeviceTokenRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RegisterDeviceTokenResponse"}}}}}}},"/app/api/v1/user/profile-images/upload-urls":{"post":{"tags":["유저 관련 API"],"summary":"프로필 이미지 업로드용 url 생성","operationId":"createProfileImageUploadUrls","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FileUploadUrlResponse"}}}}}}},"/app/api/v1/ticket/entrance":{"post":{"tags":["티켓 관련 API"],"summary":"공연 입장","operationId":"entranceShow","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntranceShowRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"boolean"}}}}}}},"/app/api/v1/ticket/entrance/manager":{"post":{"tags":["티켓 관련 API"],"summary":"공연 관리자 코드 입장","operationId":"entranceManagerCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntranceManagerCodeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"boolean"}}}}}}},"/app/api/v1/reservation/sales-ticket":{"post":{"tags":["앱 예약 관련 API"],"summary":"무료 판매 티켓 예약 생성","description":"예약 PK를 반환한다.","operationId":"createNewSalesTicketReservation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeSalesTicketReservationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReservationCreatedResponse"}}}}}}},"/app/api/v1/reservation/invite-ticket":{"post":{"tags":["앱 예약 관련 API"],"summary":"초대 티켓 예약 생성","description":"예약 PK를 반환한다.","operationId":"createNewInviteTicketReservation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteTicketReservationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReservationCreatedResponse"}}}}}}},"/app/api/v1/order/receive-gift":{"post":{"tags":["선물 관련 API"],"summary":"선물 수령","description":"선물을 수령한다.","operationId":"receiveGift","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiveGiftRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"boolean"}}}}}}},"/app/api/v1/order/payment-info":{"post":{"tags":["앱 예약 관련 API"],"summary":"결제 정보 임시 저장","description":"결제 정보를 임시 저장한다.","operationId":"createTemporaryPaymentInfo","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemporaryPaymentInfoRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OrderTemporaryPaymentInfoResponse"}}}}}}},"/app/api/v1/order/gift-approve-payment":{"post":{"tags":["선물 관련 API"],"summary":"선물 예약 및 결제 승인","description":"선물 결제를 승인한다.","operationId":"giftApprovePayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderGiftApprovePaymentRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OrderGiftApprovePaymentResponse"}}}}}}},"/app/api/v1/order/free-gift-reservation":{"post":{"tags":["선물 관련 API"],"summary":"무료 선물 예약 생성","description":"무료 선물 예약을 생성한다.","operationId":"createFreeGiftReservation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GiftFreeTicketReservationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OrderGiftApprovePaymentResponse"}}}}}}},"/app/api/v1/order/cancel-receive-gift":{"post":{"tags":["선물 관련 API"],"summary":"[APP] 받은 사람 선물 취소","description":"받은 사람이 선물을 취소한다.","operationId":"cancelReceiveGift","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelGiftRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"boolean"}}}}}}},"/app/api/v1/order/cancel-payment":{"post":{"tags":["앱 예약 관련 API"],"summary":"결제 취소","description":"결제를 취소한다.","operationId":"cancelPaymentRequest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCancelPaymentRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"boolean"}}}}}}},"/app/api/v1/order/cancel-gift":{"post":{"tags":["선물 관련 API"],"summary":"[APP] 보낸 사람 선물 취소","description":"보낸 사람이 선물을 취소한다.","operationId":"cancelGift","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelGiftRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"boolean"}}}}}}},"/app/api/v1/order/approve-payment":{"post":{"tags":["앱 예약 관련 API"],"summary":"예약 및 결제 승인","description":"결제를 승인한다.","operationId":"approvePayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderApprovePaymentRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OrderApprovePaymentResponse"}}}}}}},"/app/api/v1/user":{"get":{"tags":["유저 관련 API"],"summary":"유저 정보 조회","description":"유저 정보를 조회한다.","operationId":"getUserInfo_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserInfoResponse"}}}}}},"delete":{"tags":["유저 관련 API"],"operationId":"removeUserApp","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUserRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}},"patch":{"tags":["유저 관련 API"],"summary":"유저 프로필 수정","description":"유저 프로필 정보를 수정한다.","operationId":"modifyUserProfile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserProfileRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserInfoResponse"}}}}},"deprecated":true}},"/app/api/v1/user/videos":{"get":{"tags":["유저 관련 API"],"summary":"유저가 등록한 전체 영상 리스트","operationId":"getUserVideo_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}},"patch":{"tags":["유저 관련 API"],"summary":"영상 수정","operationId":"modifyUserVideoList","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/app/api/v1/user/upcoming-visible":{"patch":{"tags":["유저 관련 API"],"summary":"다가오는 공연 노출 flag 업데이트","operationId":"modifyUpcomingVisible","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFlagRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserFlagResponse"}}}}}}},"/app/api/v1/user/sns":{"patch":{"tags":["유저 관련 API"],"summary":"SNS 링크 수정","operationId":"modifyUserSnsList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserSNSListRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserSNSListResponse"}}}}}}}},"/app/api/v1/user/profile-image":{"patch":{"tags":["유저 관련 API"],"summary":"유저 프로필 이미지 수정","operationId":"modifyUserProfileImage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserProfileImageRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ModifyUserProfileImageResponse"}}}}}}},"/app/api/v1/user/past-visible":{"patch":{"tags":["유저 관련 API"],"summary":"지난 공연 노출 flag 업데이트","operationId":"modifyPastVisible","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFlagRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserFlagResponse"}}}}}}},"/app/api/v1/user/nickname":{"patch":{"tags":["유저 관련 API"],"summary":"닉네임 수정","operationId":"modifyUserNickname","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserNicknameRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserNicknameResponse"}}}}}}},"/app/api/v1/user/links":{"get":{"tags":["유저 관련 API"],"summary":"유저가 등록한 전체 링크 리스트","operationId":"getUserLink_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserLinkListResponse"}}}}}}},"patch":{"tags":["유저 관련 API"],"summary":"링크 수정","operationId":"modifyUserLinkList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserLinkListRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserLinkListResponse"}}}}}}}},"/app/api/v1/user/introduction":{"patch":{"tags":["유저 관련 API"],"summary":"소개 수정","operationId":"modifyUserIntroduction","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserIntroductionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserIntroductionResponse"}}}}}}},"/app/api/v1/user/code":{"patch":{"tags":["유저 관련 API"],"summary":"유저 코드 수정","operationId":"modifyUserCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserCodeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ModifyUserCodeResponse"}}}}}}},"/app/papi/v1/show/{id}":{"get":{"tags":["앱 공연 관련 API"],"summary":"공연 상세 조회","description":"전체 공연 이미지 경로 포함","operationId":"getShowDetailById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ShowDetailResponse"}}}}}}},"/app/v1/naver-maps/geocoding":{"get":{"tags":["naver-maps-proxy-controller"],"summary":"Naver Maps Geocoding API","description":"Naver Maps Geocoding API를 사용하여 주소를 좌표로 변환합니다. https://api.ncloud-docs.com/docs/application-maps-geocoding","operationId":"getGeocodingResult","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}},{"name":"coordinate","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/app/papi/v2/users/{userCode}/videos":{"get":{"tags":["유저 관련 Common V2 API"],"summary":"유저의 전체 영상 리스트 조회 V2","description":"[Sprint 3 유저 프로필 고도화] 유저 식별 코드로 유저의 전체 영상 리스트를 조회할 수 있다.","operationId":"getUserVideo","parameters":[{"name":"userCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/app/papi/v2/users/{userCode}/shows":{"get":{"tags":["유저 관련 Common V2 API"],"summary":"유저가 출연한 전체 공연 리스트 조회 V2","description":"[Sprint 3 유저 프로필 고도화] 유저 식별 코드로 유저가 출연한 전체 공연 리스트를 조회할 수 있다.","operationId":"getUserPerformedShow","parameters":[{"name":"userCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}}}}}}},"/app/papi/v2/users/{userCode}/previous-shows":{"get":{"tags":["유저 관련 Common V2 API"],"summary":"유저가 출연한 지난 공연 리스트 조회 V2","description":"[Sprint 3 유저 프로필 고도화] 유저 식별 코드로 유저가 출연한 지난 공연 리스트를 조회할 수 있다.","operationId":"getUserPreviousPerformedShow","parameters":[{"name":"userCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}}}}}}},"/app/papi/v2/users/{userCode}/links":{"get":{"tags":["유저 관련 Common V2 API"],"summary":"유저의 전체 링크 리스트 조회 V2","description":"[Sprint 3 유저 프로필 고도화] 유저 식별 코드로 유저의 전체 링크 리스트를 조회할 수 있다.","operationId":"getUserLink","parameters":[{"name":"userCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserLinkListResponse"}}}}}}}},"/app/papi/v2/users/{userCode}":{"get":{"tags":["유저 관련 Common V2 API"],"summary":"유저 식별 코드로 프로필 조회 V2","description":"[Sprint 3 유저 프로필 고도화] 유저 식별 코드로 유저 프로필 정보를 조회할 수 있다.","operationId":"getUserProfile","parameters":[{"name":"userCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserProfilePublicReadV2Response"}}}}}}},"/app/papi/v1/shows":{"get":{"tags":["탐색 관련 API"],"summary":"공연 검색 (페이지네이션)","description":"공연명으로 LIKE 검색. 예: /app/papi/v1/shows?keyword=공연명&page=0&size=5","operationId":"searchShows","parameters":[{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":5}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedShowResponse"}}}}}}},"/app/papi/v1/shows/{showId}/cast-teams":{"get":{"tags":["common-show-controller"],"summary":"공연의 출연진 목록 조회","description":"없는 공연에 대해 조회할 경우 에러가 발생. 출연진 팀이 없을 경우엔 빈 리스트 반환.","operationId":"getShowCastTeams","parameters":[{"name":"showId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowCastTeamReadResponse"}}}}}}}},"/app/papi/v1/shows/search":{"get":{"tags":["앱 공연 관련 API"],"summary":"전체 공연 목록 및 공연 명 LIKE 조회","description":"LIKE 조회 시 /app/papi/v1/shows/search?nameLike=공연명","operationId":"getShowListByName","parameters":[{"name":"nameLike","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}}}}}}},"/app/papi/v1/shows/autocomplete":{"get":{"tags":["탐색 관련 API"],"summary":"자동 완성","description":"공연명과 아티스트명 자동 완성. 예: /app/papi/v1/shows/autocomplete?keyword=검색어&limit=10","operationId":"autocomplete","parameters":[{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/app/papi/v1/shows/artists":{"get":{"tags":["탐색 관련 API"],"summary":"아티스트 검색 (페이지네이션)","description":"닉네임으로 LIKE 검색. 예: /app/papi/v1/shows/artists?keyword=아티스트명&page=0&size=20","operationId":"searchArtists","parameters":[{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":5}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedArtistResponse"}}}}}}},"/app/papi/v1/search":{"get":{"tags":["탐색 관련 API"],"summary":"탐색 통합 검색","description":"공연, 아티스트, 공연장 탭 결과를 함께 반환한다.","operationId":"searchAll","parameters":[{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":5}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/IntegratedSearchResponse"}}}}}}},"/app/papi/v1/search/overview":{"get":{"tags":["탐색 관련 API"],"summary":"탐색 탭 Overview 조회 (새로 등록된 공연, 요즘 뜨는 검색어)","description":"새로 등록된 공연, 요즘 뜨는 검색어를 조회한다.\n- 새로 등록된 공연은 공연 ID기준 최근 등록한 공연 최대 3개를 응답한다.\n- 요즘 뜨는 검색어는 5개를 응답한다.\n","operationId":"getSearchOverview","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SearchOverviewResponse"}}}}}}},"/app/papi/v1/popup/{view}":{"get":{"tags":["팝업 관련 API"],"operationId":"getAppPopup","parameters":[{"name":"view","in":"path","required":true,"schema":{"type":"string","enum":["HOME","SHOW"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PopupResponse"}}}}}}},"/app/papi/v1/concert-halls/{concertHallId}/images":{"get":{"tags":["공연장 관련 Common API"],"summary":"공연장 사진 전체 목록 조회","operationId":"getImages","parameters":[{"name":"concertHallId","in":"path","description":"공연장 ID","required":true,"schema":{"type":"integer","format":"int64"},"example":1}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConcertHallImageListResponse"}}}}}}},"/app/papi/v1/concert-halls/{concertHallId}":{"get":{"tags":["공연장 관련 Common API"],"summary":"공연장 프로필 조회","operationId":"getProfile","parameters":[{"name":"concertHallId","in":"path","description":"공연장 ID","required":true,"schema":{"type":"integer","format":"int64"},"example":1}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConcertHallProfileResponse"}}}}}}},"/app/papi/v1/concert-halls/share/{shareCode}/images":{"get":{"tags":["공연장 관련 Common API"],"summary":"공연장 사진 전체 목록 조회 (공유코드)","operationId":"getImagesByShareCode","parameters":[{"name":"shareCode","in":"path","description":"공유코드","required":true,"schema":{"type":"string"},"example":"abc123"}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConcertHallImageListResponse"}}}}}}},"/app/papi/v1/concert-halls/share/{shareCode}":{"get":{"tags":["공연장 관련 Common API"],"summary":"공연장 프로필 조회 (공유코드)","operationId":"getProfileByShareCode","parameters":[{"name":"shareCode","in":"path","description":"공유코드","required":true,"schema":{"type":"string"},"example":"abc123"}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConcertHallProfileResponse"}}}}}}},"/app/papi/v1/concert-halls/search":{"get":{"tags":["공연장 관련 Common API"],"summary":"공연장 검색","operationId":"search","parameters":[{"name":"keyword","in":"query","description":"검색 키워드 (부분 일치)","required":false,"schema":{"type":"string"},"example":"홍대"},{"name":"page","in":"query","description":"페이지 번호 (0부터 시작)","required":false,"schema":{"type":"integer","format":"int32","default":0},"example":0},{"name":"size","in":"query","description":"페이지 크기","required":false,"schema":{"type":"integer","format":"int32","default":5},"example":5}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConcertHallSearchResponse"}}}}}}},"/app/api/v2/user":{"get":{"tags":["유저 관련 V2 API"],"summary":"유저 정보 조회 V2","description":"[Sprint 3 유저 프로필 고도화] 유저 정보를 조회한다.","operationId":"getUserInfo","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserInfoV2Response"}}}}}}},"/app/api/v1/user/shows":{"get":{"tags":["유저 관련 API"],"summary":"유저가 출연한 전체 공연 리스트","operationId":"getUserPerformedShow_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}}}}}}},"/app/api/v1/user/previous-shows":{"get":{"tags":["유저 관련 API"],"summary":"유저가 출연한 지난 공연 리스트","operationId":"getUserPreviousPerformedShow_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}}}}}}},"/app/api/v1/user/code/check-duplicate":{"get":{"tags":["유저 관련 API"],"summary":"유저 코드 중복 확인","operationId":"checkDuplicateUserCode","parameters":[{"name":"userCode","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserCodeValidationResponse"}}}}}}},"/app/api/v1/tickets":{"get":{"tags":["티켓 관련 API"],"summary":"(임시)티켓 목록 조회","operationId":"_getTicketListByUserId","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TicketListResponse"}}}}}}}},"/app/api/v1/ticket/{ticketId}":{"get":{"tags":["티켓 관련 API"],"summary":"(임시)티켓 상세 조회","operationId":"getTicketDetailById","parameters":[{"name":"ticketId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TicketDetailResponse"}}}}}}},"/app/api/v1/ticket/reservation/{reservationId}":{"get":{"tags":["티켓 관련 API"],"summary":"티켓 상세 조회","operationId":"getTicketDetailById_1","parameters":[{"name":"reservationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReservationTicketDetailListResponse"}}}}}}},"/app/api/v1/shows/{showId}/pre-questions":{"get":{"tags":["사전 질문 API"],"summary":"앱용 공연 사전 질문 조회","operationId":"getPreQuestions","parameters":[{"name":"showId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreQuestionResponse"}}}}}}}},"/app/api/v1/sales-ticket-type/{showId}":{"get":{"tags":["sales-ticket-type-controller"],"operationId":"getSalesTicketTypeListByShowId","parameters":[{"name":"showId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesTicketTypeResponse"}}}}}}}},"/app/api/v1/reservations":{"get":{"tags":["앱 예약 관련 API"],"summary":"예약 목록 조회","description":"예약 목록을 조회한다.","operationId":"getReservations","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReservationListResponse"}}}}}}}},"/app/api/v1/reservation/{reservationId}":{"get":{"tags":["앱 예약 관련 API"],"summary":"예약 상세 조회","description":"예약 상세를 조회한다.","operationId":"getReservation","parameters":[{"name":"reservationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReservationDetailResponse"}}}}}}},"/app/api/v1/reservation/tickets":{"get":{"tags":["티켓 관련 API"],"summary":"티켓 목록 조회","operationId":"getTicketListByUserId","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReservationTicketListResponse"}}}}}}}},"/app/api/v1/reservation/payment-info":{"get":{"tags":["앱 예약 관련 API"],"summary":"결제 정보 확인","description":"결제 정보를 확인한다.","operationId":"getReservationPaymentInfo","parameters":[{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ReservationPaymentInfoRequest"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReservationPaymentInfoResponse"}}}}}}},"/app/api/v1/pre-question-answers/{reservationId}":{"get":{"tags":["사전 질문 답변 API"],"summary":"사전 질문 답변 조회","operationId":"getPreQuestionAnswerDetail","parameters":[{"name":"reservationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PreQuestionAnswerDetailResponse"}}}}}}},"/app/api/v1/host/shows":{"get":{"tags":["호스트 관련 API"],"summary":"호스트 공연 목록 조회","description":"호스트가 진행하는 공연 목록을 조회한다.","operationId":"getShowList","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShowListByHostResponse"}}}}}}}},"/app/api/v1/host/manager-code/{showId}":{"get":{"tags":["호스트 관련 API"],"summary":"관리자 코드 조회","description":"공연의 관리자 코드를 조회한다","operationId":"getManagerCode","parameters":[{"name":"showId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ManagerCodeResponse"}}}}}}},"/app/api/v1/gift/{giftUuid}":{"get":{"tags":["선물 관련 API"],"summary":"선물 정보 조회","description":"선물 정보를 조회한다.","operationId":"getGiftInfo","parameters":[{"name":"giftUuid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GiftResponse"}}}}}}},"/app/api/v1/gift/img-list":{"get":{"tags":["선물 관련 API"],"summary":"선물 이미지 목록 조회","description":"선물 이미지 목록을 조회한다.","operationId":"getGiftImgList","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GiftImg"}}}}}}}},"/app/api/v1/gift/approve-payment-info/{giftId}":{"get":{"tags":["선물 관련 API"],"summary":"선물 결제 정보 조회","description":"선물 결제 정보를 조회한다.","operationId":"getGiftApprovePaymentInfo","parameters":[{"name":"giftId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GiftApprovePaymentInfoResponse"}}}}}}},"/app/api/v1/check/invite-code":{"get":{"tags":["앱 예약 관련 API"],"summary":"초대 코드 확인","description":"초대 코드를 확인한다.","operationId":"checkInviteCode","parameters":[{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/CheckInviteCodeRequest"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckInviteCodeResponse"}}}}}}}},"components":{"schemas":{"PreQuestionAnswerCreateListRequest":{"required":["answers","reservationId"],"type":"object","properties":{"reservationId":{"type":"integer","format":"int64"},"answers":{"type":"array","items":{"$ref":"#/components/schemas/PreQuestionAnswerCreateRequest"}}}},"PreQuestionAnswerCreateRequest":{"required":["preQuestionId"],"type":"object","properties":{"preQuestionId":{"type":"integer","description":"사전 질문 ID","format":"int64"},"answer":{"maxLength":100,"minLength":0,"type":"string","description":"답변(100자 이내)"}}},"PreQuestionAnswerResponse":{"type":"object","properties":{"id":{"type":"integer","description":"사전 질문 답변 ID","format":"int64"},"preQuestionId":{"type":"integer","description":"사전 질문 ID","format":"int64"},"userId":{"type":"integer","description":"유저 ID","format":"int64"},"reservationName":{"type":"string","description":"예매자명"},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 타입 ID","format":"int64"},"reservationId":{"type":"integer","description":"예약 ID","format":"int64"},"answer":{"type":"string","description":"답변"},"createdAt":{"type":"string","description":"생성일시","format":"date-time"},"modifiedAt":{"type":"string","description":"수정일시","format":"date-time"}}},"SnsSignUpRequest":{"required":["oauthIdentity","oauthType"],"type":"object","properties":{"nickname":{"type":"string"},"email":{"type":"string"},"phoneNumber":{"type":"string"},"oauthType":{"type":"string","enum":["KAKAO","APPLE"]},"oauthIdentity":{"type":"string"},"imgPath":{"type":"string"}}},"SignupResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"}}},"TokenRefreshRequest":{"required":["refreshToken"],"type":"object","properties":{"refreshToken":{"type":"string"}}},"LoginTokenResponse":{"type":"object","properties":{"accessToken":{"type":"string","description":"새로 발급된 액세스 토큰"},"refreshToken":{"type":"string","description":"새로 발급된 리프레시 토큰"}}},"KakaoLoginRequest":{"required":["accessToken"],"type":"object","properties":{"accessToken":{"type":"string"}}},"LoginResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"signUpRequired":{"type":"boolean","description":"회원 가입 필요 여부"},"removeCancelled":{"type":"boolean","description":"탈퇴 요청 취소 여부"}}},"AppleIdLoginRequest":{"required":["idToken"],"type":"object","properties":{"idToken":{"type":"string"}}},"RegisterDeviceTokenRequest":{"required":["deviceToken","deviceType"],"type":"object","properties":{"deviceToken":{"type":"string","description":"디바이스 토큰","example":"deviceToken"},"deviceType":{"type":"string","description":"디바이스 타입","example":"ANDROID","enum":["ANDROID","IOS"]}}},"RegisterDeviceTokenResponse":{"type":"object","properties":{"tokenId":{"type":"integer","description":"토큰 아이디","format":"int64","example":1}}},"FileUploadUrlResponse":{"type":"object","properties":{"uploadUrl":{"type":"string","description":"업로드용 pre-signed url. 5분간 유효."},"expectedUrl":{"type":"string","description":"업로드된 파일에 접근 가능한 url. 공연 정보 수정 등 api 요청 시 사용"}},"description":"웹 호스트용 공연 포스터 업로드용 url 생성 응답"},"EntranceShowRequest":{"required":["entryCode","showId"],"type":"object","properties":{"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"entryCode":{"type":"string","description":"입장 코드","example":"1234"}}},"EntranceManagerCodeRequest":{"required":["managerCode","showId","ticketId"],"type":"object","properties":{"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"ticketId":{"type":"integer","description":"티켓 ID","format":"int64","example":1},"managerCode":{"type":"string","description":"관리자 코드","example":"1234"}}},"FreeSalesTicketReservationRequest":{"required":["salesTicketTypeId","showId","userId"],"type":"object","properties":{"userId":{"type":"integer","description":"사용자 ID","format":"int64","example":1},"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"ticketCount":{"type":"integer","description":"티켓 예약 수량","format":"int32","example":1},"reservationName":{"type":"string","description":"예약자 이름","example":"홍길동"},"reservationPhoneNumber":{"type":"string","description":"예약자 전화번호","example":"01012345678"}}},"ReservationCreatedResponse":{"type":"object","properties":{"reservationId":{"type":"integer","format":"int64"}}},"InviteTicketReservationRequest":{"required":["inviteCode","reservationName","reservationPhoneNumber","salesTicketTypeId","showId","userId"],"type":"object","properties":{"userId":{"type":"integer","description":"사용자 ID","format":"int64","example":1},"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"reservationName":{"type":"string","description":"예약자 이름","example":"홍길동"},"reservationPhoneNumber":{"type":"string","description":"예약자 전화번호","example":"01012345678"},"inviteCode":{"type":"string","description":"초대 코드","example":"홍길동"}}},"ReceiveGiftRequest":{"type":"object","properties":{"giftUuid":{"type":"string","description":"선물 UUID","example":"7fd8bdea-a183-4482-9ecc-f5bc54dd2763"}}},"CreateTemporaryPaymentInfoRequest":{"required":["salesTicketTypeId","showId","ticketCount"],"type":"object","properties":{"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"ticketCount":{"type":"integer","description":"티켓 수량","format":"int32","example":1}}},"OrderTemporaryPaymentInfoResponse":{"required":["orderId"],"type":"object","properties":{"orderId":{"type":"string","description":"주문 ID","example":"1"}}},"OrderGiftApprovePaymentRequest":{"required":["salesTicketTypeId","showId"],"type":"object","properties":{"orderId":{"type":"string","description":"주문 ID","example":"1"},"amount":{"type":"integer","description":"결제 금액","format":"int32","example":10000},"paymentKey":{"type":"string","description":"결제 키","example":"QWERREWQ"},"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"ticketCount":{"type":"integer","description":"티켓 예약 수량","format":"int32","example":1},"giftImgId":{"type":"integer","description":"선물 이미지 ID","format":"int64","example":1},"message":{"type":"string","description":"선물 메시지","example":"선물 메시지입니다."},"senderName":{"type":"string","description":"보내는 사람 이름","example":"홍길동"},"senderPhoneNumber":{"type":"string","description":"보내는 사람 이름","example":"01012345678"},"recipientName":{"type":"string","description":"받는 사람 이름","example":"홍길동"},"recipientPhoneNumber":{"type":"string","description":"받는 사람 전화번호","example":"01012345678"}}},"OrderGiftApprovePaymentResponse":{"type":"object","properties":{"orderId":{"type":"string"},"reservationId":{"type":"integer","format":"int64"},"giftId":{"type":"integer","format":"int64"},"giftUuid":{"type":"string"}}},"GiftFreeTicketReservationRequest":{"required":["salesTicketTypeId","showId"],"type":"object","properties":{"amount":{"type":"integer","description":"결제 금액","format":"int32","example":10000},"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"ticketCount":{"type":"integer","description":"티켓 예약 수량","format":"int32","example":1},"giftImgId":{"type":"integer","description":"선물 이미지 ID","format":"int64","example":1},"message":{"type":"string","description":"선물 메시지","example":"선물 메시지입니다."},"senderName":{"type":"string","description":"보내는 사람 이름","example":"홍길동"},"senderPhoneNumber":{"type":"string","description":"보내는 사람 이름","example":"01012345678"},"recipientName":{"type":"string","description":"받는 사람 이름","example":"홍길동"},"recipientPhoneNumber":{"type":"string","description":"받는 사람 이름","example":"01012345678"}}},"CancelGiftRequest":{"type":"object","properties":{"giftUuid":{"type":"string","description":"선물 UUID","example":"12345678-1234-1234-1234-123456789012"}}},"OrderCancelPaymentRequest":{"type":"object","properties":{"reservationId":{"type":"integer","description":"예약 ID","format":"int64","example":1},"cancelReason":{"type":"string","description":"취소 사유","example":"그냥 맘에 안 들어서 취소요~"}}},"OrderApprovePaymentRequest":{"required":["salesTicketTypeId","showId"],"type":"object","properties":{"orderId":{"type":"string","description":"주문 ID","example":"1"},"amount":{"type":"integer","description":"결제 금액","format":"int32","example":10000},"paymentKey":{"type":"string","description":"결제 키","example":"QWERREWQ"},"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"ticketCount":{"type":"integer","description":"티켓 예약 수량","format":"int32","example":1},"reservationName":{"type":"string","description":"예약자 이름","example":"홍길동"},"reservationPhoneNumber":{"type":"string","description":"예약자 전화번호","example":"01012345678"},"depositorName":{"type":"string","description":"입금자 이름","example":"홍길동"},"depositorPhoneNumber":{"type":"string","description":"입금자 전화번호","example":"01012345678"}}},"OrderApprovePaymentResponse":{"type":"object","properties":{"orderId":{"type":"string"},"reservationId":{"type":"integer","format":"int64"}}},"ModifyUserProfileRequest":{"type":"object","properties":{"nickname":{"type":"string","description":"닉네임","example":"홍길동"},"profileImagePath":{"type":"string","description":"프로필 이미지 경로. opt.","nullable":true,"example":"https://example.com/profile.jpg"},"introduction":{"type":"string","description":"소개. opt.","nullable":true,"example":"안녕하세요"},"link":{"type":"array","description":"링크","nullable":true,"example":[{"title":"YouTube","link":"https://example.com"},{"title":"Instagram","link":"https://example.com"}],"items":{"$ref":"#/components/schemas/UserLink"}},"sns":{"type":"array","description":"sns 링크","nullable":true,"example":[{"type":"YOUTUBE","username":"yunmin"},{"type":"INSTAGRAM","username":"minyun"}],"items":{"$ref":"#/components/schemas/UserSns"}}}},"UserLink":{"type":"object","properties":{"title":{"type":"string"},"link":{"type":"string"}},"description":"링크","nullable":true,"example":[{"title":"YouTube","link":"https://example.com"},{"title":"Instagram","link":"https://example.com"}]},"UserSns":{"type":"object","properties":{"type":{"type":"string","enum":["INSTAGRAM","YOUTUBE"]},"username":{"type":"string"}},"description":"sns 링크","nullable":true,"example":[{"type":"YOUTUBE","username":"yunmin"},{"type":"INSTAGRAM","username":"minyun"}]},"ShowSummariesResponse":{"required":["date","id","isNonTicketing","name","showImg"],"type":"object","properties":{"id":{"type":"integer","description":"공연 ID","format":"int64","example":1},"name":{"type":"string","description":"공연 이름","example":"Show A"},"date":{"type":"string","description":"공연 날짜","format":"date-time"},"salesStartTime":{"type":"string","description":"공연 판매 시작 시간","format":"date-time"},"salesEndTime":{"type":"string","description":"공연 판매 종료 시간","format":"date-time"},"showImg":{"type":"string","description":"공연 이미지 경로","example":"https://example.com/showA.jpg"},"isNonTicketing":{"type":"boolean","description":"티켓팅 미진행 공연 여부","example":false}},"description":"공연 요약 정보 응답","example":{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}},"UserInfoResponse":{"type":"object","properties":{"id":{"type":"integer","description":"유저 ID","format":"int64"},"nickname":{"type":"string","description":"유저 닉네임"},"email":{"type":"string","description":"유저 이메일"},"userCode":{"type":"string","description":"유저코드 (권한 부여 시)","example":"EBNM77QP"},"imgPath":{"type":"string","description":"유저 프로필 이미지 경로","example":"https://example.com/profile.jpg"},"introduction":{"type":"string","description":"유저 소개"},"link":{"type":"array","description":"유저 링크","example":[{"title":"YouTube","link":"https://example.com"},{"title":"Instagram","link":"https://example.com"}],"items":{"$ref":"#/components/schemas/UserLink"}},"sns":{"type":"array","description":"유저 sns 링크","example":[{"type":"YouTube","username":"yunmin"},{"type":"Instagram","username":"minyun"}],"items":{"$ref":"#/components/schemas/UserSns"}},"oauthType":{"type":"string","description":"가입 시 사용한 oauth 제공자","example":"APPLE","enum":["KAKAO","APPLE"]},"performedShow":{"type":"array","description":"출연한 공연 리스트","items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}}},"UserFlagRequest":{"type":"object","properties":{"visible":{"type":"boolean","description":"flag를 넣어주세요","example":true}}},"UserFlagResponse":{"type":"object","properties":{"result":{"type":"boolean","description":"업데이트된 flag 값","example":true}},"description":"공연 노출 flag 업데이트 응답"},"ModifyUserSNSListRequest":{"type":"object","properties":{"sns":{"type":"array","description":"SNS","example":[{"type":"YOUTUBE","username":"boolti"},{"type":"INSTAGRAM","username":"boolti"}],"items":{"$ref":"#/components/schemas/UserSns"}}},"description":"유저 SNS 수정 요청","example":{"sns":[{"type":"YOUTUBE","username":"boolti"},{"type":"INSTAGRAM","username":"boolti"}]}},"UserSNSListResponse":{"type":"object","properties":{"type":{"type":"string","description":"SNS 타입","example":"YOUTUBE","enum":["INSTAGRAM","YOUTUBE"]},"username":{"type":"string","description":"SNS 계정","example":"boolti"}},"description":"유저 SNS 응답","example":{"type":"YOUTUBE","username":"boolti"}},"ModifyUserProfileImageRequest":{"type":"object","properties":{"profileImagePath":{"type":"string","description":"프로필 이미지 경로. opt.","nullable":true,"example":"https://example.com/profile.jpg"}}},"ModifyUserProfileImageResponse":{"type":"object","properties":{"profileImagePath":{"type":"string","description":"프로필 이미지 경로. opt.","nullable":true,"example":"https://example.com/profile.jpg"}},"description":"유저 프로필 이미지 응답","example":{"profileImagePath":"https://example.com/profile.jpg"}},"ModifyUserNicknameRequest":{"required":["nickname"],"type":"object","properties":{"nickname":{"maxLength":12,"minLength":1,"type":"string","description":"유저 닉네임"}}},"UserNicknameResponse":{"type":"object","properties":{"nickname":{"type":"string","description":"유저 닉네임"}},"description":"닉네임 수정 응답","example":{"nickname":"불티"}},"ModifyUserLinkListRequest":{"type":"object","properties":{"link":{"type":"array","description":"링크","example":[{"title":"YouTube","link":"https://example.com"},{"title":"Instagram","link":"https://example.com"}],"items":{"$ref":"#/components/schemas/UserLink"}}}},"UserLinkListResponse":{"type":"object","properties":{"title":{"type":"string","description":"링크 타이틀","example":"YouTube"},"link":{"type":"string","description":"링크","example":"https://www.youtube.com/@boolti"}},"description":"유저 링크 응답","example":{"title":"YouTube","link":"https://www.youtube.com/@boolti"}},"ModifyUserIntroductionRequest":{"type":"object","properties":{"introduction":{"type":"string","description":"유저 소개"}}},"UserIntroductionResponse":{"type":"object","properties":{"introduction":{"type":"string","description":"유저 소개"}},"description":"소개 수정 응답","example":{"introduction":"안녕하세요. 불티입니다."}},"ModifyUserCodeRequest":{"required":["userCode"],"type":"object","properties":{"userCode":{"maxLength":20,"minLength":4,"type":"string","description":"유저 코드"}}},"ModifyUserCodeResponse":{"type":"object","properties":{"userCode":{"type":"string","description":"유저 코드"}},"description":"유저 코드 수정 응답","example":{"userCode":"EBNM77QP"}},"ShowDetailResponse":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"groupId":{"type":"integer","format":"int64"},"name":{"type":"string"},"placeName":{"type":"string"},"date":{"type":"string","format":"date-time"},"isEnded":{"type":"boolean","description":"공연 종료 여부"},"runningTime":{"type":"integer","format":"int32"},"streetAddress":{"type":"string"},"detailAddress":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"notice":{"type":"string"},"managerCode":{"type":"string"},"salesStartTime":{"type":"string","format":"date-time"},"salesEndTime":{"type":"string","format":"date-time"},"deletedAt":{"type":"string","format":"date-time"},"showImg":{"type":"array","items":{"$ref":"#/components/schemas/ShowImg"}},"hostName":{"type":"string"},"hostPhoneNumber":{"type":"string"},"reservationStatus":{"type":"boolean"},"salesTicketCount":{"type":"integer","description":"판매 티켓 수","format":"int64"},"isNonTicketing":{"type":"boolean"}}},"ShowImg":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"showId":{"type":"integer","format":"int64"},"path":{"type":"string"},"thumbnailPath":{"type":"string"},"sequence":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"modifiedAt":{"type":"string","format":"date-time"},"removedAt":{"type":"string","format":"date-time"}}},"ComingSoonShowPreviewResponse":{"type":"object","properties":{"isVisible":{"type":"boolean","description":"다가오는 공연 노출 여부","example":true},"totalSize":{"type":"integer","description":"전체 공연 개수","format":"int32","example":1},"hasMoreItems":{"type":"boolean","description":"더 불러올 공연이 있는지 여부","example":false},"previewItems":{"type":"array","description":"불러올 공연 목록","example":[{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}],"items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}},"description":"유저의 다가오는 공연 일부 목록 응답 (프로필 편집 > 다가오는 공연 노출 OFF시, 빈 리스트 응답)","example":{"isVisible":true,"totalSize":1,"hasMoreItems":false,"previewItems":[{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}]}},"PerformedShowPreviewResponse":{"type":"object","properties":{"isVisible":{"type":"boolean","description":"지난 공연 노출 여부","example":true},"totalSize":{"type":"integer","description":"전체 공연 개수","format":"int32","example":1},"hasMoreItems":{"type":"boolean","description":"더 불러올 공연이 있는지 여부","example":false},"previewItems":{"type":"array","description":"불러올 공연 목록","example":[{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}],"items":{"$ref":"#/components/schemas/ShowSummariesResponse"}}},"description":"유저가 출연한 공연 일부 목록 응답 (최대 5개, 프로필 편집 > 지난 공연 노출 OFF시, 빈 리스트 응답)","example":{"isVisible":true,"totalSize":1,"hasMoreItems":false,"previewItems":[{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}]}},"UserLinkPreviewResponse":{"type":"object","properties":{"totalSize":{"type":"integer","description":"전체 링크 개수","format":"int32","example":2},"hasMoreItems":{"type":"boolean","description":"더 불러올 링크가 있는지 여부","example":false},"previewItems":{"type":"array","description":"불러올 링크 목록","example":[{"title":"YouTube","link":"https://example.com"},{"title":"Instagram","link":"https://example.com"}],"items":{"$ref":"#/components/schemas/UserLink"}}},"description":"유저 링크 일부 목록 응답(최대 3개)","example":{"totalSize":2,"hasMoreItems":false,"previewItems":[{"title":"YouTube","link":"https://example.com"},{"title":"Instagram","link":"https://example.com"}]}},"UserProfilePublicReadV2Response":{"type":"object","properties":{"nickname":{"title":"유저 닉네임","type":"string"},"userCode":{"title":"유저코드","type":"string","description":"유저코드는 권한 부여 시에도 사용","example":"EBNM77QP"},"imgPath":{"title":"유저 프로필 이미지 경로","type":"string","example":"https://example.com/profile.jpg"},"introduction":{"title":"유저 소개","type":"string","example":"재미있는 음악을 추구해요."},"link":{"$ref":"#/components/schemas/UserLinkPreviewResponse"},"sns":{"type":"array","description":"유저 SNS","example":[{"type":"INSTAGRAM","username":"yunmin"},{"type":"YOUTUBE","username":"minyun"}],"items":{"$ref":"#/components/schemas/UserSns"}},"comingSoonShow":{"$ref":"#/components/schemas/ComingSoonShowPreviewResponse"},"performedShow":{"$ref":"#/components/schemas/PerformedShowPreviewResponse"},"video":{"$ref":"#/components/schemas/UserVideoPreviewResponse"}}},"UserVideoPreviewResponse":{"type":"object","properties":{"totalSize":{"type":"integer","description":"전체 링크 개수","format":"int32","example":2},"hasMoreItems":{"type":"boolean","description":"더 불러올 링크가 있는지 여부","example":false},"previewItems":{"type":"array","description":"불러올 링크 목록","example":["https://youtu.be/qb17TexmrWU?si=eWtFbjdK93t3FuQV","https://youtu.be/oMk46C5Cjws?si=DYrJwalQe4D4g6xt"],"items":{"type":"string","description":"불러올 링크 목록","example":"[\"https://youtu.be/qb17TexmrWU?si=eWtFbjdK93t3FuQV\",\"https://youtu.be/oMk46C5Cjws?si=DYrJwalQe4D4g6xt\"]"}}},"description":"유저 영상 일부 목록 응답(최대 3개)","example":{"totalSize":2,"hasMoreItems":false,"previewItems":["https://youtu.be/qb17TexmrWU?si=eWtFbjdK93t3FuQV","https://youtu.be/oMk46C5Cjws?si=DYrJwalQe4D4g6xt"]}},"PagedShowResponse":{"required":["currentPage","hasNext","items","pageSize","totalElements","totalPages"],"type":"object","properties":{"items":{"type":"array","description":"공연 목록","items":{"$ref":"#/components/schemas/ShowSummariesResponse"}},"currentPage":{"type":"integer","description":"현재 페이지 번호 (0부터 시작)","format":"int32","example":0},"pageSize":{"type":"integer","description":"페이지 크기 (한 페이지당 항목 수)","format":"int32","example":5},"totalElements":{"type":"integer","description":"전체 공연 수","format":"int64","example":150},"totalPages":{"type":"integer","description":"전체 페이지 수","format":"int32","example":8},"hasNext":{"type":"boolean","description":"다음 페이지 존재 여부","example":true}},"description":"페이지네이션이 적용된 공연 목록 응답","example":{"items":[{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}],"currentPage":0,"pageSize":20,"totalElements":150,"totalPages":8,"hasNext":true}},"Member":{"title":"출연진 팀 멤버 목록","type":"object","properties":{"id":{"title":"출연진 팀 멤버 ID","type":"integer","description":"유저 식별자와 다름 주의.","format":"int64"},"userCode":{"title":"유저 식별 코드","type":"string"},"userImgPath":{"type":"string","description":"유저 프로필 이미지 경로","nullable":true,"example":"https://example.com/profile.jpg"},"userNickname":{"title":"유저 닉네임","type":"string"},"roleName":{"title":"출연진 팀 멤버 역할 이름","type":"string"},"createdAt":{"title":"출연진 팀 멤버 생성 일시","type":"string","format":"date-time"},"modifiedAt":{"title":"출연진 팀 멤버 수정 일시","type":"string","format":"date-time"}},"description":"팀원이 없을 경우 빈 리스트"},"ShowCastTeamReadResponse":{"type":"object","properties":{"id":{"title":"출연진 팀 식별자","type":"integer","format":"int64"},"name":{"title":"출연진 팀 이름","type":"string"},"members":{"title":"출연진 팀 멤버 목록","type":"array","description":"팀원이 없을 경우 빈 리스트","items":{"$ref":"#/components/schemas/Member"}},"createdAt":{"title":"팀 생성 일시","type":"string","format":"date-time"},"modifiedAt":{"title":"팀 수정 일시","type":"string","format":"date-time"}}},"ArtistResponse":{"required":["id","imgPath","nickname","userCode"],"type":"object","properties":{"id":{"type":"integer","description":"아티스트 ID","format":"int64","example":1},"nickname":{"type":"string","description":"아티스트 닉네임","example":"아티스트명"},"userCode":{"type":"string","description":"아티스트 유저 코드","example":"ABC12345"},"imgPath":{"type":"string","description":"아티스트 이미지 경로","example":"/images/artists/1.jpg"}},"description":"아티스트 정보 응답","example":{"id":1,"nickname":"아티스트명","userCode":"ABC12345"}},"PagedArtistResponse":{"required":["currentPage","hasNext","items","pageSize","totalElements","totalPages"],"type":"object","properties":{"items":{"type":"array","description":"아티스트 목록","items":{"$ref":"#/components/schemas/ArtistResponse"}},"currentPage":{"type":"integer","description":"현재 페이지 번호 (0부터 시작)","format":"int32","example":0},"pageSize":{"type":"integer","description":"페이지 크기 (한 페이지당 항목 수)","format":"int32","example":20},"totalElements":{"type":"integer","description":"전체 유저 수","format":"int64","example":150},"totalPages":{"type":"integer","description":"전체 페이지 수","format":"int32","example":8},"hasNext":{"type":"boolean","description":"다음 페이지 존재 여부","example":true}},"description":"페이지네이션이 적용된 아티스트 목록 응답","example":{"items":[{"nickname":"아티스트명","userCode":"ABC12345"}],"currentPage":0,"pageSize":20,"totalElements":150,"totalPages":8,"hasNext":true}},"ConcertHallSearchItem":{"type":"object","properties":{"id":{"type":"integer","description":"공연장 ID","format":"int64","example":1},"name":{"type":"string","description":"공연장 이름","example":"홍대 밴드 홀"},"representativeImageUrl":{"type":"string","description":"대표 이미지 URL"},"streetAddress":{"type":"string","description":"도로명 주소","example":"서울 마포구 어울마당로 65"},"detailAddress":{"type":"string","description":"상세 주소","example":"1층"}},"description":"공연장 목록"},"ConcertHallSearchResponse":{"type":"object","properties":{"items":{"type":"array","description":"공연장 목록","items":{"$ref":"#/components/schemas/ConcertHallSearchItem"}},"currentPage":{"type":"integer","description":"현재 페이지 번호 (0부터 시작)","format":"int32","example":0},"pageSize":{"type":"integer","description":"페이지 크기","format":"int32","example":5},"totalElements":{"type":"integer","description":"전체 항목 수","format":"int64","example":25},"totalPages":{"type":"integer","description":"전체 페이지 수","format":"int32","example":5},"hasNext":{"type":"boolean","description":"다음 페이지 존재 여부","example":true}}},"IntegratedSearchResponse":{"type":"object","properties":{"shows":{"$ref":"#/components/schemas/PagedShowResponse"},"artists":{"$ref":"#/components/schemas/PagedArtistResponse"},"concertHalls":{"$ref":"#/components/schemas/ConcertHallSearchResponse"}}},"PopularSearchKeywordListResponse":{"required":["popularSearchKeywords","referenceTime"],"type":"object","properties":{"referenceTime":{"type":"string","description":"요즘 뜨는 검색어 산정 기준 시간","format":"date-time"},"popularSearchKeywords":{"type":"array","description":"요즘 뜨는 검색어 목록","example":["김람지","불티"],"items":{"type":"string","description":"요즘 뜨는 검색어 목록","example":"[\"김람지\",\"불티\"]"}}},"description":"요즘 뜨는 검색어 목록 정보 응답","example":{"referenceTime":"2024-03-01T19:00:00","popularSearchKeywords":[{"rank":1,"keyword":"김람지"},{"rank":2,"keyword":"불티"}]}},"SearchOverviewResponse":{"required":["newCreatedShows","popularSearchKeywords"],"type":"object","properties":{"newCreatedShows":{"type":"array","description":"\"NEW! 새로 등록된 공연\" 목록","example":[{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}],"items":{"$ref":"#/components/schemas/ShowSummariesResponse"}},"popularSearchKeywords":{"$ref":"#/components/schemas/PopularSearchKeywordListResponse"}},"description":"탐색 탭 Overview 응답","example":{"newCreatedShows":[{"id":1,"name":"Show A","date":"2024-03-01T19:00:00","salesStartTime":"2024-02-01T09:00:00","salesEndTime":"2024-03-01T18:00:00","showImg":"https://example.com/showA.jpg","isNonTicketing":false}],"popularSearchKeywords":{"referenceTime":"2024-03-01T19:00:00","popularSearchKeywords":["김람지","불티"]}}},"PopupResponse":{"type":"object","properties":{"id":{"type":"integer","description":"팝업 ID","format":"int64","example":1},"type":{"type":"string","description":"팝업 타입","example":"NOTICE","enum":["NOTICE","EVENT"]},"eventUrl":{"type":"string","description":"이벤트 URL","example":"https://www.naver.com"},"view":{"type":"string","description":"팝업 뷰","example":"HOME","enum":["HOME","SHOW"]},"noticeTitle":{"type":"string","description":"공지 제목","example":"공지사항입니다."},"description":{"type":"string","description":"팝업 설명","example":"공지사항입니다. OR 이벤트 이미지 URL"},"startDate":{"type":"string","description":"팝업 시작 시간","format":"date-time"},"endDate":{"type":"string","description":"팝업 종료 시간","format":"date-time"}}},"ConcertHallImageItem":{"type":"object","properties":{"id":{"type":"integer","description":"사진 ID","format":"int64","example":1},"imageUrl":{"type":"string","description":"원본 이미지 URL"},"thumbnailUrl":{"type":"string","description":"썸네일 이미지 URL"},"sequence":{"type":"integer","description":"노출 순서 (0부터 시작)","format":"int32","example":0}},"description":"사진 목록"},"ConcertHallImageListResponse":{"type":"object","properties":{"items":{"type":"array","description":"사진 목록","items":{"$ref":"#/components/schemas/ConcertHallImageItem"}}}},"ConcertHallProfileAmenity":{"type":"object","properties":{"type":{"type":"string","description":"편의시설 타입 코드","example":"WAITING_ROOM"},"name":{"type":"string","description":"편의시설 이름","example":"대기실"},"count":{"type":"integer","description":"수량 (해당 없으면 null)","format":"int32","example":1}},"description":"편의시설 목록"},"ConcertHallProfileCapacity":{"type":"object","properties":{"seatedCapacity":{"type":"integer","description":"착석 수용 인원","format":"int32","example":50},"standingCapacity":{"type":"integer","description":"입석 수용 인원","format":"int32","example":200}},"description":"수용 인원 정보"},"ConcertHallProfileContact":{"type":"object","properties":{"websiteUrl":{"type":"string","description":"웹사이트 URL","example":"https://example.com"},"phoneNumber":{"type":"string","description":"전화번호","example":"02-1234-5678"},"email":{"type":"string","description":"이메일","example":"contact@example.com"}},"description":"연락처 정보"},"ConcertHallProfileFee":{"type":"object","properties":{"id":{"type":"integer","description":"대관료 ID","format":"int64","example":1},"dayType":{"type":"string","description":"요일 유형","enum":["ANYTIME","MON_TO_THU","WEEKDAY","FRIDAY","SATURDAY","SUNDAY","FRI_TO_SUN","WEEKEND","HOLIDAY","PRE_HOLIDAY_WEEKDAY"]},"dayTypeName":{"type":"string","description":"요일 유형 이름","example":"평일"},"fee":{"type":"integer","description":"금액 (원)","format":"int64","example":300000},"sequence":{"type":"integer","description":"노출 순서 (0부터 시작)","format":"int32","example":0}},"description":"추가 비용 목록"},"ConcertHallProfileHead":{"type":"object","properties":{"rentalFeeSummary":{"type":"string","description":"대관료 요약 텍스트","example":"평일 30만원~"},"capacity":{"$ref":"#/components/schemas/ConcertHallProfileCapacity"},"location":{"$ref":"#/components/schemas/ConcertHallProfileLocation"},"subwayStations":{"type":"array","description":"인근 지하철역 목록","items":{"$ref":"#/components/schemas/ConcertHallProfileSubwayStation"}},"contact":{"$ref":"#/components/schemas/ConcertHallProfileContact"}},"description":"헤더 정보 (대표 스펙 요약)"},"ConcertHallProfileHome":{"type":"object","properties":{"introduction":{"type":"string","description":"공연장 소개"},"images":{"type":"array","description":"사진 목록 (최대 5장 미리보기)","items":{"$ref":"#/components/schemas/ConcertHallProfileImage"}},"totalImageCount":{"type":"integer","description":"전체 사진 수","format":"int32","example":12},"amenities":{"type":"array","description":"편의시설 목록","items":{"$ref":"#/components/schemas/ConcertHallProfileAmenity"}},"location":{"$ref":"#/components/schemas/ConcertHallProfileLocation"}},"description":"홈 탭 정보"},"ConcertHallProfileImage":{"type":"object","properties":{"id":{"type":"integer","description":"사진 ID","format":"int64","example":1},"imageUrl":{"type":"string","description":"원본 이미지 URL"},"thumbnailUrl":{"type":"string","description":"썸네일 이미지 URL"},"sequence":{"type":"integer","description":"노출 순서 (0부터 시작)","format":"int32","example":0}},"description":"사진 목록 (최대 5장 미리보기)"},"ConcertHallProfileLocation":{"type":"object","properties":{"streetAddress":{"type":"string","description":"도로명 주소","example":"서울 마포구 어울마당로 65"},"detailAddress":{"type":"string","description":"상세 주소","example":"1층"},"latitude":{"type":"number","description":"위도","example":37.5563},"longitude":{"type":"number","description":"경도","example":126.9227}},"description":"위치 정보"},"ConcertHallProfilePaidOption":{"type":"object","properties":{"id":{"type":"integer","description":"유상 옵션 ID","format":"int64","example":1},"name":{"type":"string","description":"옵션 이름","example":"음향 엔지니어"},"price":{"type":"integer","description":"옵션 가격 (원)","format":"int64","example":50000}},"description":"유상 옵션 목록"},"ConcertHallProfileRental":{"type":"object","properties":{"rentalMethod":{"type":"string","description":"대관 방법","example":"홈페이지 예약"},"rentalTime":{"$ref":"#/components/schemas/ConcertHallProfileRentalTime"},"rentalFees":{"type":"array","description":"기본 대관료 목록","items":{"$ref":"#/components/schemas/ConcertHallProfileFee"}},"vat":{"$ref":"#/components/schemas/ConcertHallProfileVat"},"additionalFees":{"type":"array","description":"추가 비용 목록","items":{"$ref":"#/components/schemas/ConcertHallProfileFee"}},"instrumentsText":{"type":"string","description":"악기 목록 텍스트","example":"드럼, 기타, 베이스"},"paidOptions":{"type":"array","description":"유상 옵션 목록","items":{"$ref":"#/components/schemas/ConcertHallProfilePaidOption"}},"specialNotes":{"type":"array","description":"특이사항 목록","items":{"type":"string","description":"특이사항 목록"}}},"description":"대관 탭 정보"},"ConcertHallProfileRentalTime":{"type":"object","properties":{"rentalTimeHours":{"type":"integer","description":"대관 시간 (시간 단위)","format":"int32","example":4},"rentalTimeDescription":{"type":"string","description":"대관 시간 설명","example":"4시간 기준"},"isEngineerBreakIncluded":{"type":"boolean","description":"엔지니어 휴식 시간 포함 여부","example":true}},"description":"대관 시간 정보"},"ConcertHallProfileResponse":{"type":"object","properties":{"id":{"type":"integer","description":"공연장 ID","format":"int64","example":1},"name":{"type":"string","description":"공연장 이름","example":"홍대 밴드 홀"},"shareCode":{"type":"string","description":"공유코드","example":"abc123"},"representativeImageUrl":{"type":"string","description":"대표 이미지 URL"},"share":{"$ref":"#/components/schemas/ConcertHallProfileShare"},"hasHomeTabData":{"type":"boolean","description":"홈 탭 데이터 존재 여부","example":true},"hasRentalTabData":{"type":"boolean","description":"대관 탭 데이터 존재 여부","example":true},"head":{"$ref":"#/components/schemas/ConcertHallProfileHead"},"home":{"$ref":"#/components/schemas/ConcertHallProfileHome"},"rental":{"$ref":"#/components/schemas/ConcertHallProfileRental"},"informationUpdatedAt":{"type":"string","description":"정보 최종 업데이트 시각","format":"date-time"}}},"ConcertHallProfileShare":{"type":"object","properties":{"shareCode":{"type":"string","description":"공유코드","example":"abc123"},"title":{"type":"string","description":"공유 제목","example":"홍대 밴드 홀"},"imageUrl":{"type":"string","description":"공유 이미지 URL"}},"description":"공유 정보"},"ConcertHallProfileSubwayLine":{"type":"object","properties":{"id":{"type":"integer","description":"노선 ID","format":"int64","example":2},"lineKey":{"type":"string","description":"노선 키","example":"2"},"lineName":{"type":"string","description":"노선 이름","example":"수도권 2호선"},"colorHex":{"type":"string","description":"노선 색상 코드","example":"#3cb44a"}},"description":"소속 노선 목록"},"ConcertHallProfileSubwayStation":{"type":"object","properties":{"id":{"type":"integer","description":"지하철역 ID","format":"int64","example":1},"stationName":{"type":"string","description":"역 이름","example":"홍대입구"},"region":{"type":"string","description":"지역 (동명이역 구분)","example":"수도권"},"lines":{"type":"array","description":"소속 노선 목록","items":{"$ref":"#/components/schemas/ConcertHallProfileSubwayLine"}}},"description":"인근 지하철역 목록"},"ConcertHallProfileVat":{"type":"object","properties":{"type":{"type":"string","description":"부가세 유형","enum":["NONE","VAT_INCLUDED","VAT_EXCLUDED"]},"description":{"type":"string","description":"부가세 설명","example":"부가세 별도"}},"description":"부가세 정보"},"UserInfoV2Response":{"type":"object","properties":{"id":{"type":"integer","description":"유저 ID","format":"int64"},"nickname":{"type":"string","description":"유저 닉네임"},"email":{"type":"string","description":"유저 이메일"},"userCode":{"type":"string","description":"유저코드 (권한 부여 시)","example":"EBNM77QP"},"imgPath":{"type":"string","description":"유저 프로필 이미지 경로","example":"https://example.com/profile.jpg"},"introduction":{"type":"string","description":"유저 소개"},"link":{"$ref":"#/components/schemas/UserLinkPreviewResponse"},"sns":{"type":"array","description":"유저 sns 링크","example":[{"type":"YouTube","username":"yunmin"},{"type":"Instagram","username":"minyun"}],"items":{"$ref":"#/components/schemas/UserSns"}},"oauthType":{"type":"string","description":"가입 시 사용한 oauth 제공자","example":"APPLE","enum":["KAKAO","APPLE"]},"comingSoonShow":{"$ref":"#/components/schemas/ComingSoonShowPreviewResponse"},"performedShow":{"$ref":"#/components/schemas/PerformedShowPreviewResponse"},"video":{"$ref":"#/components/schemas/UserVideoPreviewResponse"}}},"UserCodeValidationResponse":{"type":"object","properties":{"isDuplicated":{"type":"boolean","description":"유저 코드 중복 여부"}}},"TicketListResponse":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"ticketId":{"type":"integer","format":"int64"},"showName":{"type":"string","description":"공연 이름"},"placeName":{"type":"string","description":"공연 장소"},"showDate":{"type":"string","description":"공연 시작 날짜, 시간. ISO8601.","format":"date-time"},"showImgPath":{"type":"string","description":"공연 포스터 이미지 경로(대표이미지)"},"ticketType":{"type":"string","description":"티켓 타입 (SALE, INVITE)","enum":["SALE","INVITE"]},"ticketName":{"type":"string","description":"판매 티켓 이름"},"entryCode":{"type":"string","description":"입장 코드, 이걸로 QR 생성 하십쇼."},"usedAt":{"type":"string","description":"티켓 사용 시간","format":"date-time"},"ticketCreatedAt":{"type":"string","description":"티켓 생성 시간","format":"date-time"},"csTicketId":{"type":"string","description":"CS용(유저용) 티켓 ID"}}},"TicketDetailResponse":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"showId":{"type":"integer","format":"int64"},"ticketId":{"type":"integer","format":"int64"},"reservationId":{"type":"integer","description":"예약 PK","format":"int64"},"salesTicketTypeId":{"type":"integer","description":"티켓 타입 PK","format":"int64"},"showName":{"type":"string","description":"공연 이름"},"placeName":{"type":"string","description":"공연 장소"},"notice":{"type":"string","description":"안내 사항"},"ticketNotice":{"type":"string","description":"티켓 관련 안내 사항"},"streetAddress":{"type":"string","description":"도로명 주소"},"detailAddress":{"type":"string","description":"상세 주소"},"showDate":{"type":"string","description":"공연 시작 날짜, 시간. ISO8601.","format":"date-time"},"showImgPath":{"type":"string","description":"공연 포스터 이미지 경로(대표이미지)"},"ticketType":{"type":"string","description":"티켓 타입 (SALE, INVITE)","enum":["SALE","INVITE"]},"ticketName":{"type":"string","description":"판매 티켓 이름"},"entryCode":{"type":"string","description":"입장 코드, 이걸로 QR 생성 하십쇼."},"usedAt":{"type":"string","description":"티켓 입장 여부. 사용되었으면 true, 아니면 false.","format":"date-time"},"hostName":{"type":"string","description":"호스트 이름"},"hostPhoneNumber":{"type":"string","description":"호스트 전화번호"},"csReservationId":{"type":"string","description":"CS용(유저용) 예매 ID"},"csTicketId":{"type":"string","description":"CS용(유저용) 티켓 ID"}}},"ReservationTicketDetailListResponse":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"showId":{"type":"integer","format":"int64"},"reservationId":{"type":"integer","format":"int64"},"showName":{"type":"string","description":"공연 이름"},"placeName":{"type":"string","description":"공연 장소"},"streetAddress":{"type":"string","description":"도로명 주소"},"detailAddress":{"type":"string","description":"상세 주소"},"showDate":{"type":"string","description":"공연 시작 날짜, 시간. ISO8601.","format":"date-time"},"notice":{"type":"string","description":"안내 사항"},"ticketNotice":{"type":"string","description":"티켓 안내 사항"},"showImgPath":{"type":"string","description":"공연 포스터 이미지 경로(대표이미지)"},"ticketType":{"type":"string","description":"티켓 타입 (SALE, INVITE)","enum":["SALE","INVITE"]},"ticketName":{"type":"string","description":"판매 티켓 이름"},"hostName":{"type":"string","description":"호스트 이름"},"hostPhoneNumber":{"type":"string","description":"호스트 전화번호"},"tickets":{"type":"array","description":"티켓 정보","items":{"$ref":"#/components/schemas/TicketSummary"}},"giftSenderUserId":{"type":"integer","description":"선물 보낸 사람 ID","format":"int64"},"giftUuid":{"type":"string","description":"선물 UUID"},"salesStartTime":{"type":"string","description":"판매 시작 시간","format":"date-time","nullable":true},"salesEndTime":{"type":"string","description":"판매 종료 시간","format":"date-time","nullable":true}}},"TicketSummary":{"type":"object","properties":{"ticketId":{"type":"integer","format":"int64"},"entryCode":{"type":"string"},"usedAt":{"type":"string","format":"date-time"},"ticketCreatedAt":{"type":"string","format":"date-time"},"csTicketId":{"type":"string"}},"description":"티켓 정보"},"PreQuestionResponse":{"type":"object","properties":{"id":{"type":"integer","description":"사전 질문 ID","format":"int64"},"question":{"type":"string","description":"질문"},"description":{"type":"string","description":"설명"},"isRequired":{"type":"boolean","description":"필수 여부"},"sequence":{"type":"integer","description":"순서","format":"int32"}}},"SalesTicketTypeResponse":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"showId":{"type":"integer","format":"int64"},"ticketType":{"type":"string","enum":["SALE","INVITE"]},"ticketName":{"type":"string"},"price":{"type":"integer","format":"int32"},"quantity":{"type":"integer","format":"int32"}}},"ReservationListResponse":{"required":["reservationDate","reservationId","reservationStatus","salesTicketName","showName"],"type":"object","properties":{"reservationId":{"type":"integer","description":"예약 ID","format":"int64","example":1},"reservationStatus":{"type":"string","description":"예약 상태","example":"RESERVATION_COMPLETED","enum":["WAITING_FOR_DEPOSIT","WAITING_FOR_CARD_PAYMENT","WAITING_FOR_SIMPLE_PAYMENT","CANCELLED","RESERVATION_COMPLETED","WAITING_FOR_REFUND","REFUND_COMPLETED","WAITING_FOR_GIFT_RECEIPT"]},"reservationDate":{"type":"string","description":"예약 일시","format":"date-time"},"showName":{"type":"string","description":"공연 이름","example":"윤민이의 임재범 고해"},"showImg":{"type":"string","description":"공연 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/show/1/1.jpg"},"salesTicketName":{"type":"string","description":"판매 티켓 이름","example":"일반석"},"ticketCount":{"type":"integer","description":"티켓 수량","format":"int32","example":2},"ticketPrice":{"type":"integer","description":"티켓 가격","format":"int32","example":10000},"recipientName":{"type":"string","description":"선물 받는사람 이름"},"giftId":{"type":"integer","description":"선물 id","format":"int64"},"csReservationId":{"type":"string","description":"CS용(유저용) 예매 ID"}}},"CardDetail":{"type":"object","properties":{"installmentPlanMonths":{"type":"integer","format":"int32"},"issuerCode":{"type":"string"}},"description":"카드 결제 정보. 결제수단이 카드일 때만 존재","nullable":true},"EasyPayDetail":{"type":"object","properties":{"provider":{"type":"string"}},"description":"간편결제 제공자. 결제수단이 간편결제일 때만 존재","nullable":true},"ReservationDetailResponse":{"required":["reservationId","salesTicketName","salesTicketType","showDate","showId","showImg","showName","ticketCount"],"type":"object","properties":{"reservationId":{"type":"integer","description":"예약 ID","format":"int64","example":1},"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"showImg":{"type":"string","description":"공연 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/show/1/1.jpg"},"showName":{"type":"string","description":"공연 이름","example":"윤민이의 임재범 고해"},"showDate":{"type":"string","description":"공연 시간","format":"date-time"},"salesTicketName":{"type":"string","description":"판매 티켓 이름","example":"일반석"},"salesTicketType":{"type":"string","description":"판매 티켓 타입","example":"SALE","enum":["SALE","INVITE"]},"ticketCount":{"type":"integer","description":"티켓 수량","format":"int32","example":2},"salesEndTime":{"type":"string","description":"판매 종료 시간","format":"date-time"},"meansType":{"type":"string","description":"결제 수단","example":"ACCOUNT_TRANSFER","enum":["ACCOUNT_TRANSFER","CARD","FREE","SIMPLE_PAYMENT"]},"totalAmountPrice":{"type":"integer","description":"총 결제 금액","format":"int32","example":100000},"reservationStatus":{"type":"string","description":"예약 상태","example":"RESERVATION_COMPLETED","enum":["WAITING_FOR_DEPOSIT","WAITING_FOR_CARD_PAYMENT","WAITING_FOR_SIMPLE_PAYMENT","CANCELLED","RESERVATION_COMPLETED","WAITING_FOR_REFUND","REFUND_COMPLETED","WAITING_FOR_GIFT_RECEIPT"]},"completedTimeStamp":{"type":"string","description":"예약 완료 시간","format":"date-time"},"reservationName":{"type":"string","description":"예약자 이름","example":"윤민이"},"reservationPhoneNumber":{"type":"string","description":"예약자 전화번호","example":"010-1234-5678"},"depositorName":{"type":"string","description":"입금자 이름. optional.","example":"윤민이"},"depositorPhoneNumber":{"type":"string","description":"입금자 전화번호. optional","example":"010-1234-5678"},"csReservationId":{"type":"string","description":"CS용(유저용) 예매 ID"},"cardDetail":{"$ref":"#/components/schemas/CardDetail"},"easyPayDetail":{"$ref":"#/components/schemas/EasyPayDetail"},"transferDetail":{"$ref":"#/components/schemas/TransferDetail"},"giftSenderUserId":{"type":"integer","description":"선물 보낸사람 ID","format":"int64","example":1}}},"TransferDetail":{"type":"object","properties":{"bankCode":{"type":"string"}},"description":"계좌 이체 정보. 결제수단이 계좌이체일 때만 존재","nullable":true},"ReservationTicketListResponse":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"reservationId":{"type":"integer","format":"int64"},"showName":{"type":"string","description":"공연 이름"},"placeName":{"type":"string","description":"공연 장소"},"showDate":{"type":"string","description":"공연 시작 날짜, 시간. ISO8601.","format":"date-time"},"showImgPath":{"type":"string","description":"공연 포스터 이미지 경로(대표이미지)"},"ticketType":{"type":"string","description":"티켓 타입 (SALE, INVITE)","enum":["SALE","INVITE"]},"ticketName":{"type":"string","description":"판매 티켓 이름"},"ticketCount":{"type":"integer","description":"예약 수량","format":"int32"}}},"ReservationPaymentInfoRequest":{"required":["salesTicketTypeId","showId","ticketCount"],"type":"object","properties":{"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"ticketCount":{"type":"integer","description":"티켓 수량","format":"int32","example":2}}},"ReservationPaymentInfoResponse":{"type":"object","properties":{"showName":{"type":"string","description":"공연 이름","example":"윤민이의 임재범 고해"},"showImg":{"type":"string","description":"공연 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/show/1/1.jpg"},"showDate":{"type":"string","description":"공연 일시","format":"date-time"},"saleTicketName":{"type":"string","description":"티켓 이름","example":"일반석"},"salesTicketType":{"type":"string","description":"티켓 타입","example":"SALE","enum":["SALE","INVITE"]},"ticketCount":{"type":"integer","description":"티켓 수량","format":"int32","example":2},"totalAmountPrice":{"type":"integer","description":"총 금액","format":"int32","example":20000},"meansType":{"type":"string","description":"결제 수단","example":"CARD","enum":["ACCOUNT_TRANSFER","CARD","FREE","SIMPLE_PAYMENT"]}}},"Answer":{"type":"object","properties":{"preQuestionId":{"type":"integer","description":"사전 질문 ID","format":"int64"},"question":{"type":"string","description":"질문"},"description":{"type":"string","description":"설명"},"isRequired":{"type":"boolean","description":"필수 여부"},"sequence":{"type":"integer","description":"질문 순서","format":"int32"},"answer":{"type":"string","description":"답변"},"createdAt":{"type":"string","description":"작성일시","format":"date-time"},"modifiedAt":{"type":"string","description":"수정일시","format":"date-time"}},"description":"질문별 답변 목록"},"PreQuestionAnswerDetailResponse":{"type":"object","properties":{"reservationId":{"type":"integer","description":"예약 ID","format":"int64"},"userId":{"type":"integer","description":"유저 ID","format":"int64"},"answers":{"type":"array","description":"질문별 답변 목록","items":{"$ref":"#/components/schemas/Answer"}}}},"ShowListByHostResponse":{"type":"object","properties":{"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"showName":{"type":"string","description":"공연 이름","example":"공연 이름"},"date":{"type":"string","description":"공연 일시","format":"date-time"},"runningTime":{"type":"integer","description":"공연 시간","format":"int32","example":120},"managerCode":{"type":"string","description":"공연 관리자 코드","example":"B1234"},"salesStartTime":{"type":"string","description":"티켓 판매 시작 시간","format":"date-time"},"salesEndTime":{"type":"string","description":"티켓 판매 종료 시간","format":"date-time"},"showImg":{"type":"string"}}},"ManagerCodeResponse":{"required":["managerCode"],"type":"object","properties":{"managerCode":{"type":"string","description":"관리자 코드","example":"1234"}}},"GiftResponse":{"type":"object","properties":{"id":{"type":"integer","description":"선물 ID","format":"int64","example":1},"userId":{"type":"integer","description":"유저 ID","format":"int64","example":1},"orderId":{"type":"string","description":"주문 ID","example":"e7689e97-ffa1-4d76-aeb4-01a1b1288582"},"giftUuid":{"type":"string","description":"선물 UUID","example":"e7689e97-ffa1-4d76-aeb4-01a1b1288582"},"reservationId":{"type":"integer","description":"예매 ID","format":"int64","example":1},"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"showImg":{"type":"string","description":"공연 메인 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/show/1/1.jpg"},"showName":{"type":"string","description":"공연 이름","example":"두둥 페스티벌"},"showDate":{"type":"string","description":"공연 일시","format":"date-time"},"salesTicketName":{"type":"string","description":"판매 티켓명","example":"일반석"},"ticketCount":{"type":"integer","description":"구매 티켓 수량","format":"int32","example":2},"giftImgId":{"type":"integer","description":"선물 이미지 ID","format":"int64","example":1},"giftImgPath":{"type":"string","description":"선물 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/gift/1/1.jpg"},"message":{"type":"string","description":"선물 메시지","example":"생일 축하해요!"},"senderName":{"type":"string","description":"선물 보내는 사람 이름","example":"상운이"},"senderPhoneNumber":{"type":"string","description":"선물 보내는 사람 전화번호","example":"010-1234-5678"},"recipientName":{"type":"string","description":"선물 대상 이름","example":"윤민이"},"recipientPhoneNumber":{"type":"string","description":"선물 대상 전화번호","example":"010-1234-5678"},"status":{"type":"string","description":"선물 상태","example":"WAITING","enum":["REGISTRABLE","REGISTERED","CANCELLED","REJECTED"]},"isDone":{"type":"boolean","description":"선물 수령 여부","example":false},"cancelledAt":{"type":"string","description":"선물 취소 시간","format":"date-time"},"salesEndTime":{"type":"string","description":"판매 종료 시간","format":"date-time"},"createdAt":{"type":"string","description":"선물 생성 시간","format":"date-time"},"modifiedAt":{"type":"string","description":"선물 수정 시간","format":"date-time"},"removedAt":{"type":"string","description":"선물 삭제 시간","format":"date-time","nullable":true}}},"GiftImg":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"path":{"type":"string"},"thumbnailPath":{"type":"string"},"invite_path":{"type":"string"},"invite_thumbnail":{"type":"string"},"preview_path":{"type":"string"},"sequence":{"type":"integer","format":"int32"},"chipColorCode":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"modifiedAt":{"type":"string","format":"date-time"},"removedAt":{"type":"string","format":"date-time"}}},"GiftApprovePaymentInfoResponse":{"required":["salesTicketName","salesTicketType","showDate","showImg","showName","ticketCount"],"type":"object","properties":{"showName":{"type":"string","description":"공연 이름","example":"윤민이의 임재범 고해"},"showImg":{"type":"string","description":"공연 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/show/1/1.jpg"},"showDate":{"type":"string","description":"공연 시간","format":"date-time"},"salesEndTime":{"type":"string","description":"판매 종료 시간","format":"date-time"},"salesTicketName":{"type":"string","description":"판매 티켓 이름","example":"일반석"},"salesTicketType":{"type":"string","description":"판매 티켓 타입","example":"SALE","enum":["SALE","INVITE"]},"totalAmountPrice":{"type":"integer","description":"총 결제 금액","format":"int32","example":100000},"ticketCount":{"type":"integer","description":"티켓 수량","format":"int32","example":2},"reservationStatus":{"type":"string","description":"예약 상태","example":"RESERVATION_COMPLETED","enum":["WAITING_FOR_DEPOSIT","WAITING_FOR_CARD_PAYMENT","WAITING_FOR_SIMPLE_PAYMENT","CANCELLED","RESERVATION_COMPLETED","WAITING_FOR_REFUND","REFUND_COMPLETED","WAITING_FOR_GIFT_RECEIPT"]},"giftId":{"type":"integer","description":"선물 ID","format":"int64","example":1},"giftUuid":{"type":"string","description":"선물 UUID","example":"e7689e97-ffa1-4d76-aeb4-01a1b1288582"},"giftMessage":{"type":"string","description":"선물 메시지","example":"생일 축하해요!"},"senderName":{"type":"string","description":"선물 보내는 사람 이름","example":"상운이"},"senderPhoneNumber":{"type":"string","description":"선물 보내는 사람 전화번호","example":"010-1234-5678"},"recipientName":{"type":"string","description":"선물 대상 이름","example":"윤민이"},"recipientPhoneNumber":{"type":"string","description":"선물 대상 전화번호","example":"010-1234-5678"},"giftImgPath":{"type":"string","description":"선물 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/gift/1/1.jpg"},"giftInvitePath":{"type":"string","description":"선물 초대장 이미지 경로","example":"https://booltiapi.s3.ap-northeast-2.amazonaws.com/gift/1/1.jpg"},"meansType":{"type":"string","description":"결제 수단","example":"CARD","enum":["ACCOUNT_TRANSFER","CARD","FREE","SIMPLE_PAYMENT"]},"csReservationId":{"type":"string","description":"CS용(유저용) 예매 ID"},"cardDetail":{"$ref":"#/components/schemas/CardDetail"},"easyPayDetail":{"$ref":"#/components/schemas/EasyPayDetail"},"transferDetail":{"$ref":"#/components/schemas/TransferDetail"}}},"CheckInviteCodeRequest":{"required":["inviteCode","salesTicketTypeId","showId"],"type":"object","properties":{"showId":{"type":"integer","description":"공연 ID","format":"int64","example":1},"salesTicketTypeId":{"type":"integer","description":"판매 티켓 유형 ID","format":"int64","example":1},"inviteCode":{"type":"string","description":"초대 코드","example":"홍길동"}}},"CheckInviteCodeResponse":{"type":"object","properties":{"id":{"type":"integer","description":"초대 코드 ID","format":"int64","example":1},"code":{"type":"string","description":"초대 코드","example":"B1234"},"isUsed":{"type":"boolean","description":"사용 여부","example":false}}},"RemoveUserRequest":{"type":"object","properties":{"reason":{"type":"string","description":"탈퇴 사유"},"appleIdAuthorizationCode":{"type":"string","description":"애플 로그인 시 인증 코드. 연동해제용"}}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"String"}}}}