I get asked questions like this about once a month or so. From Exchange 2007 to 2016, which is the latest version at this time, the only way to create or work with a mailbox is with Exchange PowerShell cmdlets. I've not heard of any upcoming changes to change the story in this area. REST, Graph (Exchange related), EWS, OOM and MAPI APIs are geared to work with what is inside a mailbox and not perform administrative actions on a mailbox.
You can call Exchange PowerShell cmdlets using the PowerShell console, PowerShell script or with .NET code using remote automation with Exchange 2010 and later and local PowerShell with Exchange 2007. Below is my blog post on this subject.
About: Exchange PowerShell Automation