code: def post(self, endpoint, data, parallelism=5):
          headers = {
              "Content-Type": "application/json",
              "Accept": "application/json",
              "x-standardize-only": "true" if self.standardize else "false",
              "x-include-invalid": "true" if self.invalid else "false",
              "x-accept-keypair": "true" if self.accept_keypair else "false",
          }
          if not self.logging:
              headers["x-suppress-logging"] = "false"
          params = {"auth-id": self.auth_id, "auth-token": self.auth_token}
          url = self.BASE_URL + endpoint
          rs = (
              grequests.post(
                  url=url,
                  data=json.dumps(stringify(data_chunk)),
                  params=params,
                  headers=headers,
              )
              for data_chunk in chunker(data, 100)
          )
          responses = grequests.imap(rs, size=parallelism)
          status_codes = {}
          addresses = AddressCollection([])
          for response in responses:
              if response.status_code not in status_codes.keys():
                  status_codes[response.status_code] = 1
              else:
                  status_codes[response.status_code] += 1
              if response.status_code == 200:
                  addresses[0:0] = AddressCollection(
                      response.json()
                  )
              elif response.status_code == 401:
                  raise ERROR_CODES[401]
          if len(status_codes.keys()) == 1:
              if 200 in status_codes:
                  return addresses, status_codes
              else:
                  raise ERROR_CODES.get(status_codes.keys()[0], SmartyStreetsError)
          return addresses, status_codes