action api now returns promise