Appling Design Principles to APIS - in Four Parts