API & IDL definition