add the ability to separately specify internal/admin/public endpoint types

This needs to go in before all the work in the various API cookbooks will gate properly.