rest endpoint generator