Normalize API path generation
Add type too allow for sub-classing
Add support for edge API