async def METHOD_NAME(self, payload: dict, in_edge=None) -> Result:
    dot = self._get_dot_accessor(payload)
    traverser = DictTraverser(dot)
    emails = dot[self.config.email]
    emails = emails if isinstance(emails, list) else [emails]
    merge_fields = traverser.reshape(self.config.merge_fields)
    results = [await self._update_or_add(
        list_id=self.config.list_id,
        email_address=email,
        subscribed=self.config.subscribed,
        merge_fields=merge_fields
    ) for email in emails]
    for result in results:
        if isinstance(result["status"], int) and result["status"] != 200:
            return Result(port="error", value={"result": results})
    return Result(port="response", value={"result": results})