add more API end-point specs + fix the specs + refactoring