API リファレンス

EdgeWorks REST API の仕様

ベース URL

https://nozawatec.com/api/edgeworks

旧 https://edgeworks.nozawatec.com/api は移行から 1 か月で止まります。

認証

全てのAPIリクエストには、ダッシュボードで発行したAPIキーを X-API-Key ヘッダーに含めてください。

X-API-Key: <発行した鍵>

Authorization: Bearer <発行した鍵> も受け付けます

PUT と DELETE の送りかた

置き場(お名前ドットコム)の WAF が PUT と DELETE を落とすため、EdgeWorks は 以前から POSTX-HTTP-Method-Overrideを添えて送る形になっています。統合後もこの形を受け付けます。 配布済みの SDK とアプリが例外なくこの形で送ってくるので、変えられません。

POST /api/edgeworks/vault/files/123
X-HTTP-Method-Override: DELETE

GET からの上書きは受け付けません(リンクを踏ませるだけで削除できてしまうため)。

エンドポイント一覧

使えるはいま動くエンドポイントです。印の無いものは旧環境に在って、まだ移していません(呼ぶと失敗します)。 この一覧は API の定義ファイルから自動で作っているので、実物とずれません。

161 件のうち、いま動くのは 83 件です。

認証・アカウント1 / 18 件が動く

  • GET/使える
まだ移していないエンドポイント(17 件)
  • POST/auth/2fa/disable
  • POST/auth/2fa/setup
  • GET/auth/2fa/status
  • POST/auth/2fa/verify
  • POST/auth/avatar
  • POST/auth/forgot-password
  • POST/auth/login
  • GET/auth/profile
  • POST/auth/register
  • POST/auth/resend-verification
  • POST/auth/reset-password
  • GET/auth/verify-email
  • POST/auth/verify-turnstile
  • GET/notifications
  • PUT/notifications/:id/read
  • PUT/notifications/read-all
  • GET/storage/uploads/avatars/:filename

EdgeVault12 / 17 件が動く

  • GET/admin/media使える
  • GET/vault/files使える
  • DELETE/vault/files/:id使える
  • GET/vault/files/:id使える

    ファイルを 1 件だけ引く(統合で新設)

  • PUT/vault/files/:id/move使える

    ファイルを別のフォルダへ移す

  • GET/vault/folders使える

    フォルダの一覧と、それぞれの件数・容量

  • POST/vault/folders使える
  • POST/vault/presign使える
  • GET/vault/stats使える
  • POST/vault/upload使える
  • POST/vault/upload-presigned使える
  • POST/vault/upload-presigned/:token使える

    引換券を URL に埋めた形で中身を送る(screenshot-basic 用)

まだ移していないエンドポイント(5 件)
  • DELETE/admin/media/:id
  • POST/auth/avatar
  • GET/dashboard/stats
  • GET/storage/uploads/:userId/:filename
  • GET/storage/uploads/avatars/:filename

EdgeStream14 / 15 件が動く

  • GET/admin/streams使える
  • GET/admin/streams/recordings使える
  • DELETE/stream/:id使える
  • PUT/stream/:id/heartbeat使える

    配信が生きていることを伝える。視聴者数も一緒に送れる

  • PUT/stream/:id/start使える
  • GET/stream/:id/stats使える
  • PUT/stream/:id/stop使える
  • PUT/stream/:id/viewers使える

    視聴者数だけを送る(自己申告の値)

  • POST/stream/create使える
  • GET/stream/limits使える

    プランごとの上限と、今日の使用数

  • GET/stream/list使える
  • GET/stream/recordings使える

    録画の一覧

  • GET/stream/settings使える

    配信の設定と、そのうち実際に効くものの一覧

  • PUT/stream/settings使える

    配信の設定を変える

まだ移していないエンドポイント(1 件)
  • PUT/admin/streams/:id/force-stop

EdgeGuard17 / 17 件が動く

  • GET/guard/actions使える

    サーバーが実行すべき指示(キックなど)を取りに行く(統合で新設)

  • POST/guard/ban使える
  • GET/guard/bans使える
  • GET/guard/capability使える
  • POST/guard/capability使える
  • POST/guard/check-ban使える
  • GET/guard/detections使える
  • POST/guard/detections使える
  • POST/guard/detections/:id/status使える
  • POST/guard/heartbeat使える

    サーバーが生きていることと、いまの人数を伝える

  • POST/guard/player-disconnect使える

    プレイヤーの切断を伝える(サーバー名も一緒に送る)

  • GET/guard/players使える

    いま繋がっているプレイヤーの一覧

  • GET/guard/prechecks使える

    参加前の確認項目の一覧

  • PUT/guard/prechecks/:checkId使える

    参加前の確認項目を切り替える

  • GET/guard/rules使える
  • PUT/guard/rules/:id使える
  • POST/guard/unban/:playerId使える

EdgeInsight0 / 12 件が動く

まだ移していないエンドポイント(12 件)
  • POST/insight/collect
  • GET/insight/compare
  • GET/insight/flow
  • GET/insight/locales
  • GET/insight/overview
  • GET/insight/servers
  • GET/insight/servers/:cfxId
  • GET/insight/servers/:cfxId/history
  • POST/insight/track
  • GET/insight/tracked
  • GET/insight/trends
  • POST/insight/untrack

組織・シフト21 / 21 件が動く

  • GET/admin/audit使える

    監査ログ(発信元は `with_ip=1` のときだけ返る)

  • GET/admin/orgs使える

    全体管理者が見る組織の一覧

  • PUT/admin/orgs/:id/status使える

    全体管理者が組織を止める・戻す・書庫へ入れる

  • GET/orgs使える

    自分が会員の組織の一覧(停止中の組織は出ない)

  • POST/orgs使える

    組織を作る(作った人がオーナーになる)

  • DELETE/orgs/:id使える

    組織を消す(オーナー本人か全体管理者)

  • GET/orgs/:id使える

    組織の中身 ── 会員・役割・出している招待

  • PUT/orgs/:id使える

    組織の名前や説明を変える(オーナーと管理者)

  • POST/orgs/:id/members使える

    **EdgeWorks の利用者名宛に**招待を出す。引換券はこの応答でだけ返る

  • GET/orgs/:id/roles使える

    シフトの役割の一覧

  • POST/orgs/:id/roles使える

    シフトの役割を作る

  • GET/orgs/:id/shifts使える

    シフトの一覧(`from` と `to` で期間を絞る)

  • POST/orgs/:id/shifts使える

    シフトを作る

  • DELETE/orgs/:orgId/members/:memberId使える

    会員を外す(先にシフトの割り当てを外し、その件数を返す)

  • PUT/orgs/:orgId/members/:memberId使える

    会員の役割・在籍・サービスごとの権限を変える

  • DELETE/orgs/:orgId/roles/:roleId使える

    シフトの役割を消す(一緒に消えるシフトの件数を返す)

  • PUT/orgs/:orgId/roles/:roleId使える

    シフトの役割を変える

  • DELETE/orgs/:orgId/shifts/:shiftId使える

    シフトを消す

  • PUT/orgs/:orgId/shifts/:shiftId使える

    シフトを変える(`member_id` に null で未割当に戻す)

  • POST/orgs/accept-invite使える

    招待を受ける。**招待された本人のアカウントでだけ通る**

  • GET/orgs/invites使える

    自分宛の、まだ切れていない招待(統合で新設)

EdgeSite・課金・管理14 / 57 件が動く

  • GET/admin/orgs使える

    全体管理者が見る組織の一覧

  • PUT/admin/orgs/:id/status使える

    全体管理者が組織を止める・戻す・書庫へ入れる

  • GET/admin/sites使える
  • GET/admin/stats使える
  • GET/admin/streams使える
  • GET/admin/streams/recordings使える
  • GET/admin/users使える
  • DELETE/site/:id使える

    サイトを消す(停止中は消せない)

  • PUT/site/:id使える

    名前・アドレス・部品・設定を保存する

  • POST/site/:id/duplicate使える

    下書きとして複製する(アドレスは作り直す)

  • POST/site/:id/publish使える

    公開する(部品が 0 個、または停止中のときは断る)

  • POST/site/:id/unpublish使える

    下書きに戻す(停止中は変えられない)

  • POST/site/create使える

    サイトを作る。`slug` を省くと英数 8 文字で作る

  • GET/site/list使える

    自分(または選んだ組織)のサイトの一覧。`settings` と `blocks` は返さない

まだ移していないエンドポイント(43 件)
  • POST/admin/announcements
  • DELETE/admin/announcements/:id
  • PUT/admin/announcements/:id/toggle-banner
  • GET/admin/billing/stats
  • GET/admin/billing/subscriptions
  • POST/admin/billing/subscriptions/:id/sync
  • GET/admin/billing/supporters
  • POST/admin/incidents
  • DELETE/admin/incidents/:id
  • PUT/admin/incidents/:id
  • GET/admin/logs
  • DELETE/admin/logs/cleanup
  • GET/admin/logs/export
  • GET/admin/logs/ip/:ip
  • GET/admin/logs/settings
  • PUT/admin/logs/settings
  • GET/admin/logs/stats
  • GET/admin/logs/user/:id/ips
  • DELETE/admin/sites/:id
  • PUT/admin/sites/:id/status
  • PUT/admin/streams/:id/force-stop
  • DELETE/admin/users/:id
  • GET/admin/users/:id
  • PUT/admin/users/:id/plan
  • POST/admin/users/:id/remove-avatar
  • GET/announcements
  • GET/announcements/banner
  • POST/billing/cancel
  • POST/billing/checkout
  • GET/billing/config
  • POST/billing/donate
  • POST/billing/donate/sync
  • POST/billing/portal
  • POST/billing/reactivate
  • GET/billing/subscription
  • POST/billing/sync
  • POST/billing/webhook
  • GET/incidents
  • GET/incidents/active
  • GET/site/public/:slug
  • GET/supporters
  • POST/supporters/:id/update
  • GET/supporters/me

レスポンス形式

すべてのレスポンスはJSON形式で返却されます。

成功時
{
  "success": true,
  "message": "OK",
  "data": { }
}
エラー時
{
  "success": false,
  "message": "ファイルが大きすぎます。",
  "details": null
}

エラーの本文は、そのまま画面に出してよい一文だけを返します。 受け付ける形式や上限の内訳は本文に含めません(このページに書いてあります)。

エラーコード

400
Bad Request — リクエストパラメータが不正
401
Unauthorized — APIキーが無効または未指定
403
Forbidden — アクセス権限がありません
404
Not Found — リソースが見つかりません
409
Conflict — リソースの競合が発生
422
Unprocessable Entity — バリデーションエラー
429
Too Many Requests — レート制限を超過
500
Internal Server Error — サーバーエラー

レート制限

上限はエンドポイントごとです。プランでは変わりません。 数え方は API キー単位(ログインで使うときは利用者単位)で、1 分あたりの回数です。 超えると 429 を返します。

ファイルを 1 件引く
600 回 / 分
アップロード用の一時 URL を作る
240 回 / 分
アップロード
120 回 / 分
削除
120 回 / 分
フォルダの移動
120 回 / 分
フォルダの作成
60 回 / 分

プランごとに上限が変わる仕組みはありません。他の資料でプラン別の回数を見かけた場合は、この表の値が正です。

API リファレンス | EdgeWorks