Forum Discussion
Fabric Rest API - Table Load stopped working for a service principal
I have a lakehouse that we load data into via a C# program which uses the load table rest api to load data from an uploaded parquet file into a table. It was working well until some point in the past few weeks when we started getting the error below (request id redacted but can be provided as needed). It's unclear to me what changed that could have broken things, but a few interesting notes: The service principal that is used had its secret set to expire in a few weeks. We rotated it early, but still did not fix the issue. We have a separate service principal for our UAT environment, when I use that SP instead, everything works normally. Both SPs have Contributor access on the workspace and are pretty much identical in their set up. I tried deleting our production SP from the workspace and re-adding but that did not work. I also tried creating a brand new SP with the same settings as UAT SP and that did not work either. I can't figure out what caused the prod SP to break and/or what's special about the UAT SP. Additionally the error message here provides no help. (Note azure logs show the SP authenticating successfully in all cases).
Thanks for any help or hints on how to troubleshoot more effectively.
{
"status" : "Failed",
"createdTimeUtc" : "2026-04-16T18:11:18.5671674",
"lastUpdatedTimeUtc" : "2026-04-16T18:11:25.8899467",
"percentComplete" : null,
"error" : {
"requestId" : "",
"errorCode" : "LakehouseOperationFailed",
"message" : "The requested Lakehouse operation failed. A retry of the operation may help.",
"isRetriable" : false
}
}
Just as a follow up for anyone else who runs into this issue, after working with Fabric support we determined this is an known issue where the an internal refresh token associated with the SP expires inside of fabric. Calls to the load API do not refresh the token. To refresh the token you have to call control plane APIs (for example, list workspace API) which cause the internal token to refresh.
I'm updating our process to call a control plane API prior to the current load operation to ensure the token always stays fresh.
3 Replies
- MG23New Member
Just as a follow up for anyone else who runs into this issue, after working with Fabric support we determined this is an known issue where the an internal refresh token associated with the SP expires inside of fabric. Calls to the load API do not refresh the token. To refresh the token you have to call control plane APIs (for example, list workspace API) which cause the internal token to refresh.
I'm updating our process to call a control plane API prior to the current load operation to ensure the token always stays fresh.
- lbendlinSuper User
If you have a Pro license you can open a Pro ticket at https://admin.powerplatform.microsoft.com/newsupportticket/powerbi
Otherwise you can raise an issue at https://community.fabric.microsoft.com/t5/Issues/idb-p/Issues .