As in any software, you have to think on how to user will use it.
Regarding APIs, some questions that your tests could answer are:
I'd also look for raising inputs on the API design itself, since these kinds of software are - usually - designed by developers, and we know how an outside, client-based vision in design is important. There are several blog posts on API design, but, if you want a deep dive, I'd suggest the API Guidelines from Microsoft and Integent.
1 - If the user can do the same thing in multiple ways, it can indicate a flaw/confusing design - and more likely to be break client code on updates.
2 - One could make all actions in an API using the GET method, but this is ugly and highly confusing for users. There are several HTTP methods the clearly shows the request purpose. Check out here: http://www.restapitutorial.com/lessons/httpmethods.html
I am working on the POST method. There is just one Success flow. This helps. Thanks a lot.
I would suggest to start from choosing a toolchain for testing, i.e. what tool you will be using for sending requests and checking if responses are match your expectations.
The most popular tools are:
In regards to scenarios, they should be pretty the same as for any HTTP-based application, to wit:
We are using Apache JMeter. Thanks for the help. Will let you guys know how it went and how exactly I went forward with it.
If it's a web based API you might consider something like runscope. They focus mainly on production testing and monitoring but they use test cases and data validation to ensure correctness. YMMV.