Hi,
It's not too hard to create a review request and then add a diff (POST to the review-requests resource, then POST to the linked diffs resource), but other than the RBTools code we don't have any examples. Filling the branch field is just a question of supplying that field in your POST/PUT request.
The major roadblock may be diff compatibility. Depending on what version control system you're using, the built-in VCS may produce diff files that are broken in various ways which the `patch` command can usually ignore but which Review Board depends on. For example, SVN has changed the format of their diff files at least 5 times in the last few years. RBTools has a lot of logic to fix up broken and inconsistent diffs before it uploads them to Review Board. If you're using an affected VCS, that's logic that you'd need to replicate.
Ideally, we recommend RBTools, due to the abovementioned issues and the general complexity of what has to be done to create review requests. I'm confused about what modifications you needed to make to get things working. The only thing you actually mention is a proxy, but RBTools has long supported the standard http_proxy/https_proxy environment variables and I'd wager that more than half of people using it have an HTTP proxy in place. If you can be more specific and maybe share what changes you had to make, we can figure out if you ran into actual bugs or just have something set up incorrectly.
David