I've been developing a library for interacting with an API, and now that I've been developing it somewhat, I've realized that there's a few similar APIs that I'd like my library to interact with. One of these APIs has nearly identical endpoints, and for the identical endpoints, I was able to successfully deserialize the JSON using my existing JSONProperty annotations and Converters (although the responses are not fully 1:1).
I was just wondering, how should I restructure the project in a way that users can select the API they want to use? If I were to make an interface (and have the library consumers select the concrete implementation), some of the APIs have endpoints that others lack.