The endpoints checks if you can afford the item and have completed the required challenges when any exist. It also throws an error if you try to buy an item you already have in your inventory.