AbstractAPIClient