Skip to main content
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
アプリと従来型ナレッジベースのエンドポイントは、いずれも同じ 3 フィールドの JSON 構造でエラーを返します。
status は HTTP ステータスと同じ値です。code は分岐処理に使える安定した識別子で、message は人間が読むための詳細です。各エンドポイントページには、返る可能性のある code がすべて記載されています。
Agent ナレッジベース API も同じ 3 つのフィールドを使い、多くのエラーにはさらに failure オブジェクトを加えます。failure からわかることと再試行すべき場面については、同 API ガイドの エラーの処理 を参照してください。

ステータスクラスの概要

Dify Cloud のアプリ API では、IP アクセス制御 によってリクエストがブロックされた場合も、401 レスポンスが返ることがあります。API キーが有効な場合は、リクエスト元の IP が許可されているか、アプリの管理者に確認を依頼してください。

プロバイダーエラーは設定の問題

よくある 4 つの 400 code は、リクエストではなくアプリのモデル設定の問題を示します。
  • provider_not_initialize:有効なモデル認証情報がない
  • provider_quota_exceeded:モデルプロバイダー側のクォータを使い切った
  • model_currently_not_support:モデルが現在サポートされていない
  • completion_request_error:テキスト生成リクエストの実行中にエラーが発生した
これらのエラーは再試行しても解決しません。Dify でアプリのモデル設定を修正してください。

レート制限とクォータ

2 つの 429 code は意味が異なります。
  • too_many_requests は同時実行数の上限です。このアプリへの同時リクエストが今は多すぎる状態です。バックオフして再試行してください。
  • rate_limit_error は Dify Cloud のプランクォータです(ワークフロー実行回数など)。再試行では解消されず、クォータ期間のリセットかプラン変更で解消します。
Dify Cloud では、ナレッジベースのエンドポイントも、リクエストレート制限 などのプラン制限を 403 レスポンスとして返します。これらのレスポンスの code は forbidden です。従来型ナレッジベースのエンドポイントはアクセス制限にも同じ code を使うため、code だけで分岐せず、message を読んで区別してください。

ストリーム内のエラー

アプリのストリームが開いた時点で、HTTP ステータスはすでに 200 です。失敗は error イベントとして届き、ストリームを終了させます。イベントの code の値はこのページに記載のものと同じで、同じルールで分類できます。詳細は ストリーミングレスポンスの処理 を参照してください。

再試行の判断

  • バックオフして再試行:too_many_requests、500、ネットワーク障害。
  • そのまま再試行しない:バリデーションエラー(まずリクエストを修正)、認可の失敗、クォータエラー(クォータがリセットされるまで解消しない)。
  • 再試行ではなく修正:再開呼び出しの 404 は、user の誤りか実行が存在しないことを意味します。再試行せず、識別子を修正してください。
Last modified on November 4, 2026