Clear-Host $username = "login" $password = "password" $url = "https://votresite/api/v1/blablabla" $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password))) $MonHeader = @{ "Authorization" = ("Basic {0}" -f $base64AuthInfo); "accept" = 'application/json' } $BodyenJson = @{ "champ1" = 478; "champ2"= "Plop_OUT"; "untruefalse"= $true }| ConvertTo-Json write-host $BodyenJson $Headers = @{ "Headers" = @{ Authorization = "Basic $base64AuthInfo" } } $Result = Invoke-RestMethod $url -Method Post -Headers $MonHeader -ContentType "application/json" -Body $BodyenJson Write-Host "Code $($Result.code)" Write-Host "ErrorMessage $($Result.errorMessage)" Write-Host "InfoMessage $($Result.infoMessage)"