--- title: エラーとレート制限の処理 sidebarTitle: エラーとレート制限 description: エラーレスポンスの共通構造、ステータスクラスごとの意味、再試行に値する失敗の見分け方 --- > このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/api-reference/guides/errors) を参照してください。 記載されているエラーは、いずれも同じ 3 フィールドの JSON 構造で返ります。 ```json { "code": "invalid_param", "message": "user is required", "status": 400 } ``` `status` は HTTP ステータスと同じ値です。`code` は分岐処理に使える安定した識別子で、`message` は人間が読むための詳細です。各エンドポイントページには、返る可能性のある `code` がすべて記載されています。 ## ステータスクラスの概要 | ステータス | 意味 | 主な `code` | |:-----------|:-----|:------------| | 400 | リクエストまたはアプリの設定が無効 | `invalid_param`、`bad_request`、`app_unavailable`、プロバイダーエラー(後述) | | 401 | API キーの欠落または無効 | `unauthorized` | | 403 | このキーでは実行できない操作(アクセス制限またはプラン制限) | `forbidden` | | 404 | リソースが存在しないか、このキーまたは `user` からは見えない | `not_found` | | 413 / 415 | ファイルが大きすぎるか、サポート外のタイプ | `file_too_large`、`unsupported_file_type` | | 429 | 現在のリクエストが多すぎるか、クォータを使い切った | `too_many_requests`、`rate_limit_error` | | 500 | Dify 側での失敗 | `internal_server_error` | ## プロバイダーエラーは設定の問題 よくある 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` のため、プラン制限かどうかは `message` でしか判別できません。403 の処理を `code` だけで分岐させないでください。 ## ストリーム内のエラー ストリームが開いた時点で、HTTP ステータスはすでに `200` です。失敗は `error` イベントとして届き、ストリームを終了させます。イベントの `code` の値はこのページに記載のものと同じで、同じルールで分類できます。詳細は [ストリーミングレスポンスの処理](/ja/api-reference/guides/streaming) を参照してください。 ## 再試行の判断 - **バックオフして再試行**:`too_many_requests`、`500`、ネットワーク障害。 - **そのまま再試行しない**:バリデーションエラー(まずリクエストを修正)、認可の失敗、クォータエラー(クォータがリセットされるまで解消しない)。 - **再試行ではなく修正**:再開呼び出しの `404` は、`user` の誤りか実行が存在しないことを意味します。再試行せず、識別子を修正してください。