エラーレスポンス

DO-APIのエラー

DO-APIのリクエストでエラーが発生した場合、APIは以下の方法でクライアントプログラムにエラーを通知します。

  1. HTTP Status Code
  2. レスポンスボディ (JSON)

アクセスURLが誤っているなど、DO-APIのリクエストパラメータ以外にエラーの原因がある場合、APIはレスポンスパラメータを返さず、HTTP Status Codeのみを返します。APIを呼び出すクライアントプログラムは、まずHTTP Status Codeを確認し、エラーであることが確認できた場合にレスポンスパラメータの中のErrorType、ErrorMessageを確認するようにしてください。

エラー発生時のレスポンス形式

  • JSON
    {
        "ErrorResponse": {
            "RequestId": "xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx",
            "ErrorType": "errortype",
            "ErrorMessage": "errormessage"
        }
    }
  • JSON (RecordValidateError 発生時)
    {
        "ErrorResponse": {
            "RequestId": "xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx",
            "ErrorType": "errortype",
            "ErrorMessage": "errormessage",
            "ErrorDetail": {
                "ErrorList": [
                    {
                        "Line": "www 28800 IN A     192.0.2.1\n",
                        "ErrorCode": "RESERVED_V4ADDRESS"
                    }
                ] 
            }
        }
    }
    ※ErrorCodeの返り値は、レコードバリデーション一覧を参照してください。 
  • JSON (MonitoringFailed 発生時)
    {
        "ErrorResponse": {
            "RequestId": "xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx",
            "ErrorType": "errortype",
            "ErrorMessage": "errormessage",
            "ErrorDetail": {
                "ErrorList": [
                    {
                        "MonitoringType": "PING",
                        "MonitoringId": "5",
                        "Address": "192.0.2.1"
                    }
                ]
            }
        }
    }

 

レスポンス

フィールドタイプ意味
ErrorResponse.RequestIdString

APIリクエストごとに割り当てられるユニークなID

ErrorResponse.ErrorTypeStringエラーの原因 (以下の表参照)
ErrorResponse.ErrorMessageStringエラー発生原因についての説明
ErrorResponse.ErrorDetailHashエラー発生原因の詳細 (RecordValidateError 発生時のみ)
ErrorResponse.ErrorDetail.ErrorListArrayエラー発生原因の配列
ErrorResponse.ErrorDetail.ErrorList.LineStringエラー発生元となるレコード行
ErrorResponse.ErrorDetail.ErrorList.ErrorCodeStringエラー発生原因を識別するコード (※ レコードバリデーション一覧を参照してください)
ErrorResponse.ErrorDetail.ErrorList.MonitoringTypeStringエラー発生元の監視種別 (監視の追加または監視の更新の場合は NEW が出力されます)
ErrorResponse.ErrorDetail.ErrorList.MonitoringIdStringエラー発生元の監視 ID (監視の追加または監視の更新の場合は出力されません)
ErrorResponse.ErrorDetail.ErrorList.AddressStringエラー発生元の監視対象アドレス

エラーが発生した場合の対応

HTTP Status Codeが4xxの場合

APIリクエスト時にエラーが発生した場合、APIを呼び出したプログラムが適切に処理を行う必要があります。HTTPヘッダや、パラメータの指定に問題がないことを確認してください。

HTTP Status Codeが5xxの場合

システムエラーが発生し、時間が経ってもエラーが回復しない場合は弊社サポートセンターにお問い合わせください。

 共通エラー

エラーHTTP Status CodeErrorTypeErrorMessage説明備考
HTTP/1.1以外505(なし) HTTP1.1以外のリクエストを受け付けたレスポンスパラメータは返却されません
URL不正404(なし) 
  • アクセスURLが正しくない
  • 存在しないAPIが指定された
  • APIVersionパラメータが不正
  • 指定された以外のHTTPメソッドを利用した
レスポンスパラメータは返却されません
認証エラー

(署名検証エラー)







400



BadRequest


Signature is not valid.Signatureパラメータが存在しない 
Signature method is not valid.SignatureMethodパラメータが不正 
Signature version is not valid.SignatureVersionパラメータが不正 
Expire is not valid.Expireパラメータが不正 
RequestExpiredThe request has expired.Expireで指定された期間を過ぎている 
401AuthFailureUnable to validate the provided access credentials.指定したAccessKeyが無効 
403SignatureDoesNotMatchThe request signature we calculated does not match the signature you provided.Signatureの値がリクエストの内容と合致しない 
パラメータエラー

400ParameterErrorThere are invalid parameters.不正なパラメータが含まれている 
Duplicated parameter found.パラメータが重複している 
200(個別)(個別) 

API固有のエラー

API固有のエラーの場合、Statusは200となります
処理の重複200RequestRunningOther request running.

別のリクエストと処理が競合している

時間を置いてリトライしてください
システム障害500SystemErrorSystem error occurred.

DO-API設備のシステム障害

サポートセンターへお問い合わせください
タイムアウト503TimeoutSystem is busy.リクエストがタイムアウトしました 
httpでアクセス403Required to use https. 必ずhttpsを使用してくださいレスポンスパラメータは返却されません
メンテナンス中403StatusErrorService is stopping by maintenance.メンテナンス中のためDO-APIを利用できません。