API as Contract - What Is a Good API? | OneNoughtOne