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
Syndicate_Admin
Administrator
Administrator

API Query Error - Unexpected error in JSON input

Hi all,

 

I'm trying to generate an authentication token from an API. The first step in using the API is to generate an API token by sending two parameters in the body of a POST request to the API. I've tried using the following code, but I'm getting an error message -DataFormat.Error: We found an unexpected character in the JSON input. Details: Value=e Position=0

 

Following is the code. Any ideas what's wrong here?

let
url = "https://xxx.xxx.com/api/auth",
headers = [#"Content-Type"="application/json"],
body = "{ ""Param1"": ""XXX-XXX-XXX"", ""Param2"": ""YYY-YYY-YYY""}",
Source = Json.Document(Web.Contents(url,[ Content = Text.ToBinary(body), Headers = headers ]))
in
Source

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

I received some help outside of this forum and was able to resolve the issue. The code that worked correctly follows:

 

let
url = "https://xxx.xxx.com/api/auth",
headers = [#"Content-Type"="application/json"],
body = "{ ""Param1"": ""XXX-XXX-XXX"", ""Param2"": ""YYY-YYY-YYY""}",
Source = Text.FromBinary(Web.Contents(url,[ Content = Text.ToBinary(body), Headers = headers ]))
in
Source

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

I received some help outside of this forum and was able to resolve the issue. The code that worked correctly follows:

 

let
url = "https://xxx.xxx.com/api/auth",
headers = [#"Content-Type"="application/json"],
body = "{ ""Param1"": ""XXX-XXX-XXX"", ""Param2"": ""YYY-YYY-YYY""}",
Source = Text.FromBinary(Web.Contents(url,[ Content = Text.ToBinary(body), Headers = headers ]))
in
Source

Anonymous
Not applicable

Hi @Syndicate_Admin ,

 

The error message you’re seeing is usually caused by an issue with the JSON format. It seems like there might be an extra character at the end of the JSON input.

You can try checking the JSON file in a JSON formatter to see if there are any additional pieces of information that might be causing the issue.

Or please try:

let
    url = "https://xxx.xxx.com/api/auth",
    headers = [#"Content-Type"="application/json"],
    body = Json.FromValue([Param1 = "XXX-XXX-XXX", Param2 = "YYY-YYY-YYY"]),
    Source = Json.Document(Web.Contents(url, [Content = Text.ToBinary(Json.ToString(body)), Headers = headers]))
in
    Source

Best Regards,
Gao

Community Support Team

 

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

How to get your questions answered quickly --  How to provide sample data in the Power BI Forum

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.