Add models and API client

Still need to add the capacity to provide authentication but wanted to make sure this stuff was in the right ballpark to begin with.
What's this for? I only see it used in tests