All Query API Resulting Downloading Failing
I don't know if this is a BB issue or MS issue to be honest….
After using Query API, you would normally use HTTP action to download the result. The action's output looks like this NORMALLY:
{
"statusCode": 200,
"headers": {
"Date": "Tue, 10 Feb 2026 02:01:50 GMT",
"Connection": "keep-alive",
"Accept-Ranges": "bytes",
"Cache-Control": "no-store, must-revalidate, no-cache",
"ETag": "\"0x8DE6848484F5C55\"",
"Vary": "Origin",
"request-context": "appId=cid-v1:b11207eb-bfe0-452f-86d1-1234185babcd",
"X-Content-Type-Options": "nosniff",
"x-ms-request-id": "ee25ee14-001e-0001-0331-9a82c8000000",
"x-ms-client-request-id": "abcd1234-6351-4306-bca1-1234185babcd",
"x-ms-version": "2023-11-03",
"x-ms-meta-rowcount": "3627",
"x-ms-creation-time": "Tue, 10 Feb 2026 02:01:18 GMT",
"x-ms-lease-status": "unlocked",
"x-ms-lease-state": "available",
"x-ms-blob-type": "AppendBlob",
"x-ms-blob-committed-block-count": "4",
"x-ms-server-encrypted": "true",
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"Content-Type": "application/json",
"Content-Length": "858274",
"Content-Encoding": "UTF-8",
"Last-Modified": "Tue, 10 Feb 2026 02:01:19 GMT",
"Content-Disposition": "Attachment"
},
"body": {
"$content-encoding": "UTF-8",
"$content-type": "application/json",
"$content": "W3siR0FNT1VOVCI6IjEwMDAiLCJDU1lTSUQiOiIyMDI1ODkiLC……………..=="
}
}
However, started last night ~11:30PM EST, the same exact flow and the same HTTP action, the output looks like this now:
{
"statusCode": 200,
"headers": {
"Date": "Tue, 10 Feb 2026 06:54:48 GMT",
"Connection": "keep-alive",
"Accept-Ranges": "bytes",
"Cache-Control": "no-store, must-revalidate, no-cache",
"ETag": "\"0x8DE6871358297BC\"",
"Vary": "Origin",
"request-context": "appId=cid-v1:b11207eb-bfe0-452f-86d1-1234185babcd",
"X-Content-Type-Options": "nosniff",
"x-ms-request-id": "f8896de8-901e-005e-445a-9a36f4000000",
"x-ms-client-request-id": "abcd1234-5aa5-4e2e-b1cc-1234185babcd",
"x-ms-version": "2023-11-03",
"x-ms-meta-rowcount": "3627",
"x-ms-creation-time": "Tue, 10 Feb 2026 06:54:16 GMT",
"x-ms-lease-status": "unlocked",
"x-ms-lease-state": "available",
"x-ms-blob-type": "AppendBlob",
"x-ms-blob-committed-block-count": "4",
"x-ms-server-encrypted": "true",
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"Content-Type": "application/json",
"Content-Length": "858274",
"Last-Modified": "Tue, 10 Feb 2026 06:54:17 GMT",
"Content-Disposition": "Attachment"
},
"body": [
{
"GAMOUNT": "4000",
"CSYSID": "402970",
"GDATE": "12/31/2008 12:00:00 AM",
"STATUS": "Active",
"DATEADDED": "3/7/2012 3:59:49 PM",
"DATECHANGED": "12/16/2025 2:48:53 PM",
"POSTDATE": "12/31/2008 12:00:00 AM",
"POSTSTATUS": "Not Posted",
"QRECID": "745914"
}
]
}
I know other user does not do what I do, which is shortcut into directly using the $content property and using the base64ToString(body('HTTP_Get_Query_Result')?['$content']) to decode from the BASE64 encoded string to normal string. They use Compose on the body of the HTTP action that auto decode. Can someone who does this differently confirm if they ran into issue or not on their flow?
Answers
-
Don't know if it's related but I'm getting this error on the Parse JSON action - the template originally shared when Query API was released had the data from the HTTP run through a json() expression.
If you remove the expression and just have the direct Body output of the HTTP action run into the Parse JSON action it works correctly, without error.
1 -
Alex, I'm glad you posted this. I use the flow template that you've shared to pull data for Power BI reports and noticed this morning that the flow is failing. I haven't been able to dig into this much yet, but at one point I saw an error that mentioned an issue with "body('HTTP_Get_Query_Result')?['$content" - as you say, it's unclear if this is an issue with Blackbaud or with Microsoft. Hopefully it's a temporary issue!
0 -
For now I have fixed all my query api by doing the following:
- create a Compose action right after the HTTP Download Query Result action and content = dynamic content of Body from the HTTP action
- in all subsequent actions that uses
base64ToString(body('HTTP_Get_Query_Result')?['$content'])anywhere, replace with the Output from the Compose action.
@Austen Brown what you doing works now, BUT if MS or BB revert back to the "old" way, then it will fail, so adding the Compose action should take care of BOTH situation.
3 -
@Alex Wong , do you mind posting some screenshots of the modifications you made?
0 -
@Alex Wong - I don't know if this is related, but my morning gift report via Ad-Hoc query executebyid is now failing.
Where previously the body of the HTTP output would be:
{
"$content-encoding": "cp1252",
"$content-type": "text/csv",
"$content": "longstring"
}The HTTP output is now CSV text:
Gift Date,Gift Type,Gift Subtype,Fund List,Appeal List,Gift Amount,System Record ID,Primary Addressee,QRECID
"2/9/2026 12:00:00 AM","One-Time Gift","Cash/Check", "…"
"2/9/2026 12:00:00 AM","Pledge Payment","Cash/Check", "…"
"2/10/2026 12:00:00 AM","One-Time Gift","Credit Card", "…"0 -
OK, I was able to make this update. In the final Response action, I had the expres" in the Body. I had to replace this entire expression, including the "json()" function, with
0 -
OK, for some reason I'm having trouble posting comments, so let me try again:
I was able to make the update Alex describes. In the final Response action in my flow, I had the expression "json(base64tostring(body('HTTP_Get_Query_Result')?['$content']))". I had to replace this entire expression, the json() function included, with the output of the Compose action in order for my flow to start working again.
1 -
Yes, it is the same issue
0 -
Thank you!
0 -
Would this be the reason my Power BI reports are suddenly not updating?
0 -
likely, but to be sure, you will need to go to the flow and see the actual error from there.
1 -
@Alex Wong, it definitely was! Followed your instructions and @James Belich's comments and looks like it is working again. Thanks!
1 -
@Kelly Hogan , glad you got yours working! And many thanks to @Alex Wong for providing an update so quickly. I didn't find the error messages terribly illuminating, and so I don't know that I ever would have stumbled upon the fix myself. 😊
1 -
For what it's worth, the API changelog (source) includes this change (having to do with response headers), and specifically notes:
For consumers calling to download files via HTTP client or the Microsoft Power Platform, the response body should be interpreted correctly as the file encoding specified in the content-type header. Consumers may have previously needed to decode the content as base64 due to the incorrect headers, but should now be able to read the file content directly from the response body without additional decoding steps.
. . . so that should resolve any concerns about whether you need to conditionally handle this change in behavior.
1 -
@Austen Brown Thank you! I never would have figured this out (& I don't understand this stuff enough to understand @Alex Wong 's answer :) ). Once Co-Pilot wasn't able to help (what it said to have is what I had) I assumed Blackbaud had changed something to make the query results come across differently. That's when I came here. Thanks again!
2
Categories
- All Categories
- 6 Blackbaud Community Help
- 213 bbcon®
- 1.4K Blackbaud Altru®
- 402 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 15 donorCentrics®
- 360 Blackbaud eTapestry®
- 2.6K Blackbaud Financial Edge NXT®
- 656 Blackbaud Grantmaking™
- 576 Blackbaud Education Management Solutions for Higher Education
- 3.2K Blackbaud Education Management Solutions for K-12 Schools
- 939 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 84 JustGiving® from Blackbaud®
- 6.6K Blackbaud Raiser's Edge NXT®
- 3.7K SKY Developer
- 248 ResearchPoint™
- 119 Blackbaud Tuition Management™
- 165 Organizational Best Practices
- 241 Member Lounge (Just for Fun)
- 34 Blackbaud Community Challenges
- 34 PowerUp Challenges
- 3 (Open) PowerUp Challenge: Chat for Blackbaud AI
- 3 (Closed) PowerUp Challenge: Data Health
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Product Update Briefing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports+
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Email Marketing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Event Management
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Query
- 793 Community News
- 2.9K Jobs Board
- 54 Blackbaud SKY® Reporting Announcements
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)





