完成 api 部分