OpenAPI definition (v0)

Download OpenAPI specification:

Report

신고 관련 API

컨텐츠 신고

게임/댓글/룰을 신고합니다.

Request Body schema: application/json
required
targetType
required
string
Enum: "GAME" "COMMENT" "RULE"
targetId
required
integer <int64>
reason
required
string

Responses

Request samples

Content type
application/json
{
  • "targetType": "GAME",
  • "targetId": 0,
  • "reason": "string"
}

일일 접속 추적

유저의 일일 첫 접속을 추적하고 알림을 전송하는 API

일일 첫 접속 기록

클라이언트가 매일 최초 1회 호출. 첫 접속이면 디스코드 알림 전송

Responses

Notification

인앱 알림 API

알림 읽음 처리

특정 알림을 읽음 상태로 처리합니다.

path Parameters
id
required
integer <int64>

Responses

알림 목록 조회

로그인한 사용자의 알림 목록을 최신순으로 조회합니다.

Responses

Block

유저 차단 기능 API

유저 차단

현재 로그인한 사용자가 특정 유저를 차단합니다.

path Parameters
targetId
required
integer <int64>
query Parameters
reason
string

Responses

유저 차단 해제

현재 로그인한 사용자가 특정 유저에 대한 차단을 해제합니다.

path Parameters
targetId
required
integer <int64>

Responses

차단 유저 목록 조회

현재 로그인한 사용자가 차단한 유저의 ID 목록을 조회합니다.

Responses

apple-mobile-auth-controller

notify

Request Body schema: application/json
string

Responses

Request samples

Content type
application/json
"string"

appleTokenLogin

query Parameters
id_token
required
string

Responses

user-controller

removeUser

Responses

rule-controller

게임 규칙 생성

입력된 규칙 설명을 기반으로 AI가 제목/카테고리를 생성하여 새로운 Rule을 생성합니다.

Request Body schema: application/json
required
ruleGoal
required
string
ruleScoreDefinition
required
string
rulePreparation
required
string
ruleOrder
required
string
ruleDecision
required
string
ruleFoul
required
string
ruleExtraInfo
string
pointsToWin
required
integer <int32>
setsToWin
required
integer <int32>
duration
required
integer <int32>
winBy
required
string

Responses

Request samples

Content type
application/json
{
  • "ruleGoal": "string",
  • "ruleScoreDefinition": "string",
  • "rulePreparation": "string",
  • "ruleOrder": "string",
  • "ruleDecision": "string",
  • "ruleFoul": "string",
  • "ruleExtraInfo": "string",
  • "pointsToWin": 0,
  • "setsToWin": 0,
  • "duration": 0,
  • "winBy": "string"
}

규칙 평가 제출

게임 완료 후 사용한 규칙에 대한 평가(0~5점)를 제출합니다. 같은 사용자가 다른 게임에서 같은 규칙을 여러 번 평가할 수 있습니다.

path Parameters
ruleId
required
integer <int64>
Request Body schema: application/json
required
gameId
required
integer <int64>
rating
required
integer <int32> [ 0 .. 5 ]
comment
string [ 0 .. 500 ] characters

Responses

Request samples

Content type
application/json
{
  • "gameId": 0,
  • "rating": 5,
  • "comment": "string"
}

규칙 수정 요청 제출

본인이 생성한 규칙에 대한 수정 요청을 제출합니다. 관리자 승인 후 원본 규칙이 업데이트됩니다.

Request Body schema: application/json
required
originalRuleId
required
integer <int64>
ruleGoal
required
string
ruleScoreDefinition
required
string
rulePreparation
required
string
ruleOrder
required
string
ruleDecision
required
string
ruleFoul
required
string
ruleExtraInfo
string
pointsToWin
required
integer <int32>
setsToWin
required
integer <int32>
duration
required
integer <int32>
winBy
required
string
Enum: "SETS_HALF_WIN" "MOST_SETS_AND_POINTS"

Responses

Request samples

Content type
application/json
{
  • "originalRuleId": 0,
  • "ruleGoal": "string",
  • "ruleScoreDefinition": "string",
  • "rulePreparation": "string",
  • "ruleOrder": "string",
  • "ruleDecision": "string",
  • "ruleFoul": "string",
  • "ruleExtraInfo": "string",
  • "pointsToWin": 0,
  • "setsToWin": 0,
  • "duration": 0,
  • "winBy": "SETS_HALF_WIN"
}

수정 요청 취소

본인의 PENDING 상태 수정 요청을 취소합니다.

path Parameters
id
required
integer <int64>

Responses

특정 규칙의 유저별 랭킹 조회

특정 규칙을 플레이한 모든 유저의 레이팅, 플레이 횟수, 랭킹을 레이팅 순으로 정렬하여 반환합니다. 현재 유저의 랭킹도 포함됩니다.

path Parameters
ruleId
required
integer <int64>

Responses

특정 규칙 단건 조회

id로 규칙 상세 정보 반환

path Parameters
id
required
integer <int64>

Responses

topPlayedMinorCategories

path Parameters
userId
required
integer <int64>

Responses

내가 생성한 규칙 목록 조회

현재 로그인한 사용자가 생성한 규칙 목록과 수정 요청 상태를 반환합니다.

Responses

룰 목록 조회

카테고리, 검색, 정렬 조건으로 룰 조회

query Parameters
major
string

메이저 카테고리

minor
string

마이너 카테고리

search
string

검색어

sort
string
Default: "recent"

정렬 기준(recent 또는 popular)

Responses

categories

Responses

minors

path Parameters
major
required
string

Responses

push-controller

removeCurrentDeviceToken

Responses

register

Request Body schema: application/json
required
token
required
string

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

play-with-me-too-controller

나랑도 해 요청 보내기

특정 유저에게 특정 룰로 나랑도 해 요청을 보냅니다.

query Parameters
targetUserId
required
integer <int64>
ruleId
required
integer <int64>

Responses

나랑도 해 요청 취소

특정 유저에게 보낸 나랑도 해 요청을 취소합니다.

query Parameters
targetUserId
required
integer <int64>

Responses

나랑도 해 요청 거절

특정 유저로부터 받은 나랑도 해 요청을 거절합니다.

query Parameters
requesterId
required
integer <int64>

Responses

나랑도 해 요청 수락

특정 유저로부터 받은 나랑도 해 요청을 수락하고 게임을 생성합니다.

query Parameters
requesterId
required
integer <int64>

Responses

보낸 나랑도 해 요청들

현재 유저가 보낸 모든 대기 중인 나랑도 해 요청들을 조회합니다.

Responses

받은 나랑도 해 요청들

현재 유저가 받은 모든 대기 중인 나랑도 해 요청들을 조회합니다.

Responses

나랑도 해 요청 확인

특정 유저가 나에게 나랑도 해 요청을 했는지 확인하고, 있다면 룰 정보를 반환합니다.

query Parameters
fromUserId
required
integer <int64>

Responses

invite-controller

초대 링크 생성

게임 ID로 브랜치 초대 링크를 생성합니다.

query Parameters
gameId
required
integer <int64>

Responses

초대 정보 조회

gameId로 초대받은 게임 정보를 조회합니다.

path Parameters
gameId
required
integer <int64>

Responses

game-controller

Start Game

경기 주최자가 해당 게임을 시작 상태로 변경합니다. 게임 시작 사진이 필수입니다.

path Parameters
id
required
integer <int64>
Request Body schema: multipart/form-data
photo
required
string <binary>

Responses

Set Region

경기 주최자가 해당 게임을 시작 상태로 변경하기 전, 경기 장소를 (재)설정합니다.

path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
roadAddress
required
string
detailAddress
string

Responses

Request samples

Content type
application/json
{
  • "roadAddress": "string",
  • "detailAddress": "string"
}

게임 참가 신청

현재 로그인한 사용자가 해당 게임에 참가 신청을 보냅니다.

path Parameters
gameId
required
integer <int64>

Responses

Create Custom Game

사용자가 커스텀한 스포츠 경기를 생성합니다.

Request Body schema: application/json
required
referencedRuleId
required
integer <int64>
matchDate
string <date-time>
placeRoad
string
placeDetail
string
friendId
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "referencedRuleId": 0,
  • "matchDate": "2019-08-24T14:15:22Z",
  • "placeRoad": "string",
  • "placeDetail": "string",
  • "friendId": 0
}

Create Custom Game

사용자가 커스텀한 스포츠 경기를 생성합니다.

Request Body schema: application/json
required
referencedRuleId
required
integer <int64>
matchDate
string <date-time>
placeRoad
string
placeDetail
string
friendId
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "referencedRuleId": 0,
  • "matchDate": "2019-08-24T14:15:22Z",
  • "placeRoad": "string",
  • "placeDetail": "string",
  • "friendId": 0
}

게임 신청 취소

지원자가 게임 신청을 취소합니다.

Request Body schema: application/json
required
gameId
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "gameId": 0
}

참가 승인 취소

참가자의 승인을 취소합니다.

Request Body schema: application/json
required
gameId
required
integer <int64>
userId
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "gameId": 0,
  • "userId": 0
}

참가 신청 승인

특정 게임에 지원한 사용자의 참가 신청을 승인합니다.

Request Body schema: application/json
required
gameId
required
integer <int64>
userId
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "gameId": 0,
  • "userId": 0
}

게임 결과 조회

지정한 게임의 최종 결과를 반환합니다.

path Parameters
gameId
required
integer <int64>

Responses

참가 신청 ID 조회

gameId와 email로 참가 신청 엔티티의 ID를 조회합니다.

path Parameters
gameId
required
integer <int64>
email
required
string

Responses

게임 간략 정보 조회

게임 ID를 기반으로 간략한 게임 정보를 반환합니다.

query Parameters
gameId
required
integer <int64>

Responses

경기 요청 개수 조회

나의 경기 참가 신청 개수와 내가 받은 경기 참가 신청 개수를 반환합니다.

Responses

내가 신청한 게임 목록 조회

현재 로그인한 사용자가 참가 신청한 게임 목록(요약)을 반환합니다.

Responses

내 게임 전체 조회

내가 참가자로 속한 모든 게임 정보를 반환합니다. (진행 예정, 완료 포함)

Responses

내가 생성한 게임에 지원한 유저 목록 조회

로그인한 사용자가 만든 게임에 신청한 유저 정보를 그룹별로 조회합니다.

Responses

게임 리스트 조회

선택한 지역 및 정렬 기준에 따라 현재 참여 가능한 게임 방의 요약 정보를 반환합니다.

query Parameters
region
string
sort
string

Responses

진행 중인 게임 정보 조회

특정 게임이 현재 진행 중인지 확인하고, 진행 중이면 해당 게임 정보를 반환합니다. 클라이언트가 폴링하여 경기 상태를 실시간으로 확인할 수 있습니다.

path Parameters
gameId
required
integer <int64>

Responses

내 게임 상태 조회

현재 진행 중인 게임과 리뷰 대기 중인 게임 목록을 반환합니다. 클라이언트가 폴링하여 경기 상태를 확인하고 리뷰 작성이 필요한지 파악할 수 있습니다.

Responses

게임 나가기

현재 로그인한 사용자를 해당 게임에서 제외합니다.

path Parameters
gameId
required
integer <int64>

Responses

게임 삭제

사용자가 본인이 생성한 게임을 삭제합니다.

path Parameters
gameId
required
integer <int64>

Responses

review-controller

경기 리뷰 등록

특정 경기(gameId)에 대한 리뷰를 작성한다

path Parameters
gameId
required
integer <int64>
Request Body schema: application/json
required
manner
required
integer <int32>
performance
required
integer <int32>
text
required
string

Responses

Request samples

Content type
application/json
{
  • "manner": 0,
  • "performance": 0,
  • "text": "string"
}

game-picture-controller

게임 사진 조회

게임에 업로드된 사진 목록을 displayOrder 순서대로 반환합니다.

path Parameters
gameId
required
integer <int64>

Responses

게임 미디어 업로드

게임 결과 페이지에서 사용자가 선택한 사진과 동영상을 업로드합니다. 최대 5개까지 가능합니다 (사진 + 동영상 합계). 동영상 지원 형식: MP4, MOV, WebM, AVI, MPEG, 3GP, WMV

path Parameters
gameId
required
integer <int64>
Request Body schema: multipart/form-data
pictures
Array of strings <binary> [ items <binary > ]
videos
Array of strings <binary> [ items <binary > ]

Responses

game-like-controller

getGameLikeStatus

path Parameters
gameId
required
integer <int64>

Responses

toggleGameLike

path Parameters
gameId
required
integer <int64>

Responses

getGameLikers

path Parameters
gameId
required
integer <int64>

Responses

comment-controller

게임별 댓글 목록 조회 (최신순)

해당 게임에 작성된 모든 댓글을 평면 리스트로 반환합니다. (트리 구조는 /comments/tree 사용)

path Parameters
gameId
required
integer <int64>

Responses

댓글 등록 (대댓글/이미지 지원, multipart)

새 댓글/대댓글을 등록합니다. 이미지 파일/parentId/멘션 등 multipart로 지원.

path Parameters
gameId
required
integer <int64>
Request Body schema: multipart/form-data
object (CreateCommentRequest)
image
string <binary>

Responses

댓글 좋아요

해당 댓글에 좋아요 추가

path Parameters
commentId
required
integer <int64>

Responses

댓글 싫어요

해당 댓글에 싫어요 추가

path Parameters
commentId
required
integer <int64>

Responses

댓글 삭제 (Soft Delete)

본인 댓글만 삭제 가능. 실제 삭제 대신 soft delete 처리.

path Parameters
commentId
required
integer <int64>

Responses

댓글 수정

본인 댓글만 수정 가능합니다. 내용, 이미지 교체/삭제 가능.

path Parameters
commentId
required
integer <int64>
Request Body schema: application/json
required
content
required
string [ 0 .. 1000 ] characters
imageUrl
string [ 0 .. 1024 ] characters

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "imageUrl": "string"
}

게임별 계층형(트리) 댓글 조회

해당 게임의 댓글을 대댓글 포함 트리 형태로 반환합니다.

path Parameters
gameId
required
integer <int64>

Responses

friend-controller

친구 요청

타 유저에게 친구 요청을 보냅니다. 이미 요청된 상태거나 친구이면 에러.

path Parameters
targetId
required
integer <int64>

Responses

친구 요청 거절

받은 친구 요청을 거절합니다.

path Parameters
requesterId
required
integer <int64>

Responses

친구 요청 수락

받은 친구 요청을 수락합니다. 역방향도 추가하여 양방향 친구 관계를 만듭니다.

path Parameters
requesterId
required
integer <int64>

Responses

특정 유저와의 친구 상태 조회

내가 해당 유저에게 친구 요청을 보냈는지, 친구 관계인지, 또는 상대가 나에게 친구 요청을 보냈는지 반환

path Parameters
targetId
required
integer <int64>

Responses

내 친구 목록 조회

내가 추가한 친구 목록을 조회합니다.

query Parameters
userId
integer <int64>
Default: 0

Responses

getMyFriendRequestsSent

Responses

getMyFriendRequestsReceived

Responses

친구 삭제

친구 관계를 삭제합니다. 양방향 관계가 모두 삭제됩니다.

path Parameters
friendId
required
integer <int64>

Responses

cancelFriendRequest

path Parameters
targetId
required
integer <int64>

Responses

chat-room-controller

DM 채팅방 ID 조회 또는 생성

두 유저 간 DM 채팅방 ID를 반환합니다. 채팅방이 없다면 새로 생성합니다.

query Parameters
targetUserId
required
integer <int64>

Responses

getChatMessages

path Parameters
roomId
required
string <uuid>

Responses

getMyDmRooms

Responses

getChatRoomIdByGameId

path Parameters
gameId
required
integer <int64>

Responses

auth-controller

어드민에 의한 그룹 등록

계정이름, 비밀번호를 받아 신규 유저를 생성합니다.

Request Body schema: application/json
required
email
required
string [ 0 .. 50 ] characters
password
required
string [ 8 .. 20 ] characters

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "stringst"
}

그룹 유저 로그인

이메일과 비밀번호를 받아 로그인 후 JWT 토큰을 발급합니다.

Request Body schema: application/json
required
email
required
string [ 0 .. 50 ] characters
password
required
string [ 8 .. 20 ] characters

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "stringst"
}

completeOauth

Request Body schema: application/json
required
username
required
string
nickname
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "nickname": "string"
}

checkUsername

Request Body schema: application/json
required
username
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string"
}

requestWithdraw

Responses

getCurrentUserId

Responses

rule-edit-request-admin-controller

수정 요청 거절 (관리자 전용)

PENDING 상태의 수정 요청을 거절합니다. 거절 사유를 입력해야 합니다.

path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
rejectionReason
required
string

Responses

Request samples

Content type
application/json
{
  • "rejectionReason": "string"
}

수정 요청 승인 (관리자 전용)

PENDING 상태의 수정 요청을 승인하고, 원본 규칙을 업데이트합니다.

path Parameters
id
required
integer <int64>

Responses

모든 수정 요청 목록 조회 (관리자 전용)

모든 규칙 수정 요청 목록을 조회합니다. status 파라미터로 필터링 가능합니다.

query Parameters
status
string
Enum: "PENDING" "APPROVED" "REJECTED" "CANCELLED"

Responses

actuator-controller

health

Responses

healthPost

Responses

user-profile-controller

사용자 프로필 저장

나이, 성별, 지역, 자기소개, 프로필 사진을 저장하거나 수정합니다. *이 request는 multipart/form-data 입니다.

Request Body schema: application/json
object (UserProfileRequest)
profile_picture
string <binary>

Responses

Request samples

Content type
application/json
{
  • "request": {
    },
  • "profile_picture": "string"
}

유저 프로필 조회

특정 유저의 프로필과 종합 통계, 플레이한 규칙, 누적 통계를 반환한다.

path Parameters
userId
required
integer <int64>

Responses

유저 경기 기록 조회

특정 유저가 플레이한 경기 리스트(요약)를 반환한다.

path Parameters
userId
required
integer <int64>

Responses

유저 검색

닉네임으로 유저를 부분검색한다. 최대 20명.

query Parameters
keyword
required
string

Responses

getMyProfile

Responses

kakao-mobile-auth-controller

kakaoTokenLogin

query Parameters
access_token
required
string

Responses

ranking-controller

유저 랭킹/레이팅 조회

총점, 카테고리, 규칙별 랭킹 및 상위 퍼센트를 반환함.

query Parameters
userId
required
integer <int64>
minorCategory
string
ruleId
integer <int64>

Responses

game-play-controller

게임 로그 조회

특정 게임 ID의 플레이 로그 메시지를 리스트 형태로 반환합니다.

path Parameters
id
required
integer <int64>

Responses

게임 상세 조회

특정 게임 ID에 대한 상세 정보를 조회합니다.

path Parameters
id
required
integer <int64>

Responses

game-ranking-snapshot-controller

게임 랭킹 스냅샷 조회

종료된 게임의 랭킹 스냅샷을 조회합니다. '게임 참여자들과 그들의 친구들 <교집합> 나' 유저들의 레이팅 변화와 등수 변화를 확인할 수 있습니다.

path Parameters
gameId
required
integer <int64>

Responses

feed-controller

Get Feed

피드를 조회합니다. 친구의 경기 -> 모든 경기 순으로 정렬되어 반환됩니다. userId 파라미터를 제공하면 해당 유저의 게임만 필터링됩니다.

query Parameters
userId
integer <int64>

Responses

Get User's Completed Game Feeds

특정 유저가 참가한 모든 종료된 게임의 피드를 조회합니다. 최신 경기 순으로 정렬되어 반환됩니다. userId가 0이면 현재 로그인한 유저의 피드를 조회합니다.

path Parameters
userId
required
integer <int64>

Responses

Get Feed Item by Game ID

특정 게임 ID로 피드 아이템을 단건 조회합니다.

path Parameters
gameId
required
integer <int64>

Responses