The most important part of a public Web Service API is its documentation. Without proper documentation, you end up with frustrated developers and excessive support request. For example, Amazon's Associates API. I'm currently trying to implement BrowseNodeLookup operation. In the latest verson of their documentation, the BrowseNodeLookup operation points to an invalid page. In the second latest version of their document, the critical parameter BrowseNodeID is specified incorrectly (look at Toys 130, it's actually DVDs). As you go back in time thru their document, you note that all the BrowseNodeID enumerations have been incorrect for quite some time.