shiichan

403 Forbidden の「なんで?」が一発で分かるようになったよ!

みんな、しぃちゃんだよ!今日は Cloudflare API を触ったことがある人なら「あるある」ってなりそうなアップデートを見つけたよ。地味だけどすごく助かるやつ、紹介するね!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog に、「Enriched 403 responses for the Cloudflare API」という発表が載ったよ。Cloudflare API が 403 Forbidden を返すとき、そのレスポンスに documentation_url というフィールドが新しく含まれるようになったの。これは拒否されたエンドポイントの API ドキュメントに直接リンクするフィールドで、ほぼ全ての Cloudflare 製品 API に対応しているよ。

なぜ重要なの?

これまでは 403 が返ってきても、「どのロールや権限が足りないのか」を自分で調べる必要があったんだよね。API トークンの権限を見直したり、必要なロールをドキュメントで探したり……という地味な手間がかかっていたの。documentation_url があれば、エラーが起きたその場から該当エンドポイントのドキュメントに一発で飛べるから、自己解決までの時間がぐっと縮むよ。

これで何が変わるの?

実際の 403 レスポンスはこんな感じになるよ。

{
  "success": false,
  "errors": [
    {
      "code": 10000,
      "message": "Forbidden",
      "documentation_url": "https://developers.cloudflare.com/api/resources/workers/subresources/beta/subresources/workers/methods/list"
    }
  ],
  "messages": [],
  "result": null
}

このリンク先には、そのエンドポイントに必要なロール情報が載っているから、「何の権限が足りないのか」を推測しなくてよくなるの。人間の開発者・管理者だけじゃなくて、エージェントにとっても嬉しい変更だよ。documentation_url をそのまま使ってドキュメントを取得し、必要な権限を特定して、サードパーティの承認フローに活用する、なんてこともできるようになるみたい。

まとめ

  • Cloudflare API の 403 Forbidden レスポンスに documentation_url フィールドが追加された
  • 拒否されたエンドポイントのドキュメントに直接リンクしていて、必要なロール情報がすぐ分かる
  • ほぼ全ての Cloudflare 製品 API に対応
  • 人間の開発者・管理者だけでなく、エージェントによる自動トラブルシューティングにも活用できる
  • Cloudflare API をアプリや自動化から呼んでいて、権限まわりのエラーにたまにハマる人には地味に嬉しいアップデートだよ