def POST(self, rest_path_list, **kwargs):
        """Send a POST request with optional streaming multipart encoding. See
        requests.sessions.request for optional parameters. To post regular data, pass a
        string, iterator or generator as the ``data`` argument. To post a multipart
        stream, pass a dictionary of multipart elements as the ``fields`` argument.
        E.g.:

        fields = {
          'field0': 'value',
          'field1': 'value',
          'field2': ('filename.xml', open('file.xml', 'rb'), 'application/xml')
        }

        :returns: Response object

        """
        fields = kwargs.pop("fields", None)
        if fields is not None:
            return self._send_mmp_stream("POST", rest_path_list, fields, **kwargs)
        else:
            return self._request("POST", rest_path_list, **kwargs)