diff --git a/API docs/CreateArticle.md b/API docs/CreateArticle.md
new file mode 100644
index 0000000..1bb940b
--- /dev/null
+++ b/API docs/CreateArticle.md
@@ -0,0 +1,136 @@
+## 글 쓰기
+
+### 요청
+
+#### URL
+
+ `POST /boards/{board_id}/articles`
+
+#### URL 파라미터
+
+ * `board_id`: 문자열
+
+#### 데이터 파라미터
+
+ * `subject`: 비지 않은 문자열
+ * `content`: 문자열
+ * `isDraft`: 참/거짓
+
+#### 헤더
+ * `x-access-token`
+
+### 성공 시 응답
+
+#### 응답 코드
+
+201 (Created)
+
+#### 응답 헤더
+
+ * `Location`: `/boards/{board_id}/articles/{article_id}`
+
+#### 응답 인터페이스 예시
+
+```typescript
+interface CreateArticleResponseSuccess {
+ article_id: number
+ board_id: string
+ writer: string
+ seq: number
+ subject: string
+ content: string
+ hit: number
+ isDeleted: boolean
+ isDraft: boolean
+ created_at: string
+ updated_at: string
+};
+```
+
+#### 응답 예시
+
+```json
+{
+ "article_id": 5615613,
+ "board_id": "y4pZwF",
+ "writer": "scsc",
+ "seq": 1,
+ "subject": "게시글 제목",
+ "content": "",
+ "hit": 0,
+ "isDeleted": false,
+ "isDraft": false,
+ "created_at": "2022-09-01T12:34:56Z",
+ "updated_at": "2022-09-01T12:34:56Z",
+}
+```
+
+### 실패 시 응답 – 권한 없음
+
+#### 조건
+
+글을 작성하려는 게시판이 회원만 쓸 수 있는 게시판이고 사용자가 로그인하지 않았을 때,
+또는 글을 작성하려는 게시판이 특정 등급의 회원만 쓸 수 있는 게시판이고 사용자가 그 등급에 속하지 않을 때
+
+#### 응답 코드
+
+200 (OK)
+
+#### 응답 인터페이스 예시
+
+```typescript
+interface CreateArticleResponseUnauthorized {
+ error: {
+ id: "ERROR_UNAUTHORIZED"
+ message: string
+ }
+};
+```
+
+#### 응답 예시
+
+```json
+{
+ "error": {
+ "id": "ERROR_UNAUTHORIZED",
+ "message": "You are unauthorized to make this request."
+ }
+}
+```
+
+### 호출 예시
+
+```typescript
+interface CreateArticleRequestBody {
+ subject: string
+ content: string
+ isDraft: boolean
+};
+
+type CreateArticleResponse = |
+| CreateArticleResponseSuccess
+| CreateArticleResponseUnauthorized;
+
+const body: CreateArticleRequestBody = {
+ subject: '...',
+ content: '...',
+ isDraft: true
+};
+
+fetch(new Request(
+ `/boards/${boardId}/posts`, {
+ method: 'POST',
+ body: new Blob([JSON.stringify(body)], {type: 'application/json'}),
+ }
+)).then(
+ (response) => response.json() as CreateArticleResponse
+).then(
+ (data) => {
+ if (data instanceof CreateArticleResponseSuccess) {
+ console.log(data);
+ } else if (data instanceof CreateArticleResponseUnauthorized) {
+ console.log(data.error.message)
+ }
+ }
+);
+```
diff --git a/API docs/LoginSignup.md b/API docs/LoginSignup.md
new file mode 100644
index 0000000..98e0fc8
--- /dev/null
+++ b/API docs/LoginSignup.md
@@ -0,0 +1,281 @@
+# 로그인/회원가입 REST API
+- JWT(JSON Web Token) 인증방식을 사용.
+- auth API와 user API로 구분.
+___
+
+## 1. Auth - login
+- **Endpoint**: [POST] api/auth/login
+- **Description**: username과 password로 API에 로그인, token을 return.
+- **Request Example**:
+URL: [POST] api/auth/login
+Body:
+ ```ts
+ {
+ "username": "test1",
+ "password": "Password1"
+ }
+ ```
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzI2NzcsImV4cCI6MTUwNDgxOTA3N30.4eG2zGpSeY2XezKB4Djf6usy7DdygIybR1VKUBj-ScE"
+ }
+ ```
+
+## 2. Auth - me
+- **Endpoint**: [GET] api/auth/me
+- **Description**: token을 받아 token의 주인인 user를 return, header에 x-access-token이 요구됨.
+- **Request Example**:
+URL: [GET] api/auth/me
+Header:
+ ```ts
+ {
+ x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzI2NzcsImV4cCI6MTUwNDgxOTA3N30.4eG2zGpSeY2XezKB4Djf6usy7DdygIybR1VKUBj-ScE
+ }
+ ```
+ Body: *N/A*
+
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": {
+ "_id": "598ddb6322ac1011e0702cb0",
+ "username": "test1",
+ "name": "test1",
+ "email": "",
+ "phoneNumber": "",
+ "admissionYear": "", // 입학년도
+ "major": "", // 학과
+ "memberType": "", // 회원종류 ex)정회원, 준회원, 명예회원 등
+ "iat": 1504732677, //토큰이 발급된 시간
+ "exp": 1504819077 // 토큰이 만료된 시간
+ }
+ }
+ ```
+
+
+## 3. Auth - refresh
+- **Endpoint**: [GET] api/auth/refresh
+- **Description**: 기존의 token을 이용하여 새로운 token을 발급, header에 x-access-token이 요구됨.
+- **Request Example**:
+ URL: [GET] api/auth/refresh
+ Header:
+ ```ts
+ {
+ x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzI2NzcsImV4cCI6MTUwNDgxOTA3N30.4eG2zGpSeY2XezKB4Djf6usy7DdygIybR1VKUBj-ScE
+ }
+ ```
+ Body: *N/A*
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzQxNzUsImV4cCI6MTUwNDgyMDU3NX0.heYRtT1RZJYqgcJDaWwpKEmFUGwLn2r8OyYX-03_Nx4"
+ }
+ ```
+___
+
+## 4. User - Index
+- **Endpoint**: [GET] api/users
+- **Description**: user들의 목록을 리턴, header에 x-access-token이 요구됨.
+- **Request Example**:
+ URL: [GET] api/users
+ Header:
+ ```ts
+ {
+ x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzI2NzcsImV4cCI6MTUwNDgxOTA3N30.4eG2zGpSeY2XezKB4Djf6usy7DdygIybR1VKUBj-ScE
+ }
+ ```
+ Body: *N/A*
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": [
+ {
+ "_id": "598ddb6322ac1011e0702cb0",
+ "username": "test1",
+ "name": "test1",
+ "__v": 0,
+ "email": "",
+ "phoneNumber": "",
+ "admissionYear": "",
+ "major": "",
+ "memberType": ""
+ },
+ {
+ "_id": "59a748199e6e4e138033c687",
+ "username": "test2",
+ "name": "test2",
+ "email": "",
+ "__v": 0,
+ "phoneNumber": "",
+ "admissionYear": "",
+ "major": "",
+ "memberType": ""
+ }
+ ]
+ }
+ ```
+
+## 5. User - Show
+- **Endpoint**: [GET] api/users/{username}
+- **Description**: username이 {username}인 user를 리턴, header에 x-access-token이 요구됨.
+- **Request Example**:
+ URL: [GET] api/users/test1
+ Header:
+ ```ts
+ {
+ x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzI2NzcsImV4cCI6MTUwNDgxOTA3N30.4eG2zGpSeY2XezKB4Djf6usy7DdygIybR1VKUBj-ScE
+ }
+ ```
+ Body: *N/A*
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": {
+ "_id": "598ddb6322ac1011e0702cb0",
+ "username": "test1",
+ "name": "test1",
+ "__v": 0,
+ "email": "",
+ "phoneNumber": "",
+ "admissionYear": "",
+ "major": "",
+ "memberType": ""
+ }
+ }
+ ```
+
+## 6. User - Create
+- **Endpoint**: [POST] api/users/
+- **Description**: body에 username, password, passwordConfirmation, name, email, phoneNumber, major를 받아 새로운 user를 생성.
+- **Request Example**:
+ URL: [POST] api/users
+ Body:
+ ```ts
+ {
+ "username": "test3",
+ "password": "password1",
+ "passwordConfirmation": "password1",
+ "name": "test3",
+ "email": "",
+ "phoneNumber": "",
+ "admissionYear": "",
+ "major": "",
+ "memberType": ""
+ }
+ ```
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": {
+ "__v": 0,
+ "username": "test3",
+ "password": "$2a$10$.UAMVa/QcC.8ckk8sDEZXu1KFhNjINNDJZPx4o9tmaR1kmTmst3Be",
+ "name": "test3",
+ "email": "",
+ "phoneNumber": "",
+ "admissionYear": "",
+ "major": "",
+ "memberType": "",
+ "_id": "59b06d017479637420168a4c"
+ }
+ }
+ ```
+
+## 7. User - Update
+- **Endpoint**: [PUT] api/users/{username}
+- **Description**: body에 currentPassword, username, name,
+ *(optional) email, phoneNumber, major, newPassword, passwordConfirmation*를 받아 username이 {username}인 user를 수정, header에 x-access-token이 요구됨.
+- **Request Example**:
+ URL: [PUT] api/users/test3
+ Header:
+ ```ts
+ {
+ x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzI2NzcsImV4cCI6MTUwNDgxOTA3N30.4eG2zGpSeY2XezKB4Djf6usy7DdygIybR1VKUBj-ScE
+
+ }
+ ```
+ Body:
+ ```ts
+ {
+ "currentPassword": "Password1",
+ "username": "test3",
+ "newPassword": "Password1",
+ "passwordConfirmation": "Password1",
+ "name": "test5",
+ "email": "test5@test.com",
+ "phoneNumber": "",
+ "major": ""
+ }
+ ```
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": {
+ "email": "test5@test.com",
+ "name": "test5",
+ "username": "test5",
+ "_id": "59b06d017479637420168a4c",
+ "password": "$2a$10$oEWKzAadbQsxRCNWV4t2lutx8X2m9XtflMCHkD2jYbZEiiGJzVtsG",
+ "phoneNumber": "",
+ "admissionYear": "",
+ "major": "",
+ "memberType": ""
+ }
+ }
+ ```
+
+## 8. User - Destroy
+- **Endpoint**: [DELETE] api/users/{username}
+- **Description**: username이 {username}인 user를 삭제, header에 x-access-token이 요구됨.
+- **Request Example**:
+ URL: [PUT] api/users/test3
+ Header:
+ ```ts
+ {
+ x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OThkZGI2MzIyYWMxMDExZTA3MDJjYjAiLCJ1c2VybmFtZSI6InRlc3QxIiwibmFtZSI6InRlc3QxIiwiZW1haWwiOiIiLCJpYXQiOjE1MDQ3MzI2NzcsImV4cCI6MTUwNDgxOTA3N30.4eG2zGpSeY2XezKB4Djf6usy7DdygIybR1VKUBj-ScE
+ }
+ ```
+ Body: *N/A*
+- **Response Example**:
+ ```ts
+ {
+ "success": true,
+ "message": null,
+ "errors": null,
+ "data": {
+ "_id": "59b06d017479637420168a4c",
+ "username": "test5",
+ "name": "test5",
+ "email": "test5@test.com",
+ "phoneNumber": "",
+ "admissionYear": "",
+ "major": "",
+ "memberType": "",
+ "__v": 0
+ }
+ }
+ ```
+
+
diff --git a/API docs/boardmake.md b/API docs/boardmake.md
new file mode 100644
index 0000000..e5ace34
--- /dev/null
+++ b/API docs/boardmake.md
@@ -0,0 +1,261 @@
+# 게시판 생성 api
+
+ 게시판 생성 전 권한 확인을 위해 권한을 확인하고, 생성될 게시판에 대한 정보를 저장합니다.
+
+ + 카카오스토리 api문서를 참고하였습니다. 안드로이드용 api라 pc로 변형해야될 부분이 남아있을 수 있어 이에 대한 수정이 필요할 듯 합니다. 또한 게시판을 관리자가 추가하기 쉽도록 가이드라인만드는 것이 필요해 보입니다.
+
+
+ ## 사용자 계정 조사
+
+ 접속한 사용자의 계정이 게시판을 만들 수 있는 권한을 가지고 있는지 확인합니다.
+
+
+### URL
+
+ GET ~/user/userType HTTP/1.1
+ Host:
+ Authorization:
+ Content-type:
+
+### URL 파라미터
+
+ None
+
+### Data 파라미터
+
+ Required:
+
+ `userType=[string]`
+
+### Success Response:
+
+ Code:
+
+ 200 (OK)
+
+ "isQualifiedUser": True
+
+### Error Response:
+
+ Code:
+
+ 404 NOT FOUND
+
+ { error : "Page doesn't exist" }
+
+#### OR
+
+ Code:
+
+ 401.1 UNAUTHORIZED
+
+ { error: "권한이 없는 사용자 입니다." }
+
+### Sample:
+
+ Request
+ ```javascript
+ curl -v -X GET "~~/user/userType" \
+ -H "Authorization: Bearer ${ACCESS_TOKEN}"
+
+ ```
+
+ Response
+ ```javascript
+ HTTP/1.1 200 OK
+ Content-Type: application/json;charset=UTF-8
+ {
+ "isQualifiedUser": True
+ }
+ ```
+
+ ## 게시판 작성 내용 전송
+
+ 사용자가 입력한 내용을 전달합니다.
+
+### URL
+
+ POST ~/borad/bordmake HTTP/1.1
+ Host:
+ Authorization:
+ Content-type:
+
+### Data 파라미터
+
+ Required:
+
+ boardName=[string],
+ higherBoard=[string],
+ readQulify=[string],
+ writeQulify=[string],
+ commentQulify=[string]
+
+ not Required:
+
+ boardIntroducion=[string]
+
+### Success Response:
+
+ #### Code:
+ 200 (OK)
+
+ id: "[생성된게시판_String_id]"
+
+### Error Response:
+
+ #### Code:
+ 404 NOT FOUND
+
+ error : "Page doesn't exist"
+
+ #### OR
+
+
+ #### Code:
+ 406 Not Acceptable
+
+ error: "필수 사항이 부족합니다"
+
+### Sample:
+
+Request
+ ```javascript
+ curl -v -X POST "~/board/boradmake" \
+ -H "Content-Type: \
+ -H "Authorization: Bearer ${ACCESS_TOKEN}" \
+ --data-urlencode "[게시판이름]" \
+ --data-urlencode "[상위게시판]" \
+ --data-urlencode "[읽기권한]" \
+ --data-urlencode "[쓰기권한]" \
+ --data-urlencode "[댓글권한]" \
+ --data-urlencode "[게시판소개]"
+ ```
+
+Response
+ ```javascript
+ HTTP/1.1 200 OK
+ Content-Type: application/json;charset=UTF-8
+ {
+ "id":"[만들어질게시판_id]"
+ }
+ ```
+
+## 게시판 작성 내용 임시 저장
+
+ 사용자가 입력한 내용을 저장합니다.
+
+ + 게시판 사용자가 만든 내용을 서버에 저장한다면 어디 위치에 저장할지 정해야합니다. 또한 '게시판 만들기' 페이지에서 임시 게시판 불러오기 기능을 추가해야할듯 합니다. 임시로 불러오기 api로 만들어 봤습니다.
+
+### URL
+
+ POST ~/borad/boardsave HTTP/1.1
+ Host:
+ Authorization: Bearer ${ACCESS_TOKEN}
+ Content-type: [필요시작성]
+
+### Data 파라미터
+
+ not Required:
+
+ boardName=[string],
+ higherBoard=[string],
+ readQulify=[string],
+ writeQulify=[string],
+ commentQulify=[string],
+ boardIntroducion=[string]
+
+### Success Response:
+
+ #### Code:
+ 200 (OK)
+
+ id: "[생성된게시판_String_id]"
+
+### Error Response:
+
+ #### Code:
+ 404 NOT FOUND
+
+ error : "Page doesn't exist"
+
+### Sample:
+
+Request
+ ```javascript
+ curl -v -X POST "~/board/boradsave" \
+ -H "Content-Type: \
+ -H "Authorization: Bearer ${ACCESS_TOKEN}" \
+ --data-urlencode "boardName=SCSC중고장터" \
+ --data-urlencode "higherBoard=홍보/모집" \
+ --data-urlencode "readQulify=준회원" \
+ --data-urlencode "writeQulify=준회원" \
+ --data-urlencode "commentQulify=준회원" \
+ --data-urlencode "boardIntroducion=Sell&Buy everyting You want!"
+ ```
+
+Response
+ ```javascript
+ HTTP/1.1 200 OK
+ Content-Type: application/json;charset=UTF-8
+ {
+ "id": "[만들어질게시판_id]"
+ }
+ ```
+
+## 게시판 임시 작성 내용 불러오기
+
+ 사용자가 입력한 게시판 내용을 서버에서 불러옵니다.
+
+### URL
+
+ GET ~/borad/boardload HTTP/1.1
+ Host:
+ Authorization: Bearer ${ACCESS_TOKEN}
+
+### Data 파라미터
+
+ id: "[생성된게시판_String_id]"
+
+
+### Success Response:
+
+ #### Code:
+ 200 (OK)
+
+ boardName=[string],
+ higherBoard=[string],
+ readQulify=[string],
+ writeQulify=[string],
+ commentQulify=[string],
+ boardIntroducion=[string]
+
+### Error Response:
+
+ #### Code:
+ 404 NOT FOUND
+
+ error : "Page doesn't exist"
+
+### Sample:
+
+Request
+ ```javascript
+ curl -v -G GET "~/board/boardload" \
+ -H "Authorization: Bearer ${ACCESS_TOKEN}" \
+ -d "id=${BOARD_ID}"
+ ```
+
+Response
+ ```javascript
+ HTTP/1.1 200 OK
+ Content-Type: application/json;charset=UTF-8
+ {
+ "id":"AAAA.BBBB"
+ "boardName":"SCSC중고장터" \
+ "higherBoard":"홍보/모집" \
+ "readQulify":"준회원" \
+ "writeQulify":"준회원" \
+ "commentQulify":"준회원" \
+ "boardIntroducion":"Sell&Buy everyting You want!"
+ }
+ ```
\ No newline at end of file
diff --git a/API docs/comment.md b/API docs/comment.md
new file mode 100644
index 0000000..1feba3c
--- /dev/null
+++ b/API docs/comment.md
@@ -0,0 +1,63 @@
+## 댓글 쓰기
+### 요청
+#### URL
+ `POST /boards/{board_id}/{article_id}/comments`
+
+#### 헤더
+ * `x-access-token`
+
+#### data 파라미터
+ **Required:**
+ ` content=[string]`
+
+ **Not Required:**
+ `parent=[integer]`
+
+
+#### 응답
+
+**Success ResponseCode:** `201(created)`
+
+ **Content:**
+ `{id:2, content="abc",parent=1}`
+
+
+
+**Error Response**
+ **Code:** `404(Not Found)`
+
+ **Content:**`{error:'no such article or parent comment'}`
+
+
+
+ **Code:** `200(UnAuthorized)`
+
+ **Content:**`{error:'권한이 없는 사용자입니다.}`
+
+
+
+ **Code:** `400(Bad Request)`
+
+ **Content:**:`{error:'필수 사항이 부족합니다'}`
+
+## 댓글 삭제하기
+### 요청
+#### URL
+`DELETE /comment/{id}`
+#### URL 파라미터
+ Required:id[integer]
+
+ **Success Response**
+ **Code**: `204(No content)`
+
+
+ **Error response**
+ **code**: `401(Unauthorized)`
+ **Content:**`{error:'권한이 없는 사용자입니다.}`
+
+
+ **code**: `404(Not found)`
+ **content:**`{error:'not found}`
+
+
+
diff --git a/API docs/post.md b/API docs/post.md
new file mode 100644
index 0000000..49cc727
--- /dev/null
+++ b/API docs/post.md
@@ -0,0 +1,145 @@
+# 글
+
+* 게시판 id를 이용하여 접속
+
+## 게시판에서 글 찾기
+
+게시글의 제목과 게시글 id, 조회수 목록을 반환
+
+### 요청
+
+#### URL
+
+ `GET /boards/{board_id}`
+
+#### URL 파라미터
+
+* `board_id`: 문자열
+
+#### 데이터 파라미터
+
+* `page`: 1 이상의 정수, 기본값 1
+* `page_size`: 1 이상 100 이하의 정수, 기본값 20
+
+### 성공 시 응답
+
+#### 응답 코드
+
+200 (OK)
+
+#### 응답 인터페이스 예시
+
+```typescript
+interface FindPostResponseSuccessEntry {
+ post_id: string
+ post_name: string
+ post_hit: number
+};
+
+interface FindPostResponseSuccess {
+ documents: FindPostResponseSuccessEntry[]
+};
+```
+
+#### 응답 예시
+
+```json
+{
+ "documents": [
+ {
+ "post_id": "M2XUa3",
+ "post_name": "Lorem ipsum",
+ "post_hit": 12
+ },
+ {
+ "post_id": "ohcZjX",
+ "post_name": "dolor sit amet",
+ "post_hit": 11
+ },
+ {
+ "post_id": "aVgUwg",
+ "post_name": "consectetur adipiscing elit",
+ "post_hit": 13
+ },
+ {
+ "post_id": "WNUa99",
+ "post_name": "sed do eiusmod",
+ "post_hit": 19
+ },
+ {
+ "post_id": "4mZsxP",
+ "post_name": "tempor incididunt",
+ "post_hit": 8
+ },
+ ...
+ ]
+}
+```
+
+### 실패 시 응답 – 권한 없음
+
+#### 조건
+
+게시판이 회원만 읽을 수 있는 게시판이고 사용자가 로그인하지 않았을 때,
+또는 게시판이 특정 등급의 회원만 읽을 수 있는 게시판이고 사용자가 그 등급에 속하지 않을 때
+
+#### 응답 코드
+
+200 (OK)
+
+#### 응답 인터페이스 예시
+
+```typescript
+interface FindPostResponseUnauthorized {
+ error: {
+ id: "ERROR_UNAUTHORIZED"
+ message: string
+ }
+};
+```
+
+#### 응답 예시
+
+```json
+{
+ "error": {
+ "id": "ERROR_UNAUTHORIZED",
+ "message": "You are unauthorized to make this request."
+ }
+}
+```
+
+### 호출 예시
+
+```typescript
+FindPostResponse = |
+| FindPostResponseSuccess
+| FindPostResponseUnauthorized;
+
+fetch(new Request(
+ `/boards/${boardId}?${new URLSearchParams({page: page, page_size: pageSize})}`,
+)).then(
+ (response) => response.json() as FindPostResponse
+).then(
+ (data) => {
+ if (data instanceof FindPostResponseSuccess) {
+ console.log(data.documents)
+ } else if (data instanceof FindPostResponseUnauthorized) {
+ console.log(data.error.message)
+ }
+ }
+);
+```
+
+## 글 보기
+
+### 요청
+
+#### URL
+
+ `GET /boards/{board_id}/{post_id}`
+
+#### URL 파라미터
+
+* `board_id`: 문자열
+* `post_id`: 문자열
diff --git a/API docs/profile.md b/API docs/profile.md
new file mode 100644
index 0000000..4d46f0e
--- /dev/null
+++ b/API docs/profile.md
@@ -0,0 +1,76 @@
+## 프로필 가져오기
+> 현재 로그인한 사용자의 프로필 정보(닉네임, 프로필 이미지)을 불러옵니다. 사용자가 SCSC 홈페이지 회원이 아니라면 오류가 발생합니다.
+
+------------
+### 요청
+> 요청자가 SCSC 회원인지 확인합니다.
+
+#### URL
+* GET /profile/{id}
+
+#### URL 파라미터
+* id: 회원 아이디 [string]
+
+#### 데이터 파라미터
+* username: 닉네임 정보 [string]
+* name: 사용자의 실명 [string]
+* profileImageUrl: 프로필 이미지 URL [string]
+* thumbnailImageUrl: 프로필 썸네일 이미지 URL [string]
+* userType: 회원 등급(동아리원, 졸업생, 일반회원) [string]
+* email: 사용자의 이메일 주소 [string]
+
+------------
+### 성공 시 응답
+
+#### 응답 코드 및 내용
+* 응답 코드: 200(OK)
+* 내용
+``` Javascript
+{
+ username: [string],
+ name: [string],
+ profileImageUrl: [string],
+ thumbnailImageUrl: [string],
+ userType: [string],
+ email: [string]
+}
+```
+
+#### 응답 예시
+``` Javascript
+{
+ "username": 'GilDong',
+ "name": '홍길동',
+ "profileImageUrl": 'https://server_domain/.../aaa.jpeg',
+ "thumbnailImageUrl": 'https://server_domain/.../bbb.jpeg',
+ "userType": '동아리원',
+ "email": 'gildonghong@snu.ac.kr'
+}
+```
+
+------------
+### 실패 시 응답
+> SCSC에 회원가입하지 않았거나, 로그인하지 않은 회원이 접근할 때 오류가 발생합니다.
+
+#### 응답 코드 및 내용
+* 응답 코드: 401(Unauthorized)
+* 내용
+``` Javascript
+{
+ error: {
+ id: ERROR_UNAUTHORIZED,
+ message:[string]
+ }
+}
+```
+
+#### 응답 예시
+``` Javascript
+{
+ error: {
+ id: ERROR_UNAUTHORIZED,
+ message:'접근 권한이 없습니다.'
+ }
+}
+```
+------------