Drop api/checkouts#create and api/checkouts#show

They already exists in api/orders
Move find_order to before_filter in api/orders
Drop order.update! in api/orders#empty

All work to empty an order should probably stay in Order#empty no need
to evil update!
OrderContents#add already saves a line item
Use OrderContents#update_cart in api/orders to update it

Rather than duplicating stuff already provided by spree_core
Drop useless api/orders#next! private method
Drop line items stuff from api/checkouts controller
Drop duplicated call in api/line_items#update

OrderContents#update_cart already call Order#ensure_updated_shipments