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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
gcyr
Frequent Visitor

Specified value has invalid HTTP Header characters

Hi,

 

I trying to connect to a secure API using a token and I received the following error:

 

Expression.Error: Specified value has invalid HTTP Header characters.
Parameter name: name
Details:
<Token>

 

Here is my Query :

let
apiUrl = "<ApiUrl>",
options = [Headers =[#" token "= "<Token>"], Query=[#" SQLQuery "=" <SqlQuery> "]],
result = Web.Contents(apiUrl , options)
in
result

 

The characters in my Token are alphanumeric.

 

How do I resolve this error.

 

Thanks!

1 ACCEPTED SOLUTION

Hi @v-jiascu-msft

 

I found a solution to my problem.

There was a couple of issues:

My code should have been 

let
apiUrl = " <APIURL>",
SqlQuery = " <SQL Query> "
options = [Headers =[Token="<Token>", #"Content-Type" = "application/json"], Content = Text.ToBinary(SqlQuery)],
result = Web.Contents(apiUrl , options)
in
result

The Token should not have been in "". I don't know why HTTP did not recognize this header.

The API only accepts POST method, so my SQLQuery should have been submitted as Content.

I also had to specify the Content-Type.

 

Thanks,

Guillaume

View solution in original post

3 REPLIES 3
v-jiascu-msft
Microsoft Employee
Microsoft Employee

Hi @gcyr,

 

The error message said there was something wrong with Parameter Names. I searched this web and found that #" token " isn't a valid header option. Maybe you can try this:

let
apiUrl = "<ApiUrl>",
options = [Headers =[Authorization= "<Token>"], Query=[#" SQLQuery "=" <SqlQuery> "]],
result = Web.Contents(apiUrl , options)
in
result

Or you can try it in this format.

let 
 authKey = "Bearer token",
 url = "https://api.powerbi.com/......",
 GetJson = Web.Contents(url,
     [
         Headers = [#"Authorization"=authKey,
                    #"Content-Type"="application/x-www-form-urlencoded;charset=UTF-8"]
          
     ]
 ),
content = Json.Document(GetJson),
    value = content[value],
    #"Converted to Table" = Table.FromList(value, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"id", "name", "addRowsAPIEnabled"}, {"Column1.id", "Column1.name", "Column1.addRowsAPIEnabled"})
in
    #"Expanded Column1" 

 

Best Regards!

Dale

Community Support Team _ Dale
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi @v-jiascu-msft

 

I found a solution to my problem.

There was a couple of issues:

My code should have been 

let
apiUrl = " <APIURL>",
SqlQuery = " <SQL Query> "
options = [Headers =[Token="<Token>", #"Content-Type" = "application/json"], Content = Text.ToBinary(SqlQuery)],
result = Web.Contents(apiUrl , options)
in
result

The Token should not have been in "". I don't know why HTTP did not recognize this header.

The API only accepts POST method, so my SQLQuery should have been submitted as Content.

I also had to specify the Content-Type.

 

Thanks,

Guillaume

Extremely helpful you are a star Smiley Happy

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

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 Solution Authors