Add user to a database and perform relevant checks
MainError can be simplified as follows,  

class MainError:
    def __init__(self, code, message, errorsList):          
        self.resp=jsonify(dict(errorCode=code,
                        message=message,
                        errorList=[error.serialize() for error in errorsList],
                        success=False))
        self.resp.status_code = int(code)
    def get_error(self):
        return self.resp


Now an error can be returned by return MainError('400','Incorrect Input',errorsList).get_error()  

A simple function can do the above thing,  

def get_error(code, message, errorsList):
    resp = jsonify(dict(errorCode=code,
                            message=message,
                            errorList=[error.serialize() for error in errorsList],
                            success=False))
    resp.status_code = int(code)

    return resp


For multiple returns define an error object like error=None and use if and elif and return error if you have errors. f.e,  

error = None
if email is None or password is None:                                                                                                                       
        errorsList.append(Error("email/password","Email or Password not entered"))
        error = MainError('400','Incorrect Input',errorsList).get_error()
elif len(password) &gt; 1024:
        errorsList.append(Error("password","Password maximum length is 1024 characters"))
        error = MainError('400','Incorrect Input',errorsList).get_error()
return error if error else jsonify(data=user.serialize())