> For the complete documentation index, see [llms.txt](https://chanyongbae341s-organization.gitbook.io/untitled/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chanyongbae341s-organization.gitbook.io/untitled/reference/api-reference/api.md).

# API

{% hint style="info" %}
**Good to know:** All the methods shown below are synced to an example Swagger file URL and are kept up to date automatically with changes to the API.
{% endhint %}

## User

## 회원가입

<mark style="color:green;">`POST`</mark> `http://localhost:8000/user/signup`

#### Request Body

| Name                                    | Type   | Description |
| --------------------------------------- | ------ | ----------- |
| name                                    | string | 이름          |
| email<mark style="color:red;">\*</mark> | string | 이메일         |
| password                                | string | 비밀번호        |
| confirmPassword                         | string | 비밀번호 확인     |

{% tabs %}
{% tab title="201: Created 회원가입 성공" %}
{&#x20;

message: "회원가입에  성공하였습니다."

}
{% endtab %}

{% tab title="400: Bad Request 미입력" %}
{

errorMessage: "미입력된 항목이 있습니다."

}
{% endtab %}

{% tab title="400: Bad Request 이메일 형식 불일치" %}
{

errorMessage: "이메일 형식이 올바르지 않습니다."

}
{% endtab %}

{% tab title="400: Bad Request 비밀번호 불일치" %}
{

errorMessage: "비밀번호와 비밀번호 확인이 일치하지 않습니다."

}
{% endtab %}

{% tab title="400: Bad Request 이메일 중복" %}
{

errorMessage: "사용할 수 없는 이메일입니다."

}
{% endtab %}

{% tab title="400: Bad Request 비밀번호 형식 불일치" %}
{

errorMessage: "비밀번호는 6글자에서 30글자 사이에 알파벳 소문자, 숫자, (\~,!,?,@,#,$,%,^,&,\*,(,))를 포함한 글자여야 합니다."

}
{% endtab %}

{% tab title="400: Bad Request 예기치 못한 오류" %}
{

errorMessage: "예기치 못한 오류가 발생하였습니다."

}
{% endtab %}
{% endtabs %}

## 회원 탈퇴

<mark style="color:red;">`DELETE`</mark> `http:/localhost:8000/user`

#### Cookies

| Name          | Type   | Description |
| ------------- | ------ | ----------- |
| Authorization | string | Bearer      |

#### Request Body

| Name     | Type   | Description |
| -------- | ------ | ----------- |
| password | string | 비밀번호        |

{% tabs %}
{% tab title="200: OK 회원 탈퇴" %}
{&#x20;

message: "성공적으로  탈퇴되었습니다."

}
{% endtab %}

{% tab title="401: Unauthorized 비밀번호 불일치" %}
{

errorMessage: "회원 탈퇴에 실패하였습니다."

}
{% endtab %}

{% tab title="400: Bad Request 예기치 못한 오류" %}
{

errorMessage: "예기치 못한 오류가 발생하였습니다."

}
{% endtab %}
{% endtabs %}

## 회원 정보 수정

<mark style="color:orange;">`PUT`</mark> `http:/localhost:8000/user`

{% tabs %}
{% tab title="200: OK 회원 수정" %}
{

"message":"회원정보가 수정되었습니다."

}
{% endtab %}
{% endtabs %}

## 로그인

<mark style="color:green;">`POST`</mark> `http:localhost:8000/user`

#### Request Body

| Name     | Type | Description |
| -------- | ---- | ----------- |
| email    |      | 이메일         |
| password |      | 비밀번호        |

{% tabs %}
{% tab title="200: OK 로그인 성공" %}
{

"message":"로그인하였습니다. 오늘도  열공하세요!"

}
{% endtab %}
{% endtabs %}

## 회원 조회

<mark style="color:blue;">`GET`</mark> `http:localhost:8000/user`

{% tabs %}
{% tab title="200: OK 회원조회" %}
{

"email":"",&#x20;

"name":"",

"role":"",

"이미지  사진":""

}
{% endtab %}
{% endtabs %}

## Board

## 게시글 조회

<mark style="color:blue;">`GET`</mark> `http:/localhost:8000/board`

## 게시글 생성

<mark style="color:green;">`POST`</mark> `http:/localhost:8000/board`

#### Request Body

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| title   | String | 제목          |
| content | String | 내용          |

{% tabs %}
{% tab title="200: OK 게시물 생성" %}
{

"message":"게시물이 생성되었습니다."

}
{% endtab %}
{% endtabs %}

## 게시판 수정

<mark style="color:orange;">`PUT`</mark> `http:localhost:8000/board`

#### Request Body

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| title   | String | 제목          |
| content | String | 내용          |

{% tabs %}
{% tab title="200: OK " %}

{% endtab %}
{% endtabs %}

## 게시글 삭제

<mark style="color:red;">`DELETE`</mark> `http:localhost:8000/board`

{% tabs %}
{% tab title="200: OK 게시물 삭제" %}
{

"message":"게시글이 삭제되었습니다."

}
{% endtab %}
{% endtabs %}

## Comment

## 댓글 조회

<mark style="color:blue;">`GET`</mark> `http:localhost:8000/boardId/comment`

{% tabs %}
{% tab title="200: OK 댓글 조회" %}
{

" comment":""

}
{% endtab %}
{% endtabs %}

## 댓글 생성

<mark style="color:green;">`POST`</mark> `http:localhost:8000/boardId/comment`

#### Request Body

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| content | String | 내용          |

## 댓글 수정

<mark style="color:orange;">`PUT`</mark> `http:localhost:8000/commentId`

#### Request Body

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| content | String | 내용          |

## 댓글 삭제

<mark style="color:red;">`DELETE`</mark> `http:/localhost:8000/commentId`

{% tabs %}
{% tab title="200: OK " %}
{

"message":"댓글이  삭제었습니다."

}
{% endtab %}
{% endtabs %}

## Room

## 스터디룸 조회

<mark style="color:blue;">`GET`</mark> `http:/localhost:8000/room`

{% tabs %}
{% tab title="200: OK 스터디룸 조회" %}
{

"address":"",

"name"`:`""

}
{% endtab %}
{% endtabs %}

## 스터디룸 생성

<mark style="color:green;">`POST`</mark> `http:/localhost:8000/room`

#### Request Body

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| address | String | 주소          |
| name    | String | 이름          |

## 스터디룸 정보 수정

<mark style="color:orange;">`PUT`</mark> `http:/localhost:8000/roomId`

#### Request Body

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| name    | String | 스터디룸 이름     |
| address | String | 주소          |

{% tabs %}
{% tab title="200: OK 스터디룸 수정" %}
{

"message":"스터디룸이 수정되었습니다."

}
{% endtab %}
{% endtabs %}

## 스터디룸 삭제

<mark style="color:red;">`DELETE`</mark> `http:localhost:8000/roomId`

{% tabs %}
{% tab title="200: OK 스터디룸 삭제" %}
{

"message":"스터디룸이 삭제되었습니다."

}
{% endtab %}
{% endtabs %}

## Seat

## 스터디룸 좌석 조회

<mark style="color:blue;">`GET`</mark> `http:localhost:8000/roomId/seat`

{% tabs %}
{% tab title="200: OK " %}

{% endtab %}
{% endtabs %}

## 스터디룸 좌석 생성

<mark style="color:green;">`POST`</mark> `http:locaohost:8000/roomId/seat`

#### Request Body

| Name | Type   | Description |
| ---- | ------ | ----------- |
| seat | String | 좌석번호        |
| type | enum   | 타입          |
| 가격   | String | price       |

## 스터디룸 좌석 정보 수정

<mark style="color:orange;">`PUT`</mark> `http:localhost:8000/seatId`

#### Request Body

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| seat  | String | 좌석 번호       |
| type  | enum   | 좌석 타입       |
| price | String | 가격          |

## 스터디룸 좌석 정보 삭제

<mark style="color:red;">`DELETE`</mark> `http:localhost:8000/seatId`

{% tabs %}
{% tab title="200: OK 스터디룸 좌석 삭제" %}
{

"message":"스터디룸 좌석이 삭제되었습니다."

}
{% endtab %}
{% endtabs %}

## Study

## 스터디 조회

<mark style="color:green;">`POST`</mark> `http:/localhost:8000/study/userId`

#### Request Body

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| name  | String | 스터디 이름      |
| desc  | String | 스터디 설명      |
| image | String | 스터디 그룹 이미지  |

## 스터디 조회

<mark style="color:blue;">`GET`</mark> `http:localhost:8000/studyId`

#### Request Body

| Name | Type   | Description |
| ---- | ------ | ----------- |
|      | String |             |

{% tabs %}
{% tab title="200: OK 스터디 그룹 조회" %}
{

}
{% endtab %}
{% endtabs %}

## 스터디 정보 수정

<mark style="color:orange;">`PUT`</mark> `http:/localhost:8000/studyId`

#### Request Body

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| name  | String | 스터디 이름      |
| desc  | String | 스터디 설명      |
| image | String | 스터디 이미지     |

## 스터디 정보 삭제

<mark style="color:red;">`DELETE`</mark> `http:/localhost:8000/studyId`

{% tabs %}
{% tab title="200: OK 스터디그룹 삭제" %}
{

"message":"스터디그룹  삭제완료"

}
{% endtab %}
{% endtabs %}

## TO-DO

## 할 일 조회

<mark style="color:blue;">`GET`</mark> `http:localhost:8000/studyId/todo`

## 할 일 생성

<mark style="color:green;">`POST`</mark> `http:/localhost:8000/studyId/todo`

#### Request Body

| Name  | Type | Description |
| ----- | ---- | ----------- |
| state | enum | 속성          |

## 할 일 수정

<mark style="color:orange;">`PUT`</mark> `http:localhost:8000/todoId`

#### Request Body

| Name  | Type | Description |
| ----- | ---- | ----------- |
| state | enum | 속성          |

## 할 일 삭제

<mark style="color:red;">`DELETE`</mark> `http:localhost:8000/todoId`

## Card

## 카드 조회

<mark style="color:blue;">`GET`</mark> `http:/localhost:8000/todoId`

## 카드 생성

<mark style="color:green;">`POST`</mark> `http:/localhost:8000/todoId`

#### Request Body

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| title | String | 해야 할 일      |
| desc  | String | 설명          |

## 카드 수정

<mark style="color:orange;">`PUT`</mark> `http:/localhost:8000/cardId`

#### Request Body

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| title | String | 해야 할 일      |
| desc  | String | 설명          |

## 카드 삭제

<mark style="color:red;">`DELETE`</mark> `http:/localhost:8000/cardId`

## Order

## 결제 목록 조회

<mark style="color:blue;">`GET`</mark> `http:/localhost:8000/order/userId`

## 결제하기

<mark style="color:green;">`POST`</mark> `http:/localhost:8000/order/userId`

#### Request Body

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| price | String | 가격          |

## 결제 기록 삭제

<mark style="color:red;">`DELETE`</mark> `http:/localhost:8000/orderId`

## 결제 수정

<mark style="color:orange;">`PUT`</mark> `http:/localhost:8000/orderId`

#### Request Body

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| price | String | 가격          |
