Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Belvedere90
Frequent Visitor

REST API / Invalid JSON Request

Hello everyone,

i am trying to connect the Power BI Client to a REST API by a Dataset.

The Dataset i am tryin to run, looks like this:

 

1pbi.jpg

 

I alway get the error, that says, this is an invalid request.2pbi.jpg

I dont get what there is been missing or where the error is? I didnt find anything through researches.

Am I Missing the Authentification (X-RPC-Auth-Username / X-RPC-Auth-Password / X-RPC-Auth-Session)?

If yes, where do i have to insert it?

 

I am very thankful for your help,

Regards

1 ACCEPTED SOLUTION
tonmcg
Resolver II
Resolver II

In the body step of your query, it looks like you're passing a JSON object in the body of the request. A JSON parser would recognize the values for jsonrpc and id as numbers instead of strings. It would also have trouble parsing the value you have for method; it wouldn't recognize it as a string.

I'm not sure what the structure of the request should look like, but it's very likely these values should all be strings.

Try this instead:

let
    url = "...",
    bodyContent = [ jsonrpc = "2.0", method = "cmdb.objects.read", params = [apikey = APIKEY], id = "1" ],
    body = Json.FromValue(bodyContent),
    Source = Json.Document(Web.Contents(url, [Headers = [#"Content-Type" = "application/json"], Content = body] ))
in
    Source

Note: I assume you have the value for APIKEY defined properly elsewhere.

If that doesn't work, try making the same request with Postman.  Also, what does the API documentation say about that -32600 status code?

 

View solution in original post

2 REPLIES 2
tonmcg
Resolver II
Resolver II

In the body step of your query, it looks like you're passing a JSON object in the body of the request. A JSON parser would recognize the values for jsonrpc and id as numbers instead of strings. It would also have trouble parsing the value you have for method; it wouldn't recognize it as a string.

I'm not sure what the structure of the request should look like, but it's very likely these values should all be strings.

Try this instead:

let
    url = "...",
    bodyContent = [ jsonrpc = "2.0", method = "cmdb.objects.read", params = [apikey = APIKEY], id = "1" ],
    body = Json.FromValue(bodyContent),
    Source = Json.Document(Web.Contents(url, [Headers = [#"Content-Type" = "application/json"], Content = body] ))
in
    Source

Note: I assume you have the value for APIKEY defined properly elsewhere.

If that doesn't work, try making the same request with Postman.  Also, what does the API documentation say about that -32600 status code?

 

Sorry for the delay and a big thank you tonmcg !!! It works with the square brackets

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.