API 문서
API Key는 발급 또는 재발급 직후 한 번만 표시됩니다. 서버에는 원본 키가 아니라 단방향 해시만 저장됩니다.
Authorization: Bearer YOUR_API_KEY
기본 URL
https://pm-storage.kro.kr
상태 확인
curl.exe https://pm-storage.kro.kr/api/health
cURL 업로드
선택 폴더: ?folder=backup/2026
curl.exe -X POST https://pm-storage.kro.kr/api/files/upload ^ -H "Authorization: Bearer YOUR_API_KEY" ^ -F "file=@C:\path\video.mp4"
Python 예시
import requests
BASE_URL = "https://pm-storage.kro.kr"
API_KEY = "YOUR_API_KEY"
headers = {"Authorization": f"Bearer {API_KEY}"}
with open(r"C:\path\video.mp4", "rb") as file:
response = requests.post(
f"{BASE_URL}/api/files/upload",
headers=headers,
files={"file": file},
)
print(response.status_code)
print(response.json())Node.js 예시
const fs = require("fs");
const FormData = require("form-data");
const baseUrl = "https://pm-storage.kro.kr";
const apiKey = "YOUR_API_KEY";
async function upload() {
const form = new FormData();
form.append("file", fs.createReadStream("C:\\path\\video.mp4"));
const response = await fetch(baseUrl + "/api/files/upload", {
method: "POST",
headers: {
Authorization: "Bearer " + apiKey,
...form.getHeaders()
},
body: form
});
console.log(await response.json());
}
upload().catch(console.error);파일
GET /api/files GET /api/files/:id/download DELETE /api/files/:id POST /api/files/:id/delete # fallback when DELETE is blocked
텍스트 파일
POST /api/files/text
Content-Type: application/json
{"name":"note.txt","folder":"docs","content":"hello"}
GET /api/files/:id/text
PUT /api/files/:id/text
Content-Type: application/json
{"content":"updated text"}용량과 폴더
GET /api/storage/usage
POST /api/folders
JSON body:
{"folder":"backup/2026"}분할 저장 공간
공간 API 키도 같은 엔드포인트를 쓰지만, 해당 공간 안의 파일만 조회/업로드/삭제할 수 있습니다. 공간은 유저 패널에서 직접 만들 수 있습니다.
Authorization: Bearer SPACE_API_KEY GET /api/files POST /api/files/upload GET /api/storage/usage