add api function