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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
praphull
Helper I
Helper I

Power BI connection issue with Decipher through API

Power BI connection issue with Decipher through API. We have been using this coonection type since last 4 years. I faced below error from 30th Jan'25. How to resolve error "OData: The format 'application/xml; encoding=utf-8' is not supported". It is reply from Decipher end "For the error you are seeing, that looks to be from the Power BI tool/page. In my testing, I was able to use the API call from the data downloads to successfully make the call to the survey."

praphull_0-1738375337843.png

 

 

3 REPLIES 3
praphull
Helper I
Helper I

Hi Folk,
Plz provide a proper solution. It is still not resolved.

shafiz_p
Super User
Super User

Hi, @praphull 

I think header has a typo, encoding= instead of charset=. In power bi, OData Connector, it relies on the API’s Content-Type header to parse the response. Try append $format=application/xml;charset=utf-8 to the URL to force the correct format, If you prefer the OData connector.

You could also, bypass the default OData connector and use the Web Connector instead to manually parse the XML. 

First fetch the raw response as binary (ignoring the Content-Type header), then convert the binary to Text using UTF-8 encoding and then parse the text as XML. Here is an example (Power Query):

 

 

 let 
     // Fetch the raw response as binary (ignoring the Content-Type header) 
     Source = 
  Web.Contents("https://api.decipher.com/your-endpoint", [Headers[Accept="application/xml"]]),
 
     // Convert the binary response to text using UTF-8 encoding 
     ResponseText = Text.FromBinary(Source, TextEncoding.Utf8), 

    // Parse the text as XML 
    ParsedXml = Xml.Tables(ResponseText) 

in 
    ParsedXml 

 

 

If the API requires authentication or other headers (e.g., API keys), add them to the Web.Contents function:

 

 

 Source = Web.Contents( 
     "https://api.decipher.com/your-endpoint", 
     [
        Headers = [ 
             Accept = "application/xml", 
             Authorization = "Bearer YOUR_API_KEY" 
        ] 
     ] 
), 

 

 
Run the query. If the XML parses successfully, expand the tables/nodes in Power Query Editor
 
If error still exist, use Query Diagnostics to inspect the raw response.
 
This way parsing the XML ensures Power BI doesn’t rely on the API’s incorrect Content-Type header.
 
Hope this helps!!
If this solved your problem, please accept it as a solution and a kudos!!
 
 
Best Regards,
Shahariar Hafiz
 

Hi @shafiz_p ,
It is not resolved. is it currently changes method to connect. 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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