メインコンテンツまでスキップ

レート制限、エラー、課金

このページは、インテグレーションが動かなくなる 3 つの原因、つまりリクエスト枠を使い切る、エラーが返る、クレジットを使い切る、についてのリファレンスです。また、その 3 つをアカウントのどこから監視できるかも示します。

昨日まで動いていた呼び出しが見覚えのないコードを返したとき、アプリが何回リクエストできるかを見積もるとき、あるいはリリース前に呼び出しのコストを正確に知りたいときに、このページを開いてください。

レート制限

上限はキーごとに、アクセスモードによって決まります:

アクセスモード上限
ライブ有料:basic(新しいライブキーの既定)1 時間あたり 1,000 リクエスト
ライブ有料:premium(管理者が付与)1 時間あたり 5,000 リクエスト
ライブ有料:pro(管理者が付与)1 時間あたり 15,000 リクエスト
パートナーまたはエンタープライズ管理者が設定
cogv_test_ のサンドボックスキー全般1 時間あたり 25 リクエスト、1 日あたり 100、1 秒あたり 1
有効なキーでのメタデータ面(healthmediscover1 時間あたり 60 リクエスト、1 秒あたり 1

新しいライブキーは、承認の手順なしに basic から始まります。premium と pro は Cognivo が付与し、パートナーとエンタープライズの上限は個別の取り決めで設定されます。標準の RateLimit-* ヘッダーがすべての呼び出しで返るため、残りの枠を推測せずに把握できます。枠を使い切ると 429 rate_limited が返り、Retry-After ヘッダーが再試行のタイミングを知らせます。

利用状況の確認

dApp にサインインし、左サイドバーの アカウント を開いて Developers を選び、Usage タブを開きます。

Developers ページの使用状況タブ。まだ一度も使われていないキーの表示です。画像を拡大

上部の期間セレクターで 過去 24 時間過去 7 日間過去 30 日間 を切り替えます。その隣のチップにクレジット残高が、もう 1 つのチップにキーへ適用されるレートティアと 1 時間あたりの上限が表示されます。その下では、5 つのカウンターがその期間をリクエスト、成功、エラー、レート制限、使用クレジットに分解し、結果の内訳 のカードが同じ期間を 3 通りに分けて示します。

提示額と課金額 は、請求を心配する前に読むべきパネルです。製品自身の言葉では「提示額は定価です。課金額は実際に残高から引かれた額です」。この 2 つの数字は必ずしも一致しません。失敗した呼び出し、拒否された呼び出し、正直に空だった答えは、提示はされても課金されないからです。

リクエスト履歴 は個々の呼び出しを一覧表示し、キー、エンドポイント、ステータスで絞り込めます。2 つの空の状態は、それぞれ違うことを意味します。「このフィルターに一致するリクエストはありません。」は、この期間に呼び出しは存在するがフィルター条件に一致するものがない、という意味なので、条件を広げてください。「この期間にはまだ利用がありません。」は、あなたのどのキーからの呼び出しもこの期間にまったく届いていない、という意味です。どちらもエラーではなく、呼び出しが失われたという意味でもありません。トラフィックがあるはずなのにゼロと表示される場合は、アプリが本当に想定どおりのキーを使っているかを確認し、期間を広げてください。

エラーコード

HTTPerror意味
400bad_request / invalid_chain / invalid_address / invalid_wallet / invalid_token入力の形式が不正です。chainethbasebsc のいずれかで、アドレスは 0x に 16 進 40 文字が続く形でなければなりません。
401missing_api_keyX-API-Key も Bearer トークンも提示されていません。
401invalid_api_keyキーが未知、または Cognivo の v2 キーではありません。
402payment_requiredこの呼び出しに必要な Cognivo クレジットが足りません。何も課金されていません。
403access_requiredメタデータ専用の古いキーがライブ呼び出しを試みました。
403sandbox_limitedサンドボックス(cogv_test_)キーがライブのインテリジェンス呼び出しを試みました。
403trial_expiredキーの任意のトライアル枠が期限切れです。
403trial_exhaustedキーの任意のトライアル枠を使い切りました。
403endpoint_deniedキーのアクセス取り決めが、このエンドポイントを含んでいません。
403chain_deniedキーは特定のネットワークに限定されており、このリクエストは別のネットワークを指定しました。上流の呼び出しの前、かつ利用枠が消費される前に拒否されます。
403key_expiredキーの有効期限が過ぎました。GET /v1/api/me を含め、あらゆる場所で拒否されます。
403suspended_keyキーは停止中で実行できません。理由はポータルに表示されます。
403revoked_api_keyキーは失効済み、またはローテートで置き換えられました。
403project_disabled所属するプロジェクトが停止またはアーカイブされています。
403scope_deniedこのエンドポイントが必要とするスコープをキーが持っていません。
403origin_deniedキーに Origin または IP の許可リストが設定されており、このリクエストは一致しませんでした。
404public_api_disabled公開 API が一時的に停止されています。
422insufficient_data などツールは実行されましたが、公正な結果を根拠づけられませんでした。課金はされません。
429rate_limitedレートの枠を使い切りました。レスポンスには Retry-After が含まれます。
500internal_error想定外の障害です。サポートに連絡する際は request_id を添えてください。
503pricing_mismatch / billing_unavailable / billing_commit_failed / unavailableまれに起きる課金や依存関係の不具合です。何も課金されていないので、再試行してください。

すべてのレスポンスに request_id が含まれ、成功したレスポンスではそれが meta.request_id として繰り返されます。控えておいてください。サポートはその 1 つの値から個別の呼び出しを追跡できます。

よくあるエラーと対処法

  • 401 missing_api_key キーが Cognivo に届いていません。X-API-Key ヘッダーで正確に綴って送るか、Authorization: Bearer YOUR_API_KEY として送り、プロキシがヘッダーを削っていないか確認してください。
  • 401 invalid_api_key キーは cogv_live_cogv_test_ で始まる必要があります。前後に空白を入れず、キー全体をコピーしてください。元のキーを紛失した場合は、ポータルでローテートして新しいものを使ってください。
  • 402 payment_required Cognivo の課金ページでチャージしてから再試行してください。何も課金されていません。GET /v1/api/me で現在の残高を確認できます。
  • 403 revoked_api_key ポータルから最新のキーを取得してください。古いキーが再び動くことはありません。
  • 403 scope_denied キー自体は有効ですが、このエンドポイントが必要とするスコープ、例えば wallet/approvals に対する security:read を持っていません。認証と API キー をご覧ください。
  • 403 origin_denied 許可リストに載っている Origin か IP から呼び出すか、キーのリストを空にしてください。
  • 403 access_required これはセルフサービス課金より前の、メタデータ専用の古いキーです。ポータルで新しいライブキーを作成してください。
  • 403 sandbox_limited サンドボックスキーはテスト用で、ライブのインテリジェンスは実行できません。ライブキーを作成してください。
  • 403 chain_denied GET /v1/api/meallowed_chains を確認してください。そこが null なら制限なしです。何も課金されていません。
  • 403 trial_expired または trial_exhausted 任意の評価枠が終了しました。トライアルは必須ではないので、通常のライブキーに切り替えてください。
  • 403 endpoint_denied あなたの取り決めは他のエンドポイントを含みますが、このエンドポイントは含みません。含めてもらえるよう依頼してください。
  • 403 suspended_key 理由はポータルに表示されます。はっきりしない場合は、request_id を添えて dApp からサポートに連絡してください。
  • 429 rate_limited Retry-After ヘッダーに従い、クライアント側でバックオフ付きのキューイングを入れるか、上限の引き上げについて問い合わせてください。
  • 400 invalid_chain ethbasebsc を使ってください。ethereum のような名前や数値のチェーン ID は受け付けられません。
  • 400 invalid_addressinvalid_walletinvalid_token 0x に 16 進 40 文字が続く完全なアドレスを送ってください。この API は ENS 名やトークンシンボルを解決しません。
  • 422 insufficient_data 障害でもあなたのミスでもありません。ツールは実行されましたが、公正な答えを根拠づけられませんでした。例えば、そのトークンで価格付けされた取引がないウォレットに対する wallet/pnl です。これは Cognivo が答えを検証できなかったという意味であり、答えがゼロという意味ではありません。422 に課金されることは決してありません。
  • 404 public_api_disabled 公開 API が一時的に停止されています。URL の間違いではないので、しばらくしてから再試行してください。

クレジットと課金

ライブキーはセルフサービスです。申請もサブスクリプションもありません。新しいライブキーはすぐに動き、成功した呼び出しごとに、そのエンドポイントのクレジット価格が プロジェクトのオーナー の Cognivo クレジット残高から差し引かれます。これは Chat や dApp が使うのと同じクレジットです。すべてのアカウントは 1 日あたり 5 クレジットの無料枠を受け取り、UTC の午前 0 時にリセットされます。現在、Developer API の呼び出しに対する課金はオフになっており、成功した呼び出しでも何も差し引かれず、残高は変わりません。

各エンドポイントのクレジット価格は、Developers ページの エンドポイント タブでそれぞれの横に表示され、無料のエンドポイントにはそこで Free と表示されます。価格はハードコードせず、ポータルから読み取ってください。

  • 失敗した呼び出しには決して課金されません。 エラー、タイムアウト、拒否された呼び出し、レート制限には費用がかかりません。
  • 成功した呼び出しはちょうど一度だけ課金される ため、リトライは安全です。
  • 正直に空の結果は無料です。 422 や、空の wallet/approvals のリストは有効な答えであり、課金されません。
  • クレジット不足 の場合は 402 payment_required が返り、何も課金されません。dApp でチャージしてから再試行してください。
  • サンドボックス(cogv_test_)キー は決して課金されず、ライブのインテリジェンスは実行できません。
  • 停止されたキーと無効化されたプロジェクト は何も実行できず、課金されることもありません。
  • エンタープライズ は、カスタム料金、カスタム上限、大量利用のための申請経路で、dApp から申請します。

結果を正直に読む

API の結果は、Cognivo が何をチェックし、チェーン上で何を見つけたかを説明するものです。クリーンな結果はトークンやウォレットが安全であることの証明ではなく、フラグが立った結果は不正の証明ではありません。フィールドが欠けている、または利用不可である場合は、Cognivo がその項目を検証できなかったという意味であり、そこに何もないという意味ではありません。どのレスポンスも、あなた自身のリサーチにおける 1 つの入力として扱ってください。

次のステップ

パラメーター、スコープ、レスポンスの例は エンドポイントリファレンス で調べ、認証と API キー でキーを絞り込み、製品全体でのクレジットの仕組みは 課金とクレジット をご覧ください。