add exception classes
throw exceptions on http errors
throw ApiException if an api call fails