Struct representing an API client
Struct representing an API query
Struct representing an API response
Protocol for implementing adapters for different client types