When creating certain objects on Shippo, there's this object_purpose attribute that allows you to select either QUOTE or PURCHASE. I can see that PURCHASE is for labels that are meant to be bought and used in the end, but when should I use QUOTE only?
It's fine to use PURCHASE for all your objects. Just remember, that a complete from / to address is required.
You should use QUOTE when you don't intend to actually buy a label - such as getting rates to show to a buyer or just doing a shipping estimate. The benefit of using QUOTE is that rates can be retrieved using less information (such as only passing the zip codes), since the the full street address is not required.