Your in vb.net. You need to post json. Its not form data(url-encodeded), it just json or something. Everyone online is making big deal out of it.
The thing is, you may have just overlooked what webclient can do. Maybe? You have seen UploadFile... maybe even wrote it by hand.
Here is the silly line of code that you need.
You know the rest.
...webClient.UploadString("https://apiurl/", "POST", data1)