Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
Context
I’m using a service principal that has:
Power BI Admin role
Gateway Admin on the target Enterprise Gateway
Admin on the specific datasource/connection
The necessary API permissions (per MS docs for Gateways/Datasources)
Docs I’m following: https://learn.microsoft.com/en-us/rest/api/power-bi/gateways/update-datasource#examples
We rotate PAT tokens in Databricks on a schedule and want to update the corresponding Power BI gateway datasource (non-VNet gateway) whenever the PAT changes.
I used the sample from the Microsoft “Encrypt credentials” repo to encrypt the payload with the gateway’s public key:
https://github.com/microsoft/PowerBI-Developer-Samples/tree/master/Python/Encrypt%20credentials
Goal
Automate PATCH /gateways/{gatewayId}/datasources/{datasourceId} to update the Databricks PAT for an existing gateway datasource.
Wondering if i an get some help with REST API i get this error no matter what i try - "The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. "
Sample payload
"credentialDetails": {
"credentialType": "Key",
"credentials": "{\"credentialData\":[{\"name\":\"key\", \"value\":\"adad==\"}]}",
"encryptedConnection": "Encrypted",
"encryptionAlgorithm": "RSA-OAEP",
"privacyLevel": "None"
}
Solved! Go to Solution.
Yes, I validated with ChatGPT to confirm the payload was valid. However, I’m directly using the output generated from the localhost instance I set up following this GitHub sample. Has this approach worked for you others
Any suggestions here @Everyone . I have tried manually updating the pat token through GUI that works same token encrypted with the gatewayid seems to not work
Hi @data_turke
Can you confirm when you are creating the new credentials from Databricks that it does not include any of the reserved characters used in base64 encoding?
Yes, I validated with ChatGPT to confirm the payload was valid. However, I’m directly using the output generated from the localhost instance I set up following this GitHub sample. Has this approach worked for you others
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 20 | |
| 11 | |
| 10 | |
| 9 | |
| 9 |
| User | Count |
|---|---|
| 53 | |
| 38 | |
| 36 | |
| 25 | |
| 25 |