概要
エラーは二層で処理します。まず HTTP ステータスを見て、存在する場合はerror.code を確認します。フィールド名とコード識別子は API 契約のため全言語で変わりません。
レスポンス形式
HTTP
| ステータス | 意味 | 対応方法 |
|---|---|---|
| 400 | JSON、フィールド、オプション、人間確認、ファイル入力、金額検証の問題。 | リクエストデータを修正してから再試行します。 |
| 401 | トークン欠落/不正、資格情報不正、MFA 失敗、更新トークン失効、またはテナント/ユーザー/メンバー/ロール停止。 | 再認証またはアクセス復旧が必要です。 |
| 403 | 認証済みだが権限、スコープ、プラン、容量、Origin、署名で拒否。 | 権限付与、プラン変更、署名/Origin 設定を修正します。 |
| 404 | 存在しない、削除済み、別テナント、またはスコープで非表示。 | ID と呼び出し側スコープを確認します。 |
| 409 | 一意値が既に存在。 | 別の値を使うか既存リソースを取得します。 |
| 422 | ワークフロー、動的フィールド、インポート制限、必須証跡などの業務ルール違反。 | 条件を満たしてから再試行します。 |
| 429 | レート制限。 | 待ってから再試行します。 |
| 500 | 未処理のサーバーエラー。 | 書き込みは成功済みか確認してから再試行します。 |
| 503 | 依存サービスが一時利用不可。 | 冪等な読み取りはバックオフして再試行できます。 |
プランとクォータ
| コード | 対応 |
|---|---|
PLAN_CONTRACT_LIMIT_EXCEEDED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
PLAN_SEAT_LIMIT_EXCEEDED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
PLAN_STORAGE_LIMIT_EXCEEDED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
PLAN_FEATURE_NOT_ENABLED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
PLAN_SUBSCRIPTION_REQUIRED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
PLAN_SUBSCRIPTION_INACTIVE | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
PLAN_NOT_AVAILABLE | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
ファイルとアップロード
| コード | 対応 |
|---|---|
FILE_NAME_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_SIZE_EMPTY | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_TOO_LARGE | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_CONTENT_TYPE_NOT_ALLOWED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_EXTENSION_NOT_ALLOWED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_KIND_NOT_ALLOWED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_REF_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_KIND_MISMATCH | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_SCAN_NOT_CLEAN | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_SCAN_REQUEST_FAILED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
FILE_BINDING_CONTEXT_MISMATCH | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_OBJECT_KEY_MISMATCH | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_OBJECT_NOT_FOUND | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_OBJECT_SIZE_MISMATCH | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_OBJECT_TYPE_MISMATCH | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_OBJECT_CHECKSUM_MISMATCH | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_TOKEN_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_TOKEN_EXPIRED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UPLOAD_METADATA_MISMATCH | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
金額と請求書
| コード | 対応 |
|---|---|
AMOUNT_REQUIRED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
AMOUNT_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
AMOUNT_UNSAFE_NUMBER | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
AMOUNT_OUT_OF_RANGE | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
AMOUNT_SCALE_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
UNSUPPORTED_CURRENCY | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
INVOICE_AMOUNT_EXCEEDS_TARGET | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
契約とワークフロー
| コード | 対応 |
|---|---|
OWNER_SCOPE_RESTRICTED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
ASSIGNEE_NOT_ACTIVE_TENANT_MEMBER | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
SUBJECT_NOT_FOUND | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
CONTRACT_TYPE_NOT_CONFIGURED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
LIFECYCLE_STAGE_NOT_CONFIGURED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
LIFECYCLE_TEMPLATE_NOT_AVAILABLE | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
DYNAMIC_FIELDS_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
DYNAMIC_FIELD_UNKNOWN | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
DYNAMIC_FIELD_REQUIRED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
DYNAMIC_FIELD_TYPE_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
DYNAMIC_FIELD_OPTION_INVALID | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
CONTRACT_PDF_REQUIRED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
REQUIRED_FIELDS_MISSING | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
CONTRACT_CORE_FIELDS_LOCKED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
WORKFLOW_FIELDS_REQUIRE_TRANSITION | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
WORKFLOW_REQUIRED_FIELDS_MISSING | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
WORKFLOW_REQUIRED_EVIDENCE_MISSING | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
WORKFLOW_AI_REVIEW_PENDING | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
WORKFLOW_FULFILLMENT_OPEN | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
WORKFLOW_RECEIVABLES_OPEN | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
WORKFLOW_NOTE_REQUIRED | HTTP ステータス、message、details を使って修正点を表示し、修正後に再試行します。 |
再試行
- 冪等な GET と 503 の読み取りはバックオフして再試行できます。
- POST、PATCH、DELETE はタイムアウトや 5xx 後に現在状態を確認してから再試行します。
- 400、401、403、404、409、422 は同じ内容で再試行しません。