エラーと制限
Partner API が返すすべてのエラーコードと、それが課すすべての上限。
すべての失敗は同じ形をしています。error.error_code で分岐し、人が読むために description をログに記録してください。そのテキストで一致判定は決してしないでください。error.error_attributes にはコードが定義する詳細が入り、それ以外では null です。
{
"description": "story_document: the link serves \"text/html\", which this input does not accept. Point at the file itself.",
"code": "url_type_not_allowed",
"error": {
"id": null,
"error_code": "url_type_not_allowed",
"error_attributes": null,
"user_readable_message": null,
"locale": "en"
}
}code は古いクライアント向けに error.error_code を繰り返したものです。error.error_code を読んでください。
エラーコード
| HTTP | error_code | 意味 | 対処方法 |
|---|---|---|---|
| 400 | invalid_request | 本文または入力値が正しくありません。description は入力を示します | 修正して再送してください。変更せずに再試行しないでください |
| 400 | url_not_fetchable | リンクを取得できなかったか、リンクの規則のいずれかに違反したか、空のファイルが返されました | 次と照合してください URLでファイルを渡す |
| 400 | url_type_not_allowed | リンクがこの入力で受け付けないコンテンツタイプを返したか、名乗った型とは異なるバイト列を返しました | ファイルそのものを、実際の型で提供してください |
| 400 | url_too_large | ファイルが入力の max_bytes を超えているか、run に残っているバイト予算を超えています | より小さいファイルを送ってください |
| 401 | unauthorized | キーがない、形式が不正、失効済み、または期限切れです | 停止して誰かに通知してください。再試行しても解決しません |
| 403 | api_key_credit_limit_reached | キーが自身のいずれかのクレジット上限に達しています; error_attributes.period がどの上限かを示します | 管理者に Studio でキーの上限を引き上げてもらうか、日次または月次の上限がリセットされるまで待ってください |
| 403 | credits_exhausted | 組織に残りのクレジットがありません | 組織にチャージしてください |
| 403 | access_denied | org_id はキーの組織ではないか、キーに必要なスコープがないか、このワークフローを実行できない可能性があります | Studio でキーのスコープとワークフローの許可リストを確認してください |
| 404 | entity_not_found | 組織内にそのようなワークフロー、プロジェクト、run、または webhook エンドポイントがないか、キーの許可リスト外のワークフローの run です | id を確認してください |
| 409 | idempotency_conflict | 同じ idempotency_key が異なる本文で届きました | 新しい作業には新しいキーを使用してください |
| 429 | too_many_requests | 読み取り上限に達しました | Retry-After の時間だけ待ってから再送してください |
| 500 | internal_error | 当方の | バックオフして再試行してください。続く場合は x-morphic-trace-id をお送りください |
制限
| 制限 | 既定 | 備考 |
|---|---|---|
| クレジット | キー自身の制限 | 各キーに共通の合計と、任意の日次・月次上限です。詳細は クレジット上限 |
| 1つの run の読み取り | キーごとに1分あたり30回 | run ごとに1分1回で十分です; wait=45 のほうがさらに安価です |
| すべての run の読み取り | キーごとに1分あたり1,200回 | 同時に何百もの run を追跡できる余裕があります |
| run ごとのリンク数 | 10 | すべてのファイル入力を合わせて |
| run ごとのバイト数 | 500 MB | すべてのリンクを合わせて |
| ファイルごとのバイト数 | その入力の max_bytes | 文書は最大100 MB。メディアの上限は入力ごとです |
| run の有効期間 | 24時間 | expires_at までに完了しなかった run は expired になります |
| Webhook エンドポイント | 組織ごとに10件 | 新しいものを追加する前に1つ削除してください |
run の開始にはレート制限はありません。キーのクレジット上限が再試行ループで使える量を制限し、 idempotency_key があると、再試行はリプレイになります。読み取り上限は、事前に合意したボリュームについては要望に応じて引き上げます。
請求
API から開始した run のクレジットは、キーを所有する組織に請求され、開始したキーの消費として計上されます。管理者は支出を次の下で確認できます 請求と使用状況 → クレジットの使用状況 を Studio で、また各キーの制限は次の API キー ページで確認できます。
Studio のチャットに誰かが入って引き継いでも、その run は開始したキーの消費として数えられ続けるため、キーの残り予算が run 全体の予算になります。
開始前に拒否された run — 不正なリンク、またはクレジットのないキーや組織 — には費用はかかりません。途中で失敗した run は、完了したステップの分だけクレジットを消費しています; credits_used run 上でどれだけ使ったかを示します。