add promise requst api and set cons