Scoped API keys

Allow the ability to create API keys with access to specific scopes of functionality or resources.