Port API specs

Re: #97, #136, #149