docs(api): write api docs [ci skip]