Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hey guys,
so I'm new into power bi and the power query m language and never worked with that.
Basically I'm trying to connect a rest api with my power bi.
In order to get the data, I'll have to perform a POST call with a api key to obtain a beaerer token.
My approach was to use the advanced editor with the web.contents function. But I always get the error "(404) Not found"
Could u guys take a look at my function?
let
GetJson = Web.Contents("URL", [Headers=[#"Content-Type"="application/json", #"X-API-Key"="ABC"]])
in
GetJson
Ps: the endpoint works fine, I tried it on postman and got the bearer token.
I just cant obtain it on power bi.
Solved! Go to Solution.
If the API requires a POST call then you need to put the data in the body, not the header. Consult the API documentation, and then use Json.FromValue() to binary encode the payload.
Like so:
let
URL = "http://xxx/tstat",
headers = [#"Content-Type"="application/json"],
data = Json.FromValue([tmode = 2,t_cool = Setpoint,hold = 0]),
web = Web.Contents(URL, [ Content = data, Headers = headers, ManualStatusHandling = {404, 400}]),
result = Json.Document(web),
...
you are missing the quotes around the key
data = Json.FromValue([apiKey = "123ABC"]),
If the API requires a POST call then you need to put the data in the body, not the header. Consult the API documentation, and then use Json.FromValue() to binary encode the payload.
Like so:
let
URL = "http://xxx/tstat",
headers = [#"Content-Type"="application/json"],
data = Json.FromValue([tmode = 2,t_cool = Setpoint,hold = 0]),
web = Web.Contents(URL, [ Content = data, Headers = headers, ManualStatusHandling = {404, 400}]),
result = Json.Document(web),
...
Hi Ibendlin,
do you mean that I have to put my apikey into the Json.FromValue function?
let
URL = "URL",
headers = [#"Content-Type"="application/json"],
data = Json.FromValue([apiKey = 123ABC]),
web = Web.Contents(URL,[ Content = data,Headers = headers, ManualStatusHandling = {404, 400}]),
result = Json.Document(web)
in
result
It gives ma an error, my api key is mixture of letters and numbers.
my API documentation says:
HTTP Method
POST
Query
A json object contaaining only the "apiKey" field inside.
body: {
apiKey: "xxxxx"
}
you are missing the quotes around the key
data = Json.FromValue([apiKey = "123ABC"]),
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
6 | |
6 | |
3 | |
2 | |
2 |
User | Count |
---|---|
6 | |
5 | |
4 | |
4 | |
3 |