The request is prohibited due to a violation of provider Terms Of Service が表示されても、OpenRouterのクレジット残高が尽きたとは限りません。このメッセージは通常、リクエストがポリシーまたはアクセス制御の判定で拒否されたことを示します。ただし、ブロックされたプロンプト、アカウントや地域に対する制限、上流プロバイダー側の拒否が、いずれも似た403エラーとして返ることがあります。APIキーを替えたり、連携全体を書き換えたりする前に、まずどの層で拒否されたのかを特定しましょう。
このOpenRouterエラーから分かること
2026年8月31日最終更新のOpenRouterのTerms of Serviceでは、各モデルには対応するプロバイダー規約があり、モデルへのアクセス権はプロバイダーが管理するとされています。また、規約違反があった、またはその可能性があると合理的に判断した場合、OpenRouterはアクセスを制限できます。つまり、このエラーは上流プロバイダーの判断、OpenRouter側の執行、あるいは両方と整合します。メッセージ本文だけでは、どちらが拒否したかまでは判断できません。
ほかのAPIエラーとも区別が必要です。
| レスポンス | 主に疑う箇所 | 最初に確認すること |
|---|---|---|
| 401 | 認証 | APIキー、ヘッダー、キーの状態 |
| 402 | クレジットまたは利用上限 | 残高、キーの上限、使用量 |
| 403 provider-terms error | ポリシー、権限、地域、ガードレール、プロバイダーアクセス | 完全なJSONエラーとプロバイダーメタデータ |
| 429 | レート制限 | Retry-After、リクエスト頻度 |
403が返ったからといって、直前のプロンプトが違法だったと断定はできません。OpenRouterアカウント全体が恒久的にBANされた、とも限りません。
まずは、どこで拒否されたのかを特定する
問うべきなのは「このエラーをどう回避するか」ではなく、「どの判定ポイントがこのリクエストを拒否したのか」です。テストを始める前に、モデルスラッグ、選択されたプロバイダー、レスポンス本文全体、タイムスタンプ、リクエストIDを記録してください。
上流プロバイダー側の拒否を示すサイン
プロバイダー名が明示されている、author banned と表示される、プロバイダー固有のモデレーション文言がある、特定のモデルまたはプロバイダーでのみ失敗する、といった状況は、上流側のアクセス判断を示唆します。OpenRouterの規約でも、各Model Providerがモデルアクセスを単独で管理し、アクセス停止時には該当プロバイダーへ問い合わせる必要がある場合があるとされています。
生のフィールドを確認すべき理由は、公開されているGitHub issueにも表れています。CoarseのPDFレビュー処理ではLiteLLM経由でHTTP 403が発生しましたが、provider_name フィールドは null でした。レポートにはOpenRouter残高が$20あることも記載されており、「クレジット不足」という診断を裏付ける材料はありませんでした。
アカウント、ワークスペース、ルーティング制御を疑うサイン
無害なリクエストが関係のない複数プロバイダーで失敗するなら、単一のプロンプトを疑う前に、アカウント、ワークスペース、地域、認証情報、ルーティング条件を確認してください。OpenRouterの規約では、サービスまたは第三者を保護するために必要だと合理的に判断した場合、API認証情報を停止・制限できるとしています。また、制限対象モデルへアクセスするためのVPNやプロキシの利用も禁止されています。
OpenRouterのプロバイダーディレクトリでは、保持期間、トレーニング利用、BYOKの可否、本社所在地、プロバイダー規約へのリンクなど、プロバイダーごとの差異を確認できます。こうした項目は利用資格のある経路を選ぶ助けになりますが、特定アカウントが特定の理由でブロックされた証拠にはなりません。
10分でできる安全な切り分け手順
拒否されたリクエストを何度も送り直すのではなく、小さなテストマトリクスで確認します。
- 最初の証跡を保存する。 完全なJSONレスポンス、HTTPステータス、リクエストID、モデルスラッグ、プロバイダールート、タイムスタンプ、クライアントまたはSDKのバージョンを控えます。共有前にはAPIキーと非公開プロンプトの内容をマスクしてください。
- 中立的で最小限のリクエストを1回送る。 ファイル、ツール、ロールプレイ、レッドチームに関する表現、複雑なシステムプロンプトを含まない、短い事実確認の質問を使います。元のペイロードを繰り返し再送しないでください。
- モデルとプロバイダーを1つに固定する。 一時的に自動フォールバックを無効にします。成功した場合、どの経路が通ったのかを確実に把握できます。
- Activityの記録を確認する。 プロバイダーへの試行、未加工のプロバイダーレスポンス、ダッシュボードまたは連携側で確認できる
provider_responsesや関連メタデータを探します。 - 利用資格のある2つ目のプロバイダーでも試す。 中立プロンプトとモデルの能力は、実用上可能な範囲で近い条件に揃えます。1プロバイダーだけの失敗と、複数プロバイダーにまたがる失敗は別問題です。
- 影響範囲を比べる。 失敗が1モデル、1つのプロバイダー群、1ワークスペース、またはアカウントで利用可能な全モデルに及ぶかを調べます。制限を回避する目的でアカウントを作成してはいけません。
- 設定上のゲートを確認する。 ワークスペースのガードレール、プロバイダーの優先順、データ保持またはゼロデータ保持の要件、データリージョン設定、APIキー権限、IP許可リストを見直します。
- ポリシーに抵触しているなら止める。 元のリクエストがモデル規約に明確に反しているなら、さらに多くのプロバイダーへ流すのではなく、ユースケース自体を修正してください。
この方法なら、推測ではなく次のように判断できます。
| テスト結果 | 有力な診断 | 次の対応 |
|---|---|---|
| 1つのプロバイダーだけが拒否し、別のプロバイダーでは中立テストが通る | プロバイダーまたはエンドポイント固有の制限 | 規約に沿ったワークロードで利用資格のあるプロバイダーを使う、またはプロバイダーへ問い合わせる |
| 同じアカウントで複数プロバイダーが通常のテストを拒否する | アカウント、ワークスペース、地域、認証情報、または共有された執行シグナル | 設定を確認し、証跡を添えてOpenRouterへ問い合わせる |
| 元のプロンプトまたは添付ファイルだけが失敗する | リクエスト内容、コンテキスト、ファイル、ツールに関するポリシー | トリガーとなる要素を削除または修正する |
| すべてのリクエストが代わりに401、402、429を返す | 別種の障害 | 認証、請求、レート制限の対応手順に進む |
このメッセージの要因になり得るものと、断定できないこと
provider termsのメッセージは、プロンプト中の1文だけで発生するとは限りません。考えられる要因には、次のようなものがあります。
- 許可されていないコンテンツ、または許可されていない文脈を含む長い会話履歴。
- システム指示、ツール呼び出し、ファイルアップロード、プロンプトインジェクションのテスト、許可されていないレッドチーム活動。
- 地域、組織種別、プロバイダーの利用資格ルールによって制限されるモデル。
- 上流プロバイダーのリスク制御で使われる、アカウント、ワークスペース、支払い、IP、地域に関するシグナル。
- データリージョンや保持要件と、利用可能なエンドポイントとの不一致。
- BYOK利用時に、選択したモデルへの権限がないプロバイダーキー。
OpenRouterの規約は、プロバイダーが特定の国または地域に対してモデルを制限できること、またOpenRouterがコンプライアンスを裏付ける情報を求める場合があることを確認しています。一方で、このエラーを生む正確なシグナルの共通リストは公開していません。コミュニティ報告は傾向の把握には役立ちますが、特定の支払いカード、VPN、国、プロンプトが個別のブロック原因だったことを証明するものではありません。
「あなたたちの『ブロックプロセス』は完全に不透明です。今でも、ブロックされた人のうち、なぜBANされたのかを100%確信している人はいないと思います。みんな推測するしかありません。」 — u/pip25hu, r/openrouter
だからこそ、推測ベースの説明よりも、未加工のプロバイダーレスポンスと条件を揃えた比較テストのほうが重要です。
正当な対処法と、してはいけない「対処法」
テスト結果に合わせて対応を選びます。
- コンテンツまたはコンテキストの問題: 指摘された要素を取り除き、会話を短くし、不要なシステム指示を削除します。プロバイダーの許容利用ルールに沿うようワークフローを再設計してください。
- モデルまたはプロバイダーの制限: 自分に利用資格のあるモデルとエンドポイントを選びます。OpenRouterのprovider directoryからリンクされているプロバイダー規約を確認してください。
- ワークスペースまたはデータポリシーの競合: 組織の要件に合う場合に限り、正当なガードレール、保持、地域設定を調整します。より厳格なZDRや地域ポリシーによって、本来は利用可能なエンドポイントが除外されることがあります。
- BYOKの権限問題: プロバイダーキーが、対象のモデル、地域、アカウントで有効になっているか確認します。BYOKで変わるのは使用する認証情報であり、プロバイダー規約を免除したり、制限されたエンドポイントを利用可能にしたりするものではありません。
- アカウントレベルの制限: 繰り返し再試行せず、証跡を集めてOpenRouterサポートへ問い合わせます。どのモデルまたはプロバイダーが制限されているか、どのコンプライアンス情報が必要かを確認してください。
新しい経路が同じユースケースで許可されているなら、プロバイダー変更は正当な継続策になり得ます。しかし、禁止されたコンテンツを別の場所に送る許可ではありません。制限モデルの制御を回避するためにVPN、プロキシ、新規アカウント、APIキーの繰り返し作成を使わないでください。OpenRouterの規約では、こうした保護措置の回避が明示的に禁止されています。
サポートへの問い合わせで残すべき情報
問い合わせには、次の情報を簡潔にまとめて添付します。
- アカウントまたはワークスペースの識別子。ただしAPIキーは絶対に含めない。
- 正確なモデルスラッグと、意図していたプロバイダールート。
- UTCのタイムスタンプとリクエストID。
- HTTPステータスと、機密情報を除去した完全なエラーJSON。
- 中立的なリクエストが成功したか、成功した場合はどのプロバイダーだったか。
- 影響が1モデル、複数プロバイダー、ワークスペース全体のどこまで及ぶか。
- 関連するガードレール、地域、ZDR、BYOK、IP許可リストの設定。
- ユースケースの短い説明。サポートから明示的に求められない限り、機密性の高いプロンプトは貼り付けない。
拒否がプロバイダー起因なのか、OpenRouterのアカウント制御なのか、ルーティングまたはデータポリシーのルールなのかを尋ねてください。上流プロバイダー名が示された場合、OpenRouterの規約ではモデルアクセスの解決先としてそのプロバイダーへの問い合わせが案内されています。新しいAPIキーでアカウントレベルの制限が解除されると決めつけないことも重要です。
OpenRouterのprovider termsエラー:よくある質問
これはOpenRouterからのBANですか?
必ずしもそうではありません。単一のプロバイダーまたはモデルによる拒否、アカウントやワークスペースの制限、ガードレールの判定、上流プロバイダーのレスポンスなどが考えられます。エラー文だけで恒久的なBANとは判断できません。
拒否しているのはプロバイダーですか、それともOpenRouterですか?
プロバイダー名、生のメタデータ、Activityの記録、同じ中立テストで無関係なプロバイダーも失敗するかを確認してください。OpenRouterの規約では、プロバイダーはモデルアクセスを管理し続ける一方、OpenRouterもサービスと認証情報へのアクセスを制限できるとされています。
無害なプロンプトでもこのエラーは出ますか?
はい。制限が現在の1文ではなく、アカウント、地域、認証情報、ワークスペース、プロバイダーの利用資格条件に紐付いている場合は、無害なテストでも失敗することがあります。ただし、それは制限原因となったシグナルを証明するものではなく、切り分け結果にすぎません。
APIキーを作り直す、またはVPNを使えば直りますか?
アカウントまたはプロバイダーの制限に対して、どちらかが確実に有効だと期待できる理由はありません。VPNやプロキシの利用自体が、OpenRouterの制限モデルに関するルールに違反する可能性があります。執行の回避を試すのではなく、利用資格を確認してサポートへ問い合わせてください。
403でも課金されることはありますか?
ステータスコードだけで請求の有無を判断しないでください。リクエストの使用量とActivityの記録を確認します。拒否されたリクエストは、無料だった、あるいは課金されたと推測するのではなく、実際の記録に基づいて照合すべきです。
BYOKや別のプロバイダーを使うべきですか?
そのプロバイダーの利用が認められており、プロバイダー認証情報、上限、コストを自分で管理する必要がある場合にBYOKを使います。別プロバイダーを使うのは、同じワークロードがそこで許可されている場合だけです。いずれの方法も、プロバイダー規約、地域制限、組織のデータポリシーを上書きするものではありません。
実務上の判断基準はシンプルです。利用資格のあるプロバイダーのうち1つだけで失敗するなら、別の規約準拠ルートと比較します。中立的なリクエストで複数プロバイダーが失敗するなら、再試行を止め、アカウント、ワークスペース、地域、認証情報の条件を調べます。元のコンテンツだけが失敗するなら、制限を迂回するのではなくリクエストを修正してください。