目次 NEXSTORE ドキュメント 管理画面を開く

API リファレンス

ファイル操作・公開・トークン発行など、管理画面でできることは API でもできます。

基本

項目内容
ベース URLhttps://s1-storage.nextvps.online
認証Authorization: Bearer nsk_…(API キー)。キーの持ち主として動き、キーの権限と対象フォルダの範囲だけ操作できます
本文JSON は Content-Type: application/json。アップロードは本文がそのままファイル
エラー{"error": "…"} と HTTP ステータス
ステータス意味
400入力の誤り(パスが不正、必須項目なし など)
401キーが無い・無効・期限切れ・取り消し済み
403キーの権限が足りない、または対象フォルダの外
404ファイル・リンクが無い(他人のものも 404)
409既に存在する(overwrite=0 のアップロード、同名フォルダ)
413 / 507容量の上限超過/ノードの空き不足

ファイル

メソッドパス権限内容
GET/api/files?path=/dirfiles:readフォルダの中身(各ファイルの保存先ノード付き)
GET/api/files/stat?path=/a.txtfiles:read詳細(保存先・sha256・公開リンク)
GET/api/files/tree?path=/dir&limit=1000files:read配下をすべて(最大 10000 件、truncated で続きの有無)
GET/api/files/recent?limit=10files:read最近更新したファイル
GET/api/files/content?path=/a.txtfiles:readダウンロード(Range 対応)
PUT/api/files/content?path=/dir/a.txtfiles:writeアップロード。親フォルダは自動作成。overwrite=0 で上書き禁止、mtime(ミリ秒)で更新日時を指定、class=slow で低速ストレージ(既定は高速)
POST/api/files/mkdirfiles:write{"path":"/a/b","parents":true}
POST/api/files/movefiles:write{"from":"/a","to":"/b"} 移動・名前変更
POST/api/files/copyfiles:write{"from":"/a","to":"/b"} データ共有で即時
POST/api/files/deletefiles:write{"paths":["/a","/b"]} フォルダは中身ごと
# 低速ストレージに保管(Cloudflare R2)
curl -T backup.tar.gz -H "Authorization: Bearer nsk_…"   "https://s1-storage.nextvps.online/api/files/content?path=/archive/backup.tar.gz&class=slow"

# アップロード(上書きしない)
curl -T report.pdf -H "Authorization: Bearer nsk_…" \
  "https://s1-storage.nextvps.online/api/files/content?path=/docs/report.pdf&overwrite=0"

# フォルダの中身
curl -H "Authorization: Bearer nsk_…" "https://s1-storage.nextvps.online/api/files?path=/docs"

# ダウンロード
curl -o report.pdf -H "Authorization: Bearer nsk_…" "https://s1-storage.nextvps.online/api/files/content?path=/docs/report.pdf"

公開

メソッドパス権限内容
POST/api/publishpublish{"path":"/site","access":"public"}(access: public / token)
POST/api/unpublishpublish{"id":"<公開ID>"}
GET/api/publicspublish公開リンク一覧(URL・アクセス方式・ダウンロード数付き)
GET/api/publics/get?id= または ?path=publish公開リンク 1 件
POST/api/publics/accesspublish{"id":"…","access":"token"} アクセス方式の変更

アクセストークン

メソッドパス権限内容
POST/api/publics/tokenstokens{"public_id","once","ttl_seconds","label"} → token と urls.link
GET/api/publics/tokens?public_id=tokensトークン一覧(使用状況付き。トークン本体は返りません)
POST/api/publics/tokens/revoketokens{"id":123}

詳しくは 公開リンクとアクセストークン。

API キー

メソッドパス権限内容
GET/api/keyskeys一覧
POST/api/keyskeys{"label","ttl_days","scopes","path_prefix"}
POST/api/keys/revokekeys{"id":123}

アカウント・ノード

メソッドパス権限内容
GET/api/me—ユーザー情報
GET/api/usage—ファイル数・容量・ダウンロード統計
GET/api/nodes—ノード ID・リージョン・稼働状態
GET /api/usage
{
  "files": 128, "folders": 12, "publics": 4,
  "used_bytes": 5368709120, "quota_bytes": 0,
  "downloads":    { "links":  {"count": 932, "bytes": 81604378624},
                    "direct": {"count": 15,  "bytes": 1073741824},
                    "total":  {"count": 947, "bytes": 82678120448} },
  "downloads_7d": { "links": {…}, "direct": {…}, "total": {…} }
}

links は公開リンク経由、direct は本人のダウンロード(Web・API・FTP)。数え方は ダッシュボードとダウンロード統計。