Could you please be more concise in naming. There are APIClient and ApiError. Also ApiError doesn't match file name.
From my point of view it would be better to use APIError class and nested classes for other api errors. Also we need to put all error classes into module.