DRY out endpoint calls