{
  "openapi": "3.0.0",
  "info": {
    "title": "EmailValidation_Bulk_Submit",
    "description": "",
    "version": "1.1"
  },
  "servers": [
    {
      "url": "https://api.addressy.com"
    }
  ],
  "paths": {
    "/EmailValidation/Bulk/Submit/v1.10/json6.ws": {
      "post": {
        "summary": "",
        "description": "",
        "operationId": "EmailValidation_Bulk_Submit",
        "requestBody": {
          "x-name": "body",
          "content": {
            "application/json": {
              "schema": {
                "title": "EmailBulkSubmitRequest",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RequestItemKeyRequired"
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "emails": {
                        "type": "array",
                        "nullable": true,
                        "items": {
                          "type": "string"
                        }
                      },
                      "providerTestRun": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "title": "EmailBulkSubmitResponse",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "ListId": {
                      "type": "string",
                      "nullable": true
                    },
                    "ListState": {
                      "type": "string",
                      "description": "See [here](/our-services/email-validation/bulk-email-validation#example-status-response) for details of available list states.",
                      "nullable": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "title": "ErrorResponseSelfContained",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "Number": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "Description": {
                      "type": "string",
                      "nullable": true
                    },
                    "Cause": {
                      "type": "string",
                      "nullable": true
                    },
                    "Resolution": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                },
                "examples": {
                  "Request not allowed from this IP": {
                    "summary": "Request not allowed from this IP",
                    "value": {
                      "Number": 4,
                      "Description": "Request not allowed from this IP",
                      "Cause": "The request was disallowed from the IP address.",
                      "Resolution": "Check the security settings on the key first. If they look fine, please contact support as it may be from an IP address on our blacklist."
                    }
                  },
                  "Request not allowed from this URL": {
                    "summary": "Request not allowed from this URL",
                    "value": {
                      "Number": 5,
                      "Description": "Request not allowed from this URL",
                      "Cause": "The request was disallowed from the URL.",
                      "Resolution": "Check the security settings on the key first. If they look fine, please contact support as it may be from a URL on our blacklist."
                    }
                  },
                  "Web service not available on this key": {
                    "summary": "Web service not available on this key",
                    "value": {
                      "Number": 6,
                      "Description": "Web service not available on this key",
                      "Cause": "The requested web service is disallowed on this key.",
                      "Resolution": "Check the security settings on the key first. You can limit a key to certain web services."
                    }
                  },
                  "Missing or invalid parameters": {
                    "summary": "Missing or invalid parameters",
                    "value": {
                      "Number": 18,
                      "Description": "Missing or invalid parameters",
                      "Cause": "A required parameter was not supplied of the value of a parameter cannnot be converted into the right type.",
                      "Resolution": "Check the parameters passed and their values against the specification for this service."
                    }
                  },
                  "Invalid JSON object": {
                    "summary": "Invalid JSON object",
                    "value": {
                      "Number": 19,
                      "Description": "Invalid JSON object",
                      "Cause": "The JSON object sent in your request is invalid.",
                      "Resolution": "Please ensure your JSON object is syntactically correct and try again."
                    }
                  },
                  "Endpoint not available": {
                    "summary": "Endpoint not available",
                    "value": {
                      "Number": 20,
                      "Description": "Endpoint not available",
                      "Cause": "The web service you are calling is not available on this endpoint",
                      "Resolution": "Refer to our documentation pages to ensure you are calling a valid endpoint for the web service you are requesting."
                    }
                  },
                  "Sandbox Mode is not available on this endpoint": {
                    "summary": "Sandbox Mode is not available on this endpoint",
                    "value": {
                      "Number": 21,
                      "Description": "Sandbox Mode is not available on this endpoint",
                      "Cause": "The License key used has Sandbox Mode enabled, but the testing functionality is not available on this endpoint.",
                      "Resolution": "Disable the Sandbox Mode on the License key."
                    }
                  },
                  "HTTPS requests only": {
                    "summary": "HTTPS requests only",
                    "value": {
                      "Number": 22,
                      "Description": "HTTPS requests only",
                      "Cause": "As of 3rd September 2018 all new accounts must use HTTPS.",
                      "Resolution": "Ensure you consume all of our APIs over HTTPS and not HTTP."
                    }
                  },
                  "Invalid JSON supplied": {
                    "summary": "Invalid JSON supplied",
                    "value": {
                      "Number": 1000,
                      "Description": "Invalid JSON supplied",
                      "Cause": "The JSON object in the POST body was invalid",
                      "Resolution": "Please correct and send a valid JSON request object in the POST body."
                    }
                  },
                  "No data supplied": {
                    "summary": "No data supplied",
                    "value": {
                      "Number": 1001,
                      "Description": "No data supplied",
                      "Cause": "No data supplied.",
                      "Resolution": "Please ensure that all the necessary information is provided in the request."
                    }
                  },
                  "Too many emails supplied": {
                    "summary": "Too many emails supplied",
                    "value": {
                      "Number": 1002,
                      "Description": "Too many emails supplied",
                      "Cause": "Too many emails supplied.",
                      "Resolution": "There is a limit of 100,000 emails"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "title": "ErrorResponseSelfContained",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "Number": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "Description": {
                      "type": "string",
                      "nullable": true
                    },
                    "Cause": {
                      "type": "string",
                      "nullable": true
                    },
                    "Resolution": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                },
                "examples": {
                  "Unknown key": {
                    "summary": "Unknown key",
                    "value": {
                      "Number": 2,
                      "Description": "Unknown key",
                      "Cause": "The key you are using to access the service was not found.",
                      "Resolution": "Please check that the key is correct. It should be in the form AA11-AA11-AA11-AA11."
                    }
                  },
                  "Agreement Not Signed": {
                    "summary": "Agreement Not Signed",
                    "value": {
                      "Number": 23,
                      "Description": "Agreement Not Signed",
                      "Cause": "There are agreements associated with service which are not signed.",
                      "Resolution": "Please go to your account and check your agreements."
                    }
                  },
                  "Not enough credit for request": {
                    "summary": "Not enough credit for request",
                    "value": {
                      "Number": 24,
                      "Description": "Not enough credit for request",
                      "Cause": "There is not enough credit on the account to process the request.",
                      "Resolution": "Please topup your account with credit."
                    }
                  },
                  "Unexpected error, please contact the help desk for more information": {
                    "summary": "Unexpected error, please contact the help desk for more information",
                    "value": {
                      "Number": 25,
                      "Description": "Unexpected error, please contact the help desk for more information",
                      "Cause": "",
                      "Resolution": ""
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "title": "ErrorResponseSelfContained",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "Number": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "Description": {
                      "type": "string",
                      "nullable": true
                    },
                    "Cause": {
                      "type": "string",
                      "nullable": true
                    },
                    "Resolution": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                },
                "examples": {
                  "Account out of credit": {
                    "summary": "Account out of credit",
                    "value": {
                      "Number": 3,
                      "Description": "Account out of credit",
                      "Cause": "Your account is either out of credit or has insufficient credit to service this request.",
                      "Resolution": "Please check your account balance and top it up if necessary."
                    }
                  },
                  "Web service not available on your plan": {
                    "summary": "Web service not available on your plan",
                    "value": {
                      "Number": 7,
                      "Description": "Web service not available on your plan",
                      "Cause": "The requested web service is not currently available on your payment plan.",
                      "Resolution": "Some services are only available in specific regions due to licensing restrictions. Please contact us for more information."
                    }
                  },
                  "Key daily limit exceeded": {
                    "summary": "Key daily limit exceeded",
                    "value": {
                      "Number": 8,
                      "Description": "Key daily limit exceeded",
                      "Cause": "The daily limit on the key has been exceeded.",
                      "Resolution": "Alter the daily limit on the key. Check the usage details first to see if usage is normal."
                    }
                  },
                  "Your account has been suspended": {
                    "summary": "Your account has been suspended",
                    "value": {
                      "Number": 9,
                      "Description": "Your account has been suspended",
                      "Cause": "Your account has been suspended. This can be for a number of reasons including non-payment of an invoice.",
                      "Resolution": "Please contact us in order to resolve this issue."
                    }
                  },
                  "Surge protector triggered": {
                    "summary": "Surge protector triggered",
                    "value": {
                      "Number": 10,
                      "Description": "Surge protector triggered",
                      "Cause": "An unusually large number of requests have been processed for your account so the surge protector has been enabled.",
                      "Resolution": "You can disable the surge protector at any time but this is only recommended if you are running through a batch of requests."
                    }
                  },
                  "No valid license available": {
                    "summary": "No valid license available",
                    "value": {
                      "Number": 11,
                      "Description": "No valid license available",
                      "Cause": "The request requires a valid license but none were found.",
                      "Resolution": "Please check your purchase history. You may be using a license that is no longer valid or of an incorrect type."
                    }
                  },
                  "Management key required": {
                    "summary": "Management key required",
                    "value": {
                      "Number": 12,
                      "Description": "Management key required",
                      "Cause": "To use this web service you require a management key. Management can be enabled on any key, but we advise you to use management keys with care.",
                      "Resolution": "Sign in to the website and create a new management key or change an existing key."
                    }
                  },
                  "Demo limit exceeded": {
                    "summary": "Demo limit exceeded",
                    "value": {
                      "Number": 13,
                      "Description": "Demo limit exceeded",
                      "Cause": "The daily demonstration limit for this service or account has been exceeded.",
                      "Resolution": "The limit will be reset at midnight tonight. If you would like the limit increased, please contact us."
                    }
                  },
                  "Free service limit exceeded": {
                    "summary": "Free service limit exceeded",
                    "value": {
                      "Number": 14,
                      "Description": "Free service limit exceeded",
                      "Cause": "You have used too many free web services.",
                      "Resolution": "Our web services are designed to operate in stages. The first is usually a Find service followed by a Retrieve. If you use too many Finds without the corresponding number of Retrieves you will receive this error. For more information, please contact us."
                    }
                  },
                  "Wrong type of key": {
                    "summary": "Wrong type of key",
                    "value": {
                      "Number": 15,
                      "Description": "Wrong type of key",
                      "Cause": "The type of key you're using isn't supported by this web service.",
                      "Resolution": "This usually happens if you're using a user or server license with a web service that only supports transactional keys. Please use another key and try again."
                    }
                  },
                  "Key expired": {
                    "summary": "Key expired",
                    "value": {
                      "Number": 16,
                      "Description": "Key expired",
                      "Cause": "The key you are trying to use has expired.",
                      "Resolution": "Please check that you are using the right key. A new one may have been issued if you recently renewed your key. Contact us if you have any questions."
                    }
                  },
                  "Individual User exceeded Lookup Limit": {
                    "summary": "Individual User exceeded Lookup Limit",
                    "value": {
                      "Number": 17,
                      "Description": "Individual User exceeded Lookup Limit",
                      "Cause": "An Individual User has exceeded their daily lookup limit on the key and that user will be prevented from using your service until tomorrow (GMT)",
                      "Resolution": "Check the usage details. If required, increase the Lookup Limit per Individual User or add the specific Individual User's IP to the Limiter Exclusions"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "InternalServerError",
            "content": {
              "application/json": {
                "schema": {
                  "title": "ErrorResponseSelfContained",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "Number": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "Description": {
                      "type": "string",
                      "nullable": true
                    },
                    "Cause": {
                      "type": "string",
                      "nullable": true
                    },
                    "Resolution": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                },
                "examples": {
                  "Unknown error": {
                    "summary": "Unknown error",
                    "value": {
                      "Number": -1,
                      "Description": "Unknown error",
                      "Cause": "The cause of the error is unknown but details have been passed to our support staff who will investigate.",
                      "Resolution": "These problems are typically short lived and are often resolved by trying again in a few minutes."
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "RequestItemKeyRequired": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RequestItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Key"
            ],
            "properties": {
              "Key": {
                "type": "string",
                "description": "The key to use to authenticate to the service.",
                "default": "AA11-AA11-AA11-AA11"
              }
            }
          }
        ]
      },
      "RequestItem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Key": {
            "type": "string",
            "nullable": true
          }
        }
      }
    }
  }
}