fully tested customer api crud