REST API and API client implementation