Ok, I got it, thanks you all for your ideas!
Two issues:
- running curl.exe invokes invoke-webrequest, so I renamed my curl to curltt.exe so that the Kerberos negotiation works.
-The brackets were difficult to handle in this long string.-Triple quotes did not work for the brackets.
I was able to get the exact syntax required by setting a variable to my text and converting to json. I will copy the contents of $json and use that string permanently, substituting some data with future variables:
$json = ‘{“hosttype”:“server”, “address”: [“127.0.0.1”], “parents”: , “tag”: [“demo”], “umiworker”: “gent”, “notes”: “this is a test”, “url”: “http://www.google.com”}’ | ConvertTo-JSON
Now the variable $json shows the correct format required for the json data to be used with curl on Windows put to a Linux box:
“{"hosttype":"server", "address": ["127.0.0.1"], "parents": , "tag": ["demo"], "umiworker": "gent", "notes": "this is a test", "url": "http://
www.google.com"}”

To put this all together:
Create a command variable:
$cmd = @"
curltt.exe -XPUT -H “Content-Type: application/json” -d ‘“{"hosttype":"server", "address": ["127.0.0.1"], "parents": , "tag": ["demo"], "umiworker": "gent", "notes": "this is a test", "url": "http://
www.google.com"}”’ https://someserver/someAPI/v1/name
"@
invoke-expression $cmd
I hope this isn’t too ugly, but I’m a beginner, and it works 