api fully functional