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 | 不正アクセス対策によるエラー。 |