Fork API types.

All tests pass (for now...)  Rebasing this PR is a _pain_
Hrm, these are actual HTTP responses, I'd kind of rather use raw data (although I'm not 100% wedded to that if you have a strong opinion)