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
EDO_01_1789
Helper I
Helper I

A web API key can only be specified when a web API key name is provided

Hello to all,

I would like to ask for your help concerning a problem on which I am on for some time...
The subject is about the web api and the possible connection with the web data source.

I would like to connect power Bi with a website called salsify.

On the website I am asked to use the following link https://app.salsify.com/api/orgs/{org_id}/export_runs

In my situation the {org_id} corresponds to the following code: ABCDEFG

I also attach the website of the site where the explanations are developed: https://developers.salsify.com/reference/start-export-run

But when I proceed to register the web link inside power BI, I have the following error message:
"A web API key can only be specified when a web API key name is provided

So I tried to register my APY key within the pop-up window that was displayed, but I still don't know why it doesn't work...
Here is a screenshot of the pop-up window with the error message:

In this case my APY key is : XYZABCD

1.png


THANKS GUYS FOR YOUR HELP !

11 REPLIES 11
EDO_01_1789
Helper I
Helper I

@JirkaZ 
Humm, I hadn't seen your second link and I just read it and applied the method.

but since I'm very bad at programming, I guess my code doesn't mean anything.

here is my code :

let
    SalsifyKey = "pOae0egsjqz12-M5TkZBxuYxzv2DN0cA8Bnalnj3Fqc",
    entity_type= product,


    ProductList = List.Transform(Product),
        each  Number.ToText(entity_type),

    GetElevations = Web.Contents(https://app.salsify.com/api/orgs/s-ce10487b-d3bb-4ee6-9f40-0b854ab97d15/export_runs?access_token=pOae0egsjqz12-M5TkZBxuYxzv2DN0cA8Bnalnj3Fqc
    [Content=Text.ToBinary(PostContents)]),

    {
  "configuration":{
    "entity_type":"product",
    "format":"csv",
    "filter":"=list:default",
    "properties":"'UPC','Product Name','Brand','Main Image','Short Description','Long Description'",
    "include_all_columns":false,
    "sort_order":"desc",
    "sort_property":"Brand"
    
  }
}

in
    #"Converted to Table"

can you help me

First of all you shouldn't post your auth tokens publically.

Secondly - I checked this API call (export_runs) and it really doesn't return any usable data. It only triggers some kind of data export, but doesn't return the values of the data. 

ah sorry , I forgot to blur my identification.

if i understand correctly, i can't extract information from salsify ?

Since you tried, can you send me the M code you wrote

I only tried in Postman to see what it actually returns. 
But to your question - you can extract data from Salsify, but apparently using a different api call.

ok thanks for the information, I will try to find another solution

can you send me your code for the post call ?

I don't have any M code related to your scenario. Here you can find an example of a POST call in the comments. 
Easy POST requests with Power BI and Power Query using Json.FromValue – The BIccountant

 

Also I don't think you'll need to submit a POST request in the end. There are some reporting endpoints in the API which probably utilize the GET commands where you can use the token parameter in the URL.

JirkaZ
Solution Specialist
Solution Specialist

Accordig to the documentation you provided the API doesn't support authentication using an API key. It only supports a bearer token to be used (either in the headers or in the URL). 
Token Authentication (salsify.com)

thank you for your feedback @JirkaZ 
I'm afraid I don't understand?

so the connection with power bi is not possible?

if not, which link should I use?

I am quite new with this kind of subject, can you give me more details?

I thank you for the time you spend with me.

looks,

It means that your URL for the web request should look like: 

https://app.salsify.com/api/orgs/ABCDEFG/export_runs?access_token=YOUR-AUTH-TOKEN
and in the dialog above you should select Anonymous.

 

But I noticed the Export Run is a POST command so it won't be as easy as that. 

You'll have to specify the request body too.
Chris Webb's BI Blog: Web Services And POST Requests In Power Query Chris Webb's BI Blog (crossjoin....

@JirkaZ 
it still doesn't work, I am desperate...

I'll show you my approach:

you asked me to use the following link: "https://app.salsify.com/api/orgs/{org_id}/export_runs?access_token=YOUR-AUTH-TOKEN"

according to the site my {org_id} is here  :
2.png

we will say that in this example it is "ABCDEFG"

 

the second parameter I need is my "YOUR-AUTH-TOKEN".
and still according to the site it tells me that it is here :
3.png

in our example this one is "XYZ"

 

now when I assemble the information in power bi I get this error message

What I want to know is, is this the right approach?

4.png

if so, why do I get this error message

 

5.png

thanks for your help

Did you check the article I linked? I mentioned that because the Export Run API call is a POST request, the URL approach won't work and you'll have to define a POST command. Your approach is working only for GET calls. 

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.