ERROR REFERENCE
エラーリファレンス
公開APIのエラーは RFC 9457 の application/problem+json で返します。各エラーの type は、このページのコード小文字アンカー(#<code>)を指します。以下に全17コードの意味・発生条件・回復手順をまとめます。
参照の正はOpenAPI仕様です。本ページと仕様に矛盾がある場合はOpenAPIが正となります。
VALIDATION_ERROR
Invalid request parameters
意味
リクエストのパラメータが仕様を満たしていません。
発生条件
必須項目の欠落・形式不正・範囲外・未対応値のいずれか。details 配列に field(JSON Pointer またはパラメータ名)と code(required / format / range / unsupported_value)が入ります。バッチ名寄せ(POST /v1/batch/match)のボディが5MiBを超えた場合のみ、同じ VALIDATION_ERROR を HTTPステータス413(Payload Too Large)で返します(details の code は range)。それ以外は400です。
回復手順
レスポンスの
detailsを参照し、該当フィールドを修正して再送してください。413(5MiB超過)の場合は入力を分割し、1リクエストあたり5MiB以下に収めて再送してください。
リトライ不可(
retryable: false)です。入力を直さない限り同じエラーになります。
FORBIDDEN
Forbidden
意味
認証は成功していますが、この操作の権限がありません。
発生条件
認可起因の拒否専用です。プラン起因の拒否は PLAN_UPGRADE_REQUIRED として分離されます。
回復手順
対象リソースへのアクセス権を持つAPIキーで再試行してください。
リトライ不可(
retryable: false)です。
PLAN_UPGRADE_REQUIRED
Plan upgrade required
意味
現在のプランではこの機能を利用できません。
発生条件
上位プラン限定のエンドポイント(バッチ名寄せ等)を下位プランのキーで呼び出したとき。
回復手順
料金ページ(/pricing)で必要なプランへ変更してください。
リトライ不可(
retryable: false)です。プラン変更後に再試行してください。
IDEMPOTENCY_CONFLICT
Idempotency key conflict
意味
同一の Idempotency-Key を、内容の異なるリクエストで再送しました。
発生条件
既に使用済みの冪等キーで、初回とペイロードが一致しないリクエストを送ったとき。
回復手順
同一の
Idempotency-Keyは必ず同一ペイロードで再送してください。内容が異なる新しいリクエストには別の冪等キーを発行してください。
BILLING_CONFLICT
Billing operation conflicts with current subscription state
意味
課金操作が現在のサブスクリプション状態と競合しています。
発生条件
現在の契約状態では実行できない課金操作を要求したとき。
回復手順
ダッシュボードで現在のサブスクリプション状態を確認してから操作し直してください。
リトライ不可(
retryable: false)です。
ACCOUNT_DELETION_BLOCKED
Account deletion is blocked by current account state
意味
現在のアカウント状態では退会(削除)を実行できません。
発生条件
有効なサブスクリプションや未完了処理など、削除を妨げる状態が残っているとき。
回復手順
先行して必要な解約・処理完了を行ってから、退会を再実行してください。
リトライ不可(
retryable: false)です。
ACCOUNT_ALREADY_DELETED
Account is already deleted
意味
対象アカウントは既に削除済みです。
発生条件
削除済みアカウントに対して再度削除等の操作を要求したとき。
回復手順
アカウントは既に削除されています。追加の操作は不要です。
リトライ不可(
retryable: false)です。
ACCOUNT_REAUTH_REQUIRED
Recent reauthentication is required
意味
この操作には直近の再認証が必要です。
発生条件
次の2ケースで返ります。(a) 削除用の再認証エンドポイント自体が失敗したとき(POST /v1/account/deletion-reauth/password のパスワード不一致、Googleコールバックの state・本人性の不一致、POST /v1/account/deletion-reauth/google/exchange のコード無効・期限切れ等)。(b) 退会(POST /v1/account/deletion)で削除用の再認証チャレンジ(deletion_challenge_token)が未指定・無効・期限切れのとき。いずれも単に再ログインしても同じ403が続きます。
回復手順
(a) 再認証エンドポイント自体が403の場合は、正しい資格情報(正しいパスワード)またはGoogleのフローをやりなおしてください。Googleは
POST /v1/account/deletion-reauth/google/startで発行されたstateとコールバックの本人性が一致する状態で最初からやり直す必要があります。(b) deletion(POST /v1/account/deletion)が403の場合は、パスワードなら
POST /v1/account/deletion-reauth/password、GoogleならPOST /v1/account/deletion-reauth/google/start→ コールバック →POST /v1/account/deletion-reauth/google/exchangeの順でdeletion_challenge_tokenを取り直してください。取り直した
deletion_challenge_tokenをPOST /v1/account/deletionのボディに付けて、期限内に再試行してください。リトライ不可(
retryable: false)です。正しい資格情報・フロー、または有効なdeletion_challenge_tokenがない限り同じエラーになります。
BATCH_NOT_COMPLETED
Batch job is not completed
意味
バッチジョブがまだ完了していません。
発生条件
status が queued / processing のジョブに対して結果ダウンロードを要求したとき。
回復手順
GET /v1/batch/{job_id}で終端状態(status: completedまたはstatus: failed)になるまでポーリングしてください。queued/processingの間は結果を取得できません。completedなら結果をダウンロードしてください。failedならBATCH_FAILEDの回復手順に従って新規ジョブを投入してください。リトライ不可(
retryable: false)です。終端状態に達してから取得し直してください。
BATCH_FAILED
Batch job processing failed
意味
バッチジョブの処理が失敗しました。
発生条件
status が failed のジョブに対して結果ダウンロードを要求したとき。
回復手順
failedジョブの
error.retryableを確認してください。true(ワーカー側の一過性失敗)の場合は同一入力で再投入できます。falseの場合のみ入力データを見直してから再投入してください。再投入時は新しいジョブを作成させるため、元の投入で付けた
Idempotency-Keyを変更するか省略してください。同一キーは保存期間(24時間)内は失敗ジョブの受付応答をリプレイするだけで、新しいジョブは作成されません。失敗した同一ジョブ自体は再実行できません。復旧はいずれの場合も新規ジョブの投入で行います。
NOT_FOUND
Resource not found
意味
指定したリソースが存在しません。
発生条件
存在しない法人番号・登録番号・ジョブID等を指定したとき。
回復手順
パスやパラメータの識別子が正しいか確認してください。
リトライ不可(
retryable: false)です。
NOT_IMPLEMENTED
Endpoint is not implemented
意味
このエンドポイントはまだ実装されていません。
発生条件
未提供の機能を呼び出したとき。
回復手順
最新のAPIドキュメントで提供済みのエンドポイントを利用してください。
リトライ不可(
retryable: false)です。
RATE_LIMIT_EXCEEDED
Rate limit exceeded
意味
短時間(分単位rpm)のリクエスト上限を超えました。
発生条件
分単位のレート上限に達したとき。ボディは limit_scope: "rpm" と retry_after(既定60秒)を持ちます。現在のレート枠は X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset(Reset はepoch秒)ヘッダーで返します。
回復手順
ボディの
retry_after(既定60秒。Retry-Afterヘッダーにも同値が入ります)だけ待ってから再試行してください。リトライ可能(
retryable: true)です。指数バックオフの併用を推奨します。
QUOTA_EXCEEDED
Monthly quota exceeded
意味
月次のクォータ(利用上限)を使い切りました。
発生条件
月次 api_requests または batch_rows の上限に達したとき。ボディの limit_scope にどちらの枠かが入り、retry_after に次サイクルまでの秒数が入ります。api_requests 枠の残量は X-Quota-Limit / X-Quota-Remaining ヘッダーで返します(batch_rows 枠にはヘッダーがなく、上限超過は limit_scope で判別します)。
回復手順
ボディの
retry_after(次サイクルのリセットまでの秒数)だけ待つか、料金ページ(/pricing)で上位プランへ変更してください。リトライ可能(
retryable: true)ですが、枠が回復するまでは同じエラーになります。
INTERNAL_ERROR
Internal server error
意味
サーバー内部で予期しないエラーが発生しました。
発生条件
上記いずれにも該当しない未分類のサーバー側エラー。
回復手順
自動リトライはしないでください。機械可読契約は
retryable: false(retry_afterもnull)です。即時に再試行すると二重実行やリトライストームを招きます。時間をおいて操作をやり直す場合は冪等性に注意してください。バッチ投入などでは
Idempotency-Keyを活用し、同一操作の重複作成を防いでください。継続する場合はサポートへ問い合わせてください。