Seems I mixed up userCode and deviceCode so let me correct it and explain the logic.
Using the API call you listed, you won't get the correct deviceCode which is required to wait for Microsoft's API to return the correct value when you add an organization. The only place in which this is currently used to simulate the "wait for user" part is when you are performing a login against an already added organization (see
my example on GitHub.
The whole Microsoft flow is explained on the
Microsoft documentation center and you will see that in the loop part there is a client_id and device_code which is required. It is this device_code which is missing in the VBO API call.
After you do the POST against /v5/Organizations, you'll notice that there are 4 parameters (userCode, verificationUrl, expiresIn, message) but there should be a 5th one called devicecode and that one is missing. You can see this example in action in
my blog post.