api CRUD