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

View all the Fabric Data Days sessions on demand. View schedule

Reply
BenWillis
Regular Visitor

REST API for third party workload items

Hi,

 

I have a third party workload installed in my workspace and would like to create a new item programatically using a REST API.

 

I can see in the documentation there is a create item API but it says it is only available for certain item types. I can also see under workload development a create item API but that it is called by Fabric so I don't think I can use it.

 

Is there an API that I'm unaware of that will allow me to create a third party workload item.

 

Any suggestions appreciated. Thank you!

1 ACCEPTED SOLUTION
Teddyb
Microsoft Employee
Microsoft Employee

Currently you won't be able to create REST API for 3rd party workloads. With the release of the Fabric extensibility toolkit we are about to release very soon the ability for Workload Developers declare their item definition and than you will be able to create 3rd party workload items. 
The Fabric  workload development a create item API is only for the workload developer itself to for using workloads programatically. 

Thanks for asking!

View solution in original post

11 REPLIES 11
Teddyb
Microsoft Employee
Microsoft Employee

Currently you won't be able to create REST API for 3rd party workloads. With the release of the Fabric extensibility toolkit we are about to release very soon the ability for Workload Developers declare their item definition and than you will be able to create 3rd party workload items. 
The Fabric  workload development a create item API is only for the workload developer itself to for using workloads programatically. 

Thanks for asking!

Hi @BenWillis ,

As mentioned by @Teddyb ,  Microsoft about to release the feature, to able to create 3rd party workload items.

 

Please refer below Microsoft Fabric Roadmap link.

Microsoft Fabric Roadmap

 

Regards,

Dinesh

Hi @Teddyb , Thank you for the update.

 

Regards,

Dinesh

v-dineshya
Community Support
Community Support

Hi @BenWillis ,

Thank you for reaching out to the Microsoft Community Forum.

 

Public REST API Only supports built-in item types. Workload Development API (Internal Bridge) Called by Fabric, not by external clients. This is how Fabric notifies your workload backend to provision an item when a user initiates creation via the UI or JavaScript API.

 

Please try below options.

 

1. You can expose your own external API that triggers item creation indirectly via Fabric. Create a REST API in your workload backend like POST /create-item that accepts parameters like below JSON code.

 

{
"workspaceId": "GUID",
"itemType": "YourWorkload.ItemType",
"displayName": "My Custom Item",
"creationPayload": { "customConfig": "value" }
}

 

2. Your API should internally call the same logic that your workload uses when Fabric triggers item creation. This means validate the request, Generate a new item ID, Store metadata, Allocate resources and notify Fabric via the Workload Development Create Item API called by Fabric internally, but you can simulate this if you have the right tokens.

 

3. If you want to simulate UI-based creation, you can use the @ms-fabric/workload-client package’s ItemCrudAPI.createItem() method inside a headless browser or automation script.


Note: You need to handle SubjectAndAppToken authentication to simulate Fabric’s internal calls correctly. During development, use the DevGateway to simulate Fabric’s host environment locally.

 

Please refer below links.

@ms-fabric/workload-client package | Microsoft Learn

Build Your Workload - Microsoft Fabric | Microsoft Learn

 

I hope this information helps. Please do let us know if you have any further queries.

 

Regards,

Dinesh

 

This is really helpful thank you. This is the part I need further detais on:

notify Fabric via the Workload Development Create Item API called by Fabric internally, but you can simulate this if you have the right tokens.

 

Do you have anymore information about this API? I cannot find any documentation. Is it the request to `https://wabi-uk-south-redirect.analysis.windows.net/metadata/artifacts/ItemId` with these fields? 

BenWillis_0-1761036723507.png

 

Hi @BenWillis ,

The request shown in your image does appear to be part of the internal Fabric item provisioning flow, the Workload Development Create Item API that Fabric calls when provisioning a third-party workload item.

 

The endpoint     https://wabi-uk-south-redirect.analysis.windows.net/metadata/artifacts/{ItemId}

is consistent with Fabric’s internal metadata service used to store and update item metadata during creation.


Key Fields in the Request:

 

1. objectId: Unique identifier for the item.

2. artifactType: Specifies the type of item (your custom workload type).

3. capacityObjectId: Workspace or capacity context.

4. createdByUserId, modifiedByUserId: Identity metadata.

5. extendedProperties: folderObjectId, folderType: Organizational metadata.

    ownerUserId, permissions, provisionState: Ownership and access control.
    payloadContent: Likely contains workload-specific configuration or initialization data.


Note: These fields are not documented publicly, but they are part of the internal lifecycle Fabric uses to notify your workload service to provision an item.


This API is Called by Fabric, not exposed for external use. Requires internal tokens like SubjectAndAppToken and Fabric context to authenticate. To be used within the Fabric host environment, not from external clients.

 

If you are building an external API to allow users to create items programmatically, you can expose your own API POST /create-item in your workload backend. Internally simulate the provisioning logic that Fabric would trigger to generate an objectId, Populate metadata fields and Store the item in your backend.

 

Please refer below links.

Fabric Workload Development Kit backend authentication - Microsoft Fabric | Microsoft Learn

Overview of Fabric Workload Authentication Guidelines - Microsoft Fabric | Microsoft Learn

 

I hope this information helps. Please do let us know if you have any further queries.

 

Regards,

Dinesh

Internally simulate the provisioning logic that Fabric would trigger to generate an objectId, Populate metadata fields and Store the item in your backend.

 

Okay, I guess we do still need to let Fabric know that the item has been created though, otherwise our requests to the `resolvePermissions` endpoint will fail with a 404 Not Found error. I guess if this API is internal then our only way to provision an item is using the JavaScript SDK?

Hi @BenWillis ,

Thank you for the update.  It appears this issue might require deeper investigation from the Microsoft  Fabric support team. I recommend opening a Microsoft support ticket so they can trace the issue. To raise a support ticket for Fabric and Power BI, kindly follow the steps outlined in the following guide:

How to create a Fabric and Power BI Support ticket - Power BI | Microsoft Learn

 

Regards,

Dinesh

BenWillis
Regular Visitor

@MJParikh Would you be able to clarify what you meant by provisioning an item through an internal bridge? The only way I know of creating a Workload Item is through the JavaScript API through the UI. If we wanted to expose an API to users that allowed them to programatically create an Item how could we trigger this provisioning inside Fabric?

MJParikh
Resolver III
Resolver III

As far as I know, there is no public REST API available. But I can propose the workaround below.

 

“Create item” in Fabric only works for the built-in item types Microsoft lists. Third-party workload item types are not exposed through that endpoint. Those items are provisioned by Fabric on behalf of the workload; using internal calls, the workload registers during onboarding.

What you can do

  1. If you are the workload vendor, you need the Fabric Workload Development onboarding path. Your service provisions items through the internal bridge, not through the public REST surface.

  2. If you are a customer using a third-party workload, ask the vendor. Some vendors expose their own API or UI action that triggers provisioning inside Fabric. There is no tenant-side REST you can call yourself.

  3. For automation, stick to what is supported: service principals, Items REST for native types, Git integration, or Deployment pipelines for native artifacts. Third-party items usually do not support Git yet.

Practical next steps
• Check the supported itemTypes list in the Items REST docs. If your third-party type is not listed, you will not create it via REST.
• Ask the workload vendor for a “create/provision” API or FAB action.
• If you own the workload, request Microsoft’s partner docs for the workload bridge and item registration.

 

Thank you!

Did I answer your question? Mark my post as a solution!

Understood. I'm a workload vendor and have set up the Fabric Workload Development environment. My understanding was that we could only trigger item creator using the JavaScript API within our iFrame according to the documentation here. Could you elaborate on how the service can provision an item through this "internal bridge"? Is there a way to start the item creation flow without using the UI?

Helpful resources

Announcements
November Fabric Update Carousel

Fabric Monthly Update - November 2025

Check out the November 2025 Fabric update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

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.