Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
Getting the following error when trying to take over dataset using this REST API: https://docs.microsoft.com/en-us/rest/api/power-bi/datasets/take-over-in-group
Following is my code:
#Login using Service Principal
#-------------------------------
cls
$applicationId = "XXXXX"
$clientsec = "XXXXX" | ConvertTo-SecureString -AsPlainText -Force #
$tenantId = "XXXXX"
$resource = "https://analysis.windows.net/powerbi/api"
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $applicationId, $clientsec
Connect-PowerBIServiceAccount -ServicePrincipal -Credential $credential -TenantId $tenantId
# Get token
#-------------------------------
$token = Get-PowerBIAccessToken -AsString
# Building Rest API header with authorization token
#-------------------------------
$authHeader = @{
'Content-Type'='application/json'
'Authorization'=$token
}
#Group and Dataset Parameters
#-------------------------------
$group= "xxxxx" #workspace ID
$dataset= "xxxxxx" #dataset ID
# POST body
#-------------------------------
$postParams = @{
"datasetId" = "$dataset"
}
$jsonPostBody = $postParams | ConvertTo-JSON
$Url = "https://api.powerbi.com/v1.0/myorg/groups/$group/datasets/$dataset/Default.TakeOver"
## Take Over DataSet
#-------------------------------
Invoke-PowerBIRestMethod -Url $Url -Headers $authHeader -Body $jsonPostBody Method -POST -Verbose
The Service Principal has the following permissions:
What am I missing? Please help! Thanks in advance.
@Anonymous instead of
Method -Post
you need
-Method POST
Getting the same error after replacing -POST with POST:
Please read my reply again. Use -Method (note the dash)
Thank you, I changed the code but getting this new error now:
Invoke-PowerBIRestMethod -Url $Url -Headers $authHeader -Body $jsonPostBody -Method POST -Verbose
Looks like
Get-PowerBIAccessToken -AsString
returns more than you need. Investigate that and then only use the auth part.
most likely
$authHeader = @{
'Content-Type'='application/json'
'Authorization'=$token.Values[0]
}
Hmm, maybe the issue is elsewhere. Both
Connect-PowerBIServiceAccount
$headers = Get-PowerBIAccessToken -AsString
$authHeader = @{
'Content-Type'='application/json'
'Authorization'=$headers
}
Invoke-RestMethod -Headers $authHeader -Uri 'https://api.powerbi.com/v1.0/myorg/groups'
and
Connect-PowerBIServiceAccount
$headers = Get-PowerBIAccessToken
Invoke-RestMethod -Headers $headers -Uri 'https://api.powerbi.com/v1.0/myorg/groups'
work for me.
Maybe Invoke-PowerBIRestMethod is the culprit. Use Invoke-RestMethod instead.
Tried this code:
Invoke-RestMethod -Uri $Url -Headers $authHeader -Body $jsonPostBody -Method POST -Verbose
Getting the following error now:
@Anonymous replace the nonunicode "-" sign and type "-" again to each parameter.
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 1 | |
| 1 | |
| 1 |