By default setting, Canvas users can't delete their "institution-assigned" email address. This is a nice feature that we'd like to make use of at our university. However, we're switching to a real-time user provisioning process that only uses the API to create and modify user accounts, rather than relying on SIS Imports.
It turns out, the only way to make an email "institution-assigned" and immune to deletion is via a SIS Import. So this feature clashes badly with a system that provisions users entirely through the API.
There should be a way for an admin to set or clear an email address's status as "institution-assigned" using the API. Then we could have our cake (real-time user provisioning) and eat it (prevent users from deleting their institution-assigned email), too.