call api implementation, tests and docs