The less work that needs to be done - the better. If a API method has ANY POST or GET data at all you should pass ALL data through that method and leave a simple URL.
There is no need to go through the hassle of constructing a URL and POST/GET data strings. Just use a single, easy-to-remember url for each API call and gather data about that call from POST or GET http://api.twitter.com/1/statuses/ + POST[username/password/format] http://api.twitter.com/1/statuses/ + POST[username/password/format] vs http://api.twitter.com/1/users/bob/statuses.xml + POST[auth_username/ auth_password] http://api.twitter.com/1/users/sam/statuses.json + POST[auth_username/ auth_password] This saves people from the confusion of having 5 ways to a access THE SAME API url and keeps all the data being passed in one place.