v3: verify that mutation type is valid and supported by the selected API level

- if type is not supported, throw an error with an appropriate error message, depending on the actual version of the client, and the selected API level.