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

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.

Reply
Anonymous
Not applicable

API call for each row - 400 Bad Request

I have a list of parent ID's generated from an intial API call:

bimmylee_0-1675116916539.png

Now I want to call a second API for each row, using each of these parent ID's as inputs, and put it all into one big table. So I made a custom column:

= Web.Contents("https://urlexample.com/webapi/v01.0/eobjects/XMLData/CampaignOpenClickDetails/" & Number.ToText([CampaignID]) & "?pageon=1&pagesize=10", [Headers=[#"User-Key"="key", #"Company"="company",#"UserName"="username"]])

 Now I have successfully made the custom column and I get the Binary content link

bimmylee_1-1675117383412.png

 

but when I click on the Binary link to try and expand it, I get this error:

DataSource.Error: WebContents failed to get contents from 'https://urlexample.com/webapi/v01.0/eobjects/XMLData/%0ACampaignOpenClickDetails/126289?pageon=1&pagesize=10' (400) Bad Request
Details:
DataSourceKind=Web
DataSourcePath=https://urlexample.com/webapi/v01.0/eobjects/XMLData/%0ACampaignOpenClickDetails/126289
Url=https://urlexample.com/webapi/v01.0/eobjects/XMLData/%0ACampaignOpenClickDetails/126289?pageon=1&pagesize=10

I know the headers (masked in this example) are correct because I use the exact same headers for the intial API call. Also, I'm able to successfully make this exact API call in Postman, so I know I have network access and such. What am I missing?

 

 

1 ACCEPTED SOLUTION

To collect detail data from API you need to create 

- Query One with all records (filter only on one for your test)

- Query Two with detail for one record 

- Parameter to send ID to second query 

- Create a function Query Two + Parameter 

- Use custom function in Query one to get detail for all ID

 

Did you do all these steps ? 

 

______________________________________________________

If you found this post helpful, please give Kudos C

View solution in original post

6 REPLIES 6
freginier
Super User
Super User

 

Do you try to call one API manualy ? without your list

 

______________________________________________________

If you found this post helpful, please give Kudos C

Anonymous
Not applicable

Yes I am able to do that successfully. I can call the second API to get detail records for campaign ID 366617 separately, for example. No errors, works perfectly. It's only when I try the same kind of call per each row.

To collect detail data from API you need to create 

- Query One with all records (filter only on one for your test)

- Query Two with detail for one record 

- Parameter to send ID to second query 

- Create a function Query Two + Parameter 

- Use custom function in Query one to get detail for all ID

 

Did you do all these steps ? 

 

______________________________________________________

If you found this post helpful, please give Kudos C

Anonymous
Not applicable

This ordering of steps is what I needed. I have it working now. Thank you!

Anonymous
Not applicable

Hi @freginier, one followup question. The parameter requires me to enter a single "current value", but this causes my visuals on the reporting side to be filtered by that single value which is undesirable. How to I prevent this?

bimmylee_0-1675263981945.png

 

don't worry about this value it's only for first run. When you will create a function based on your parameter the value with change automaticaly

Helpful resources

Announcements
October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors