Xero. The docs are accurate and complete. The API is consistent. The API works as documented. The API is capable of everything the webapp does.
Also, they are usually a few months behind releasing API coverage of new features and modules.
Also, it is a bit fiddly having to specify a 'scope' parameter when authenticating yourself for the API otherwise you won't be able to access certain data.
Lastly, I don't like the way there is almost a separate API for the AU and US version of Payroll. I get that they are fairly different beasts, and that they are actually third party systems that have been 'integrated' in, but I wish they had more commonality.