You are right on the mark wanting to test as close to the code as you can. As far at building API tests, just like with UI tests it is generally good practice to build tests that can run independently of any other test. So if you need a particular piece of data, you want to build it in the test as setup, and then maybe delete it when the test is done.
What are some best practices for testing applications built upon a dependent SaaS API (i.e. Eloqua or Salesforce)?
One of the challenges our QA faces is being able to test our application, which abstracts behavior from the SaaS API, such as the SF API, Eloqua API, Google API, etc., and ensuring the applicatino is behaving correctly. Some SaaS sources have data that changes and we DO need to also verify data. Since some of the SaaS sources are also not updateable programatically, you can't know if the SUT is in the state you need it. Thoughts?