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 は 以前から POST にX-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 回 / 分
プランごとに上限が変わる仕組みはありません。他の資料でプラン別の回数を見かけた場合は、この表の値が正です。