I generally find that after I have designed and built my API the only true test is when I come to use it. An API, for me, tidies away all the niggly things and makes my *front end* code very simple. If my API doesn't allow me to quickly build applications and write clear and concise code I need to rethink the API. After all, if I can't use it who can?