add preference api doc