새 계정을 생성합니다. root folder도 함께 생성합니다.
- Body
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
name | None | 사용자 아이디 | formData | string | true |
password | None | 사용자 비밀번호 | formData | SHA256 encrypted string | true |
- Response (status code: 200)
{
"new_user": 1
}
- Example
curl -X "POST" "https://upload-now-box.cf/users" \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"name": "firstuser",
"password": "20504cdfddaad0b590ca53c4861edd4f5f5cf9c348c38295bd2dbf0e91bca4c3"
}'
Login API 입니다. access_token으로 JWT token을 반환합니다.
- Body
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
name | None | 사용자 아이디 | formData | string | true |
password | None | 사용자 비밀번호 | formData | SHA256 encrypted string | true |
- Response (status code: 200)
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYxODQwODExNiwianRpIjoiMWQ4ZmIxNjAtNDQ3My00ZDJlLTg1NDItNzNlZjBjNTFiM2FmIiwibmJmIjoxNjE4NDA4MTE2LCJ0eXBlIjoiYWNjZXNzIiwiaWRlbnRpdHkiOjQsImV4cCI6MTYxOTAxMjkxNiwiY3JlYXRlZF9hdCI6IjIwMjEtMDQtMTRUMjI6NDc6NTUifQ.gqOjDBVegv-jACs8n1AK2BZdL2D_Ueu2-qsYLA5RAtQ"
}
-
Exception
- "User not found": name에 해당하는 유저가 존재하지 않을 경우
- "Password error": password 검증에 실패할 경우
-
Example
curl -X "POST" "https://upload-now-box.cf/auth" \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"name": "firstuser2",
"password": "20504cdfddaad0b590ca53c4861edd4f5f5cf9c348c38295bd2dbf0e91bca4c3"
}'
folder를 생성합니다. parent_id로 상위 folder의 id를 전달하여 상하관계를 설정합니다.
- Body
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
name | None | folder name | formData | string | true |
parent_id | None | parent folder id | formData | integer | true |
- Response (status code: 200)
{
"folder_id": 5
}
- Example
curl -X "POST" "https://upload-now-box.cf/folders" \
-H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyMDgzNjczMywianRpIjoiYzMxODc3MGEtMWE1NC00ZjYwLWJkNGItNWZmMmMyMzkwNGE5IiwidHlwZSI6ImFjY2VzcyIsImlkZW50aXR5IjoxLCJuYmYiOjE2MjA4MzY3MzMsImV4cCI6MTYyMTQ0MTUzMywiY3JlYXRlZF9hdCI6IjIwMjEtMDUtMDVUMTQ6NTU6MzYifQ.9pLCpFjEqkvWoxc76N8zTCUPgl90ojP893qTja_nYZo' \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"name": "new folder",
"parent_id": 1
}'
folder의 정보, 하위 folder 정보, 현재 folder 내의 file 정보를 반환합니다.
- Parameter
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
folder_id | None | folder id | path | integer | true |
- Response (status code: 200)
{
"child_folders": [
{
"id": 2,
"name": "update folder",
"parent_id": 1
}
],
"current_folder": {
"id": 1,
"name": "root",
"parent_id": null
},
"files": [
{
"id": 1,
"name": "conaf.jpg"
}
]
}
-
Exception
- "Folder not Exist": folder_id에 해당하는 folder가 존재하지 않은 경우
- "ForbiddenError": folder의 소유자가 아닌 경우
-
Example
curl "https://upload-now-box.cf/folders/1" \
-H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyMDgzNjczMywianRpIjoiYzMxODc3MGEtMWE1NC00ZjYwLWJkNGItNWZmMmMyMzkwNGE5IiwidHlwZSI6ImFjY2VzcyIsImlkZW50aXR5IjoxLCJuYmYiOjE2MjA4MzY3MzMsImV4cCI6MTYyMTQ0MTUzMywiY3JlYXRlZF9hdCI6IjIwMjEtMDUtMDVUMTQ6NTU6MzYifQ.9pLCpFjEqkvWoxc76N8zTCUPgl90ojP893qTja_nYZo'
folder의 정보를 수정합니다.
- Parameter
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
folder_id | None | folder id | path | integer | true |
name | None | folder name for update | formData | string | true |
- Response (status code: 200)
{
"folder_id": 5
}
-
Exception
- "Folder not Exist": folder_id에 해당하는 folder가 존재하지 않은 경우
- "ForbiddenError": folder의 소유자가 아닌 경우
-
Example
curl -X "PATCH" "https://upload-now-box.cf/folders/2" \
-H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyMDgzNjczMywianRpIjoiYzMxODc3MGEtMWE1NC00ZjYwLWJkNGItNWZmMmMyMzkwNGE5IiwidHlwZSI6ImFjY2VzcyIsImlkZW50aXR5IjoxLCJuYmYiOjE2MjA4MzY3MzMsImV4cCI6MTYyMTQ0MTUzMywiY3JlYXRlZF9hdCI6IjIwMjEtMDUtMDVUMTQ6NTU6MzYifQ.9pLCpFjEqkvWoxc76N8zTCUPgl90ojP893qTja_nYZo' \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"name": "update folder"
}'
folder를 삭제합니다.
- Parameter
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
folder_id | None | folder id | path | integer | true |
- Response (status code: 200)
{
"success": true
}
-
Exception
- "Folder not Exist": folder_id에 해당하는 folder가 존재하지 않은 경우
- "ForbiddenError": folder의 소유자가 아닌 경우
-
Example
curl -X "DELETE" "https://upload-now-box.cf/folders/2" \
-H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyMDgzNjczMywianRpIjoiYzMxODc3MGEtMWE1NC00ZjYwLWJkNGItNWZmMmMyMzkwNGE5IiwidHlwZSI6ImFjY2VzcyIsImlkZW50aXR5IjoxLCJuYmYiOjE2MjA4MzY3MzMsImV4cCI6MTYyMTQ0MTUzMywiY3JlYXRlZF9hdCI6IjIwMjEtMDUtMDVUMTQ6NTU6MzYifQ.9pLCpFjEqkvWoxc76N8zTCUPgl90ojP893qTja_nYZo'
file을 생성합니다.
- Body
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
file | None | file for upload | formData | base64 encoded file | true |
filename | None | file name | formData | string | true |
folder_id | None | folder id for file | formData | integer | true |
- Response (status code: 200)
{
"file_id": 5
}
- Example
curl -X "POST" "https://upload-now-box.cf/files" \
-H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyMDgzNjczMywianRpIjoiYzMxODc3MGEtMWE1NC00ZjYwLWJkNGItNWZmMmMyMzkwNGE5IiwidHlwZSI6ImFjY2VzcyIsImlkZW50aXR5IjoxLCJuYmYiOjE2MjA4MzY3MzMsImV4cCI6MTYyMTQ0MTUzMywiY3JlYXRlZF9hdCI6IjIwMjEtMDUtMDVUMTQ6NTU6MzYifQ.9pLCpFjEqkvWoxc76N8zTCUPgl90ojP893qTja_nYZo' \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"folder_id": 1,
"file": "base64 encoded file",
"filename": "test.jpg"
}'
file download
- Parameter
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
file_id | None | file_id for download | path | integer | true |
-
Response (status code: 200)
- file
-
Exception
- "File not Exist": file_id에 해당하는 file이 존재하지 않은 경우
- "ForbiddenError": file의 소유자가 아닌 경우
-
Example
curl "https://upload-now-box.cf/files/2" \
-H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYxODQxMDU3MSwianRpIjoiMjM2MmI5YzgtZjc1OS00NDAxLTljNTQtZWEyYWYxNTkwMzk3IiwibmJmIjoxNjE4NDEwNTcxLCJ0eXBlIjoiYWNjZXNzIiwiaWRlbnRpdHkiOjEsImV4cCI6MTYxOTAxNTM3MSwiY3JlYXRlZF9hdCI6IjIwMjEtMDQtMTRUMjM6Mjk6MjcifQ.-rFVaVoap2UsfC8QrltNE32qZfGEpcbZzHf-SBpe1hk'
file 삭제
- Parameter
Parameter | Default value | Description | Param type | Data type | Required |
---|---|---|---|---|---|
file_id | None | file_id for download | path | integer | true |
- Response (status code: 200)
{
"success": true
}
-
Exception
- "File not Exist": file_id에 해당하는 file이 존재하지 않은 경우
- "ForbiddenError": file의 소유자가 아닌 경우
-
Example
curl -X "DELETE" "https://upload-now-box.cf/files/2" \
-H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYxODQxMDU3MSwianRpIjoiMjM2MmI5YzgtZjc1OS00NDAxLTljNTQtZWEyYWYxNTkwMzk3IiwibmJmIjoxNjE4NDEwNTcxLCJ0eXBlIjoiYWNjZXNzIiwiaWRlbnRpdHkiOjEsImV4cCI6MTYxOTAxNTM3MSwiY3JlYXRlZF9hdCI6IjIwMjEtMDQtMTRUMjM6Mjk6MjcifQ.-rFVaVoap2UsfC8QrltNE32qZfGEpcbZzHf-SBpe1hk'
health check 용 API
- Response (status code: 200)
{
"result": "pong"
}
- Example
curl "https://upload-now-box.cf/ping"