API & SDK: principles