APIエラーコード
概要
APIコール後、何かしらのエラーが発生した場合にはAPIのレスポンスでエラーを返します。
エラーレスポンスの例
HTTP/1.1 400 Bad Request
{
  "status": 400,
  "message": "validation failed",
  "errors":
  [
    { "code": "invalidParameter", "message": "...", "locationType": "body", "location": "/name" },
    { "code": "missingParameter", "message": "...", "locationType": "body", "location": "/fields/1/type" }
  ]
}
仕様
エラーコード一覧
レスポンスヘッダに含まれるステータスコードの一覧です。
| ステータスコード | 名前 | 説明 | 
|---|---|---|
| 400 | Bad Request | リクエスト (クエリパラメータやJSONボディ) に不備がある場合。 | 
| 401 | Unauthorized | 有効なアクセストークンを指定していない場合。 | 
| 403 | Forbidden | 
 対象リソースにアクセスする権限がない場合。 不正アクセス対策によりエラーとなった場合。  | 
| 404 | Not Found | 対象リソースが存在しない場合。 (権限上、存在を確認できない場合にも使われます) | 
| 405 | Method Not Allowed | 許可していないメソッドを指定した場合。 | 
| 429 | Too Many Requests | リクエスト回数の上限に達した場合。 | 
| 500 | Internal Server Error | サービスのサーバ内部でエラーが発生した場合。 | 
| 503 | Service Unavailable | サービスがメンテナンス中の場合。 | 
※認証APIで404エラーが発生した場合、ユーザのAPIキーを使用している可能性があります。
 認証APIではAPIエージェントのAPIキーのみ使用可能です。
レスポンスボディ
400系や500系のエラーが発生した場合には、JSONのレスポンスで複数のエラー情報を返します。フォームを実装する場合は、errorsの locationType、location、code を組み合わせてエラーメッセージを表示します。
| フィールド | 必須 | 説明 | 
|---|---|---|
| status | ◯ | ステータスコード。上記ステータスコード一覧内のいずれかの値が入る。 | 
| message | ◯ | エラーメッセージ。 | 
| errors[] | ◯ | 入力値検証のエラーリスト。空の場合もある。 | 
| errors[].code | ◯ | 入力値検証のエラーコード。後述。 | 
| errors[].message | ◯ | エラーメッセージ。 | 
| errors[].locationType | 原因となったパラメータの入力元。値はquery, body, headerのいずれか。 | |
| errors[].location | 原因となったパラメータの箇所。 | 
errors[].codeのエラーコード一覧
| エラーコード | 説明 | 
|---|---|
| invalidParameter | パラメータの値が不正。 | 
| missingParameter | 入力必須のパラメータが未指定。 | 
| alreadyExists | パラメータの値は他の設定で使用されている。 | 
| missingReference | パラメータの値に対応する設定が存在しない。 | 
| invalidState | 設定の状態が不正。 | 
| excededLimit | リソース上限を超過。 | 
| undefinedParameter | 未定義のパラメータが存在。 | 
| accessBlocked | 不正アクセス対策によるエラー。 | 
