HELP Power BI access to FE NXT API

Hello, I am a Power BI user who has had luck getting data via API from other applications, however each API has it's own set of challenges. I have created a ‘subscription’ and defined a general application and gotten the following keys:

Primary access key
Secondary access key
Application ID (OAuth client_id)
Primary application secret (OAuth client_secret)
Secondary application secret (OAuth client_secret)

However, when I run a sample API call https://api.sky.blackbaud.com/accountspayable/v1/departments

Request headers

Header

Required

Type

Description

Bb-Api-Subscription-Key

Property is required

string

Subscription key which provides access to this API. Found in your Profile.

Authorization

Property is required

string

OAuth 2.0 access token obtained from Blackbaud OAuth 2.0 Service. Supported grant types: Authorization code.

in Postman this is the error I get

{
"statusCode": 401,
"message": "The required Authorization header was missing or invalid, or the token has expired",
"status": 401,
"title": "The required Authorization header was missing or invalid, or the token has expired"
}

87b0f7e4069a6dbdc850a85f5f7aa9cd-huge-fe

I'm sure this is something basic with the authentication string--I am not clear where I am supposed to find the access token?

Please help? Power BI allows to make all sorts of REST API http calls but it takes time to figure out the exact set of headers and strings to get what is needed.

Comments

  • Hey @Robert Derby, since the SKY API uses the OAuth2 protocol, authentication to the API requires a Bearer token in the authorization header, like below. That token is good for, I believe, 60 mins. Then it needs to be exchanged for a refresh token. The Power BI custom connector for NXT handles all of the authentication and has FE endpoints available on (though limited right now).

    7e247579e787d960c27426fe594d34a5-huge-im


  • Hi @Matt Thacker , I believe the Power BI Custom Connector is going to be out of date for my needs so I am trying to do this via Power Automate. If I understand (and I really don't), I would use the Power Automate HTTP POST to request a token from the token URL with my username and password as below---

    2c5dd46f61f739484a28454729663397-huge-im

    However, I am not clear what I need to do with the authorization URL also? And what is the redirect URI I need in the application? I don't have an app I am creating for this. My goal here is to get Power Automate to dump some API call data into the dataverse that I can use Power BI to report against on a regular refresh schedule.

    a74eeee1590fb2f65e5f8d93500f0bc7-huge-im
  • @Robert Derby, if you're going to use Power Automate, it'll be a lot easier. Blackbaud has its own custom HTTP request action on one of their connectors. This one will handle all authentication for you and allows you to hit any endpoint on the SKY API (except for Merchant Services).

    1bd8e8b27120503852acea8f1387ae73-huge-im


Categories