add challenge api